v2ex_hot_2026-01-05

V2EX 热门帖子

1. 想买安卓机的心情已到达顶点

自从三年多前来到新加坡,就一直想要体验一下在墙外使用安卓手机的感受。
目前手持 iPhone 15pro
之前短暂体验过小米的几部机子
对于系统个性化和自由折腾的感觉很喜欢
现在想要双持,iPhone 继续用于正经日常的生活工具,包括坐车 apple pay ,身份,银行,工作类的 app 。
安卓就拿来折腾,娱乐,其推荐个好用不贵的。
暂时看上的是一加 15 国内版
价格适中,系统开放性口碑也不错
缺点,跟原生国际版的谷歌体验没法比,比如相册,硬盘等我是谷歌重度用户。
国际版的国产机普遍要贵好多,所以就很难选择!

作者: szsgz | 发布时间: 2026-01-04 12:09


2. 分享一个代码优化导致的死循环

现象: gdb bt 卡在 spinlock_unlock() 位置。

  1. 查了半天代码,我的每一个锁都没有问题。给我看吐血了。

  2. 最后没辙了灵机一动 gdb disassemble 发现这里死循环了:

gdb disassemble

原来是一个标志位没有设置为 volatile ,代码被优化了。大概的代码如下:

while (true) {
    // 多线程中可以被修改的一个标志
    if (flags_1 == STATUS_1) { 
        continue
    }
    // 其他逻辑
    // ... ...
}

但是为什么不是必现的 BUG 呢? AI 给了一堆解释,但是没怎么看懂。

作者: echoechoin | 发布时间: 2026-01-04 02:45


3. 有没有鹅厂程序员,请问电视剧热度值究竟是怎么算的

作者: unt | 发布时间: 2026-01-04 12:00


4. 感觉 gemini3pro 真的变蠢了。

搞了好多天 gemini3pro 都解决不了的问题,deepseek 给我解决了。
我真是太盲目的迷信 gemini3pro 了,浪费了我好多时间。
另外我发现 gork4 也真的是一坨,就没写成功过我想要的效果

作者: sq4537 | 发布时间: 2026-01-03 01:55


5. win10 开始菜单索引改变

求助 V 友

用的 win10 中文 terminal 在开始菜单中显示的是终端 在英文版系统中,我只需按下 Win 键,然后输入 “T”,开始菜单就能立即列出 Terminal 应用。但在中文版中,由于应用名称是中文,这个快速索引方式就失效了。

请问有没有什么方法,比如创建别名或重命名,让我能够通过英文名称在开始菜单中快速访问这个应用?

目前网上查询过一种直接改应用名的,但是可能由于 terminal 的特殊性,并不能直接在开始菜单重命名

作者: BlackSnow | 发布时间: 2026-01-04 14:03


6. 为啥国服腾讯云登录方式把 passkey(通行密钥)阉割了?

不理解,也不想尊重

作者: livenpc | 发布时间: 2026-01-03 16:57


7. vscode(Windows WSL2)插件配置怎么导入 antigravity 呢?

调了半天,导入之后发现加载不出来放弃了,似乎它现在只能导入 Linux 环境下的,有没有人成功的?

作者: COW | 发布时间: 2026-01-04 13:54


8. 2026 年第一次针灸,大伙要保护好自己呀

如其,去年搞低头族自动寻路的时候太多了,加上看电脑的时候有时会情不自禁地脖子前伸,给颈椎上了很大压力,今年元旦是真的遭不住了,放假这几天过得非常劳累,你要是手或者腿累了,对应的部位搁着不动就还好,但颈椎痛真的就是那种无孔不入的,时刻尾随的附骨之蛆,太难受了。赶着开工的第一天去骨科医院做了一个针灸。

整个骨科医院基本都看不到我这个年纪的患者,都是来做护理的大爷大妈。真挺难绷的,一旦意识到到以前对待自己的身体是有多草率就格外后悔。

医生说我的颈椎已经左倾,建议我这边做四个方向的对抗训练锻炼肌肉,以及平时注意收下巴,要严防头前倾和低头的情况,希望还不算为时过晚吧

希望大伙新的一年都平平安安,身体健康,发展的过程中也别忘了爱护自己的身体

作者: doctorzry | 发布时间: 2026-01-04 08:50


9. Gemini 和 Claude Sonnet 对比:

感觉 Gemini 比 Claude Sonnet 还是差点意思!

作者: Rust2015 | 发布时间: 2026-01-04 07:42


10. 求各位佬帮我决定一下 11 还是 10

设备是联想的 T440P ,cpu 是 i7-4700MQ ,内存 8G
不确实是安装 win10 还是 win11 。除了 windows 系统之外还考虑安装一个 Linux 的双系统,求各位佬根据实际体验给一些建议

作者: MuskZhou | 发布时间: 2026-01-03 10:09


11. 家里装修,水电师傅死活推荐大几百块的反冲洗前置,我说想上 大白瓶被鄙视了,到底谁是智商税?

我看网上很多评测说反冲洗那种滤网其实没啥用,漏网之鱼很多,不如直接上 20 寸大白瓶( PP 棉)过滤得干净,而且耗材也便宜。

结果水电师傅说大白瓶换芯麻烦,容易爆瓶,还影响水压,死活让我装那种铜头的反冲洗。

想问问大佬:

反冲洗真的是智商税吗? 感觉 40 微米连泥沙都拦不全。

装大白瓶的 V 友多吗? 实际维护起来(换芯)真的会搞得满地水很崩溃吗?

室内 100 平米小户型,有没有必要为了大白瓶牺牲厨下的空间?

作者: qianyidui5 | 发布时间: 2026-01-04 06:08


12. 我的第二款记录 App 来了,又来寻求热心小伙伴帮助,过 Google Play 的封闭式测试了。

之前「九零日志」封闭式测试的时候,同样在此寻求过在帮助,目前「九零日志 App 」已经正式在 Google Play 上架,并且已完成了国内 App 的备案,离不开各位热心 V 友的支持。

相关帖子:
https://www.v2ex.com/t/1163852
https://www.v2ex.com/t/1178915

此次「九零事件」 App 的封闭式测试,第一时间依然想到来 V 站寻找测试用户,App 当前已经提交国内备案,正在审核中,预计 1-2 天就会通过,请大家放心测试~

之前已经给我发送过 Gmail 的小伙伴,无需重复再发送了。我会默认加入到测试用户列表中,当然您也可以选择不参与九零事件的测试,计划参与测试小伙伴,先在此谢谢了。

关于 App

一句话简介

记录事件时间线,追踪事件进展,探索事件频率、预期以及生辰,用数据丈量余生,让每个瞬间有迹可循。

640.webp

完整功能介绍

九零事件:为你的人生建立时间坐标系

生活是由无数个“事件”组成的。有些是日常的琐碎,有些是里程碑式的跨越。九零事件是一款专注于事件记录、时间线追踪与多维数据统计的量化自我工具。我们帮助你从时间的流逝中捕捉规律,在数据的积累中洞察生活。

img

核心功能亮点:

1 、三种形态,覆盖生活全场景

  • 普通事件:记录发生的时间点,适用于“打卡”、“纪念日”或“里程碑”。
  • 选项事件:记录时进行选择,适用于“心情记录”、“天气”、“习惯追踪”(如:早起/熬夜)。
  • 数值事件:记录具体数据的变化,适用于“体重记录”、“开销”、“运动时长”或“阅读页数”。

2 、强大的时间线与统计功能,告别模糊记忆,让数据说话

  • 时间维度:精确计算距今时间、发生频率、平均间隔,并预测下一次可能发生的时间。
  • 数据透视:分布图展示选项占比,了解你的行为模式。自动计算累计值、平均值、最大/最小值,轻松掌握趋势。

3 、事件的人生计算器,是一个记录工具,更是你的人生哲学伴侣

  • 生之时:为事件设置预期的「寿命」截止日期,估算事件当前状态,是如朝阳般冉冉升起,还是如夕阳般渐渐落幕。
  • 死之钟:基于事件的发生频率,计算该事件在你的余生中还能发生多少次。“还能见父母多少次?”“还能看多少次海?”——通过量化余生,让你更加珍惜当下的每一次发生。

img img

4 、隐私至上,数据自主

  • 本地优先 (Offline First):你的数据完全属于你。默认存储在手机本地,无网络也能流畅使用,无需担心隐私泄露。
  • 按需分享:支持将特定的事件生成精美卡片或链接分享到云端,与朋友共享你的成就或时刻,一切由你掌控。

img img

5 、更多贴心功能

  • 收藏事件:本地收藏事件中的精彩瞬间;
  • 多维度展示:快速回顾历史轨迹。

九零事件,帮你理清过往的脉络,看清未来的方向。

感谢

感谢纯银的生辰 以及王登科的Becord ( iOS 平台),这两个产品给九零事件 App 的设计提供了很多的灵感。

注意:封闭式测试仅面向测试用户,直接在 Google Play 上是搜索不到的,想要参与测试的小伙伴,可以联系我,将 Gmail 邮箱发给我。

我在 Telegram 上建了一个群,欢迎加入。
喜安静的,可关注 Channel 获取最新动态。https://t.me/diary_90byte
喜聊天的,可加入 Group 交流需求/问题/BUG 。https://t.me/diary_90byte_group

作者: pengloo53 | 发布时间: 2026-01-04 08:40


13. 关于低代码的选型,请佬们帮我分析一下

目前我们想做的是一个可以通过 schema 来自由渲染页面的低代码平台,以支撑业务的发展。例如站里之前有大佬写的 nocobase 就是很好的目标。 目前在纠结使用 Formily 还是 RJSF 。 根据 AI 的回答,Formily 更适合,因为它内部就是一个状态机,而 RJSF 很容易把逻辑外溢到 react 代码中。 但是目前 Formily 跟 React19,next16 兼容性比较差,而且我见已经很久没有更新了。

佬们是否有比较好的建议呢?

作者: TingLen | 发布时间: 2026-01-04 06:48


14. [开源自荐] AI Selector:一款通用 AI 配置组件,让你的应用快速接入 20+ LLM AI 厂商

如果你正在开发一个需要用户配置 AI 服务的应用,可能会遇到这些问题:
1.需要对接多家 AI 厂商( OpenAI 、Claude 、Gemini 、DeepSeek…),每家 API 格式都不一样
2.需要维护一长串模型列表,还要时刻关注厂商更新
3.还要设计一套 UI 让用户方便地选择和配置

AI Selector 内置 20+ 主流 AI 厂商配置可自定义扩展、模型列表智能管理、API Key 安全存储、连通性测试、配置持久化和 API 统一处理。为 React 和 Vue 提供一致的 AI 服务接入体验

在线演示: https://tombcato.github.io/ai-selector/react/index.html
开源地址: https://github.com/tombcato/ai-selector

aiconfig_mockup.gif

文字替换特效采用 Smart Ticker: https://www.v2ex.com/t/1182000 smartticker3 \(1\).gif

作者: hibear | 发布时间: 2026-01-04 09:22


15. 华为擎云 W515X 支持运行 openSUSE 等发行版吗

电脑硬件配置大致如下:

  • CPU:HUAWEI Kirin 9000C
  • 内存:16GB LPDDR5 6400MT/s
  • 存储:256GB UFS + 1T 西数机械硬盘

目前运行的是银河麒麟 V10 SP1 系统,用 Ventoy 引导安装官网下载的镜像很顺利。不过尝试启动 ARM 版 openSUSE 不成功,grub 界面选择安装系统后直接黑屏无任何反应。参考 鲲鹏 920 台式机安装 修改内核启动参数也没有效果。

作者: xiaofami | 发布时间: 2026-01-04 08:21


16. XXL-JOB v3.3.2 发布 | 优雅停机、Docker Compose、健壮性增强

XXL-JOB 正在角逐 “2025 年度 Gitee 最受欢迎的开源软件”,期待您投出宝贵一票,你的认可对我们很重要 🌹~

Release Notes

  • 1 、 [优化] 优雅停机:调度中心停机,检测时间轮非空时主动等待调度完成;客户端停机,检测存在运行中任务时,停止接收新任务并主动等待任务执行完成;
  • 2 、 [新增] 新增 Docker Compose 配置,支持一键配置启动调度中心集群;
Docker Compose 启动步骤:
1
2
3
4
5
6
7
8
// 下载 XXL-JOB
git clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-job/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-job.git
// 构建 XXL-JOB
mvn clean package -Dmaven.test.skip=true
// 启动 XXL-JOB
MYSQL_PATH={自定义数据库持久化目录} docker compose up -d
// 停止 XXL-JOB
docker compose down
  • 3 、 [优化] 调度中心操作体验优化:表格交互调整为单行选中模式;禁用分页循环;优化分页限制文案;
  • 4 、 [优化] 调度线程事务提交逻辑调整,避免边界条件下线程异常退出,增强健壮性;
  • 5 、 [优化] 调度日志列表排序逻辑优化,提升易读性;
  • 6 、 [优化] 调度中心 OpenAPI 通讯 token 调整为非必填;合并 PR-3892 ;
  • 7 、 [优化] 执行器详情接口权限调整,支持普通用户查看注册节点;合并 PR-3882 ;
  • 8 、 [优化] 任务参数 LogDateTime 生成逻辑调整,分片广播场景下保障同一批调度一致;
  • 9 、 [升级] 升级多项 maven 依赖至较新版本,如 spring 、netty 、xxl-sso 、xxl-tool 等;
  • 10 、 [优化] 统一项目依赖管理结构,依赖版本统一到父级 pom 提升可维护性;

任务开发示例

XXL-JOB 支持多模式任务,下文以简单的“Bean 模式任务”为例介绍,三步快速开发接入。

步骤一:执行器,开发 Job 方法
@XxlJob("demoJobHandler")
 public void demoJobHandler() throws Exception {
    XxlJobHelper.log("XXL-JOB, Hello World.");
}

步骤二:调度中心,新建调度任务

img_ZAsz.png

步骤三:任务执行,查看任务进度及日志

img_eYrv.png

简介

XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

img_Qohm.png

特性

  • 1 、简单:支持通过 Web 页面对任务进行 CRUD 操作,操作简单,一分钟上手;
  • 2 、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;
  • 3 、调度中心 HA (中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心 HA ;
  • 4 、执行器 HA (分布式):任务分布式执行,任务”执行器”支持集群部署,可保证任务执行 HA ;
  • 5 、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
  • 6 、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
  • 7 、触发策略:提供丰富的任务触发策略,包括:Cron 触发、固定间隔触发、固定延时触发、API (事件)触发、人工触发、父子任务触发;
  • 8 、调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;
  • 9 、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
  • 10 、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
  • 11 、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;
  • 12 、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式;
  • 13 、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH 、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
  • 14 、分片广播任务:执行器集群部署时,任务路由策略选择”分片广播”情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
  • 15 、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
  • 16 、故障转移:任务路由策略选择”故障转移”情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。
  • 17 、任务进度监控:支持实时监控任务进度;
  • 18 、Rolling 实时日志:支持在线查看调度结果,并且支持以 Rolling 方式实时查看执行器输出的完整的执行日志;
  • 19 、GLUE:提供 Web IDE ,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持 30 个版本的历史版本回溯。
  • 20 、脚本任务:支持以 GLUE 模式开发和运行脚本任务,包括 Shell 、Python 、NodeJS 、PHP 、PowerShell 等类型脚本;
  • 21 、命令行任务:原生提供通用命令行任务 Handler ( Bean 任务,”CommandJobHandler”);业务方只需要提供命令行即可;
  • 22 、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
  • 23 、一致性:“调度中心”通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
  • 24 、自定义任务参数:支持在线配置调度任务入参,即时生效;
  • 25 、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
  • 26 、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
  • 27 、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
  • 28 、推送 maven 中央仓库: 将会把最新稳定版推送到 maven 中央仓库, 方便用户接入和使用;
  • 29 、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
  • 30 、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行;
  • 31 、跨语言/OpenAPI:调度中心与执行器提供语言无关的 OpenApi ( RESTful 格式),第三方任意语言可据此对接调度中心或者实现执行器,实现多语言支持。除此之外,还提供了 “多任务模式”和“httpJobHandler”等其他跨语言方案;
  • 32 、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
  • 33 、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub ,进一步实现产品开箱即用;
  • 34 、线程池隔离:调度线程池进行隔离拆分,慢任务自动降级进入”Slow”线程池,避免耗尽调度线程,提高系统稳定性;
  • 35 、用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;
  • 36 、权限控制:执行器维度进行权限控制,管理员拥有全量权限,普通用户需要分配执行器权限后才允许相关操作;
  • 37 、AI 任务:原生提供 AI 执行器,并内置多个 AI 任务 Handler ,与 spring-ai 、ollama 、dify 等集成打通,支持快速开发 AI 类任务。
  • 38 、审计日志:记录任务操作敏感信息,用于系统监控、审计和安全分析,可快速追溯异常行为以及定位排查问题。
  • 39 、优雅停机:调度中心停机,检测时间轮非空时主动等待调度完成;客户端停机,检测存在运行中任务时,停止接收新任务并主动等待任务执行完成;

作者: xuxueli | 发布时间: 2026-01-04 08:55


17. pro 用户,无法使用 antigravity 的 AI;这咋回事

image

系统 Antigravity Version: 1.13.3 VSCode OSS Version: 1.104.0 Commit: 94f91bc110994badc7c086033db813077a5226af Date: 2025-12-19T21:03:14.401Z Electron: 37.3.1 Chromium: 138.0.7204.235 Node.js: 22.18.0 V8: 13.8.258.31-electron.0 OS: Darwin arm64 24.3.0 Language Server CL: 846830895

作者: taobeer | 发布时间: 2026-01-04 01:52


18. 商场里摸机有个疑问

想换小屏机,去商场里感受了两款,有两个问题。

一是小米 17 标版的贴膜,黑色机器的膜比其他颜色版的要宽一点点,导致非黑色版的机器左右滑的时候有割手感,不知道膜的宽度是否有不同颜色版本的区分?

二是 oppo x9 标版的相机打开后,画面灰蒙蒙的,2 个样机拍出来也是这这个调,因为时间赶不及,没仔细研究就离开了,后来想会不会是样机都开了某个滤镜导致?按理说 x9 的照相是相当好的

作者: jaleo | 发布时间: 2026-01-04 04:59


19. [Google Antigravity 提示: You are ineligible for higher rate limits through a Google Al plan at this time.

View plans](https://www.v2ex.com/t/1182862#reply9)

怎么办,好郁闷!

作者: Rust2015 | 发布时间: 2026-01-03 23:36


20. 写了个 Agent Skills Marketplace 的 VS Code extension

前几天和大家分享了我写的 Code Runner Agent Skill:

https://github.com/formulahendry/agent-skill-code-runner

发现大家对 Agent Skills 的关注度还是很大的。

于是,我就想着是不是能把 Code Runner Agent Skill 发布到哪个 Agent Skills Marketplace 上面。

结果,搜索了一番,似乎并没有找到一个很好用的 Agent Skills Marketplace 。

所以,我就自己就用 AI 写了个 Agent Skills Marketplace 的 VS Code extension 玩玩。

还得是 AI ,三下五除二,很快就写好了。

如此一来,在 VS Code 中,搜索🔍、安装📦、运行🏃 Agent Skills ,一气呵成,如丝般顺滑~

关于 Agent Skills 是啥,之前的文章已经详细介绍了:

Code Runner Agent Skill 来了!

欢迎试用或者围观 Agent Skills Marketplace for VS Code:

https://github.com/formulahendry/vscode-agent-skills

代码完全开源!

作者: formulahendry | 发布时间: 2025-12-24 00:11


21. 微软 AI 这么厉害,应该用 AI 重构 windows

windows 的文件管理器老是卡死重启,长时间不关机内存越占越多。

作者: wsseo | 发布时间: 2026-01-04 03:51


22. 2026 年了,现在开发 agent,是用 langchain+langgraph 还是模型厂家 SDK

Claude SDK 支持切换为 deepseek ,qwen 等国内模型吗

作者: unt | 发布时间: 2026-01-04 02:52


23. Android 端各种输入自然语言操控手机的产品/库/解决方案 层出不穷 但感觉也就那样?

底层实现无论是基于无障碍系统还是截图后纯视觉识别,效果上都大差不差。好像没有很亮眼以及有差异化能力的?

作者: iflint | 发布时间: 2026-01-04 02:27


24. 折腾两天还是换回 Manjaro

回想起来 manjaro 已经用了快 10 年,工作生活都一直在使用

其实自己一直都不是那种爱折腾的人,所以我对各种发行版有什么好坏根本没什么感知,包括对各种 ui 美化啥的更是无感,只是觉得不要折腾开箱即用,能支持软件齐全就行

前两天把好久没滚的 manjaro 更新了,应该是 plasma6 默认上 wayland 有点问题,导致屏幕各种撕裂、斑块,其实只要安装一下 X11 模块就好,但感觉风评越来越差的 manjaro 还会这或那的问题,所以索性打算换 mint 了

刻录、安装一共花费约半小时,进到里面有种很“稳”的感觉,虽然整体没有 kde 那种丝滑和设计美感,但也还能接受。 我唯一的要求是各处的 UI 的字体必须同一 必须是:默认无衬线且组合为思源黑体+思源宋体+source code pro 然而 mint 的字体设置偏偏没法去设置衬线/无衬线,等宽设了也没用,一番 debug 下来也不知道是哪个优先级最高的文件生效了,自己手工定义的也没用

随后折腾了下下拉终端 Guake ,它快捷键设置居然没法对切分的窗口做切换和单独关闭,只能关闭整个当前标签页,而 github 上有个关联 issue 已经提了 4 年

后来发现默认的 bash 没有太多预定义样式和插件,而自己手工安装的 zsh 怎么都配不成习惯的样子

至此对该系统的试用已经结束了(中间省略其他不顺手)当然我非常清楚这我对 mint 感觉不佳是因为 我的“不习惯”产生,并不是系统本身存在什么问题 考虑到要把一切弄成“习惯”的样子所花费的时间成本,那为什么我不直接换回去呢,所以至此还是决定换回更熟悉的 manjaro ,直接解决遇到的问题

就在如此短暂的试用中我还是能感受到 mint 的优点的,比如其包管理机制安全性是显著高于 manjaro 的,还有桌面的稳定性也比 kde 高,其 shell 默认是干净的在一些人看来也是优点

总结下现在知道了自己对操作系统的要求是生产力工具,在各种场景下“熟悉感”是第一决定因素。 至于 manjaro 自身的问题,只能说以后多滚吧😂另外祈祷下维护团队多做些测试

作者: extrem | 发布时间: 2026-01-03 17:00


25. 如何用 AI + OpenSpec 驱动团队迭代开发

原文地址:如何用 AI + OpenSpec 驱动团队迭代开发

从混乱到有序,从口口相传到知识沉淀,我们用一次实践探索了 AI 辅助团队开发的完整架构

一个真实的痛点

你是否遇到过这样的场景:

  1. 写个正则表达式? AI 秒杀我。
  2. 写个独立脚本? AI 真香。
  3. 写个炫酷网页? AI 真牛 X !

但是一旦将 AI 扔进一个庞大的微服务项目里,它似乎立刻降智为了“新手小白”?

由于 AI 无法理解三年前写下的那段“奇葩代码”究竟为何,导致每次对话都像“开盲盒”,Review AI 生成代码的时间,比自己重写一遍还要长。

这些问题的本质其实是:缺乏一个结构化的、AI 可理解的知识管理体系

最近,我们在一个复杂的微服务项目中,探索并实践了一套 “人机协同迭代开发”的完整架构 。整个过程没有额外编写一行工具代码,仅通过对话和现有工具链,就让 AI 从“项目小白”成长为“熟悉业务的开发伙伴”。

本文将完整还原这一过程,并总结出可复制的方法论。

第一步:建立 AI 可理解的“项目大脑”

大多数团队的文档是写给人看的,而非 AI:

  • ❌ 飞书/Confluence/Wiki 里的设计文档太多,太杂。
  • ❌ 散落在各处的 README → AI 抓不住重点。
  • ❌ 资深员工脑中的隐性知识 → AI 永远学不会。

我们的解法是引入 OpenSpec 规范,并基于它构建一整套“知识迭代体系”。

OpenSpec 核心理念极其简单:让 AI 明确知道“知识在哪、如何用、以及为什么这样做”。

1.1 搭建“知识骨架”

无论是新项目还是历史项目,第一步都是通过命令行初始化一个标准的知识目录结构:

cd /path/to/your-project
openspec init

生成的目录结构,便是项目的“知识骨架”:

openspec/
 ├── AGENTS.md       #  [大脑指令]  AI 工作指南(开发规范、测试策略、错误码设计等)
 ├── project.md      #  [长期记忆] 项目上下文(目标、核心术语、文档索引)
 ├── specs/          #  [技能树] 已实现能力的规范(做了什么)
 ├── changes/        #  [短期记忆] 待处理的变更提案(要做什么)
 └── docs/           #  [知识库] 详细文档(为什么这样做)

此举的核心在于为 AI 提供一个明确的结构化索引,而非一股脑地塞入所有文档。

其中 docs 并非 OpenSpec 规范,而是自行创建的目录,后续用作详细索引时使用,需要手动创建。

1.2 让 AI “认识”你的项目

对于已有项目,AI 起初面对一片空白。我们采用 “索引层 + 明细层” 的双层结构来填充知识。

索引层([AGENTS.md](http://AGENTS) & [project.md](http://project)

这里不写长篇大论,只提供“地图”。

  • [AGENTS.md](http://AGENTS):定义 AI 的核心开发规范(如命名、错误码、测试策略)。
  • [project.md](http://project):阐述业务共性知识(如项目目标、核心术语、需求概要),并指明各项详细文档在 docs/ 中的位置索引。

明细层(openspec/docs/:这里存放真正的“干货”:详细的架构设计、复杂的需求文档、业务逻辑说明。

工作流形成闭环:当 AI 接到任务 → 先读 [AGENTS.md](http://AGENTS)(获取规范)→ 再读 [project.md](http://project)(获取业务背景)→ 根据索引定位到 docs/ 下的具体文档 → 深刻理解上下文后开始工作。

最棒的是:你无需手动编写这些索引。只需发起一个 OpenSpec 提案,通过对话引导 AI 自己去梳理项目架构和业务,它便能自动生成初始的 [project.md](http://project) 内容。

知识迭代提示 :后续在 docs/ 下维护新知识时,需引导 AI 基于更新后的知识库,重新总结生成新的 project.md 。为此,我们可以定义一个《文档管理指南》作为准则,确保 AI 每次迭代时都能遵循,从而保障业务知识的持续有效性和一致性。

第二步:协作机制——像管理代码一样管理“知识”

建立了初始知识库,还需让知识随着项目迭代而更新。我们引入了一套 Change-Driven (变更驱动) 的协作流程,并将其作为团队核心准则严格执行。

所有新的需求或变更,都必须严格通过 OpenSpec 发起提案:

  1. 需求变更 → 发起 OpenSpec 提案
    • 开发新需求时,必须通过 OpenSpec 创建提案(changes/[proposal-xxx.md](http://proposal-xxx))。
    • 人工审查重点:核对 AI 生成的提案中 Why (背景)、What (目标)、Impact (影响) 是否清晰一致,确保人与 AI 的理解对齐。
  2. AI 辅助实现
    • AI 读取已通过的提案,结合 specs/ 中已有的能力规范,生成或修改代码及测试用例。
    • 人工进行 Code Review 。
  3. 知识沉淀(归档)
    • 运行 openspec archive 命令。
    • AI 将自动把本次变更所涉及的新知识、新规范,更新到 specs/docs/ 中,完成知识入库。

通过这个流程,每一次需求迭代及其产生的代码,都完整地闭环并沉淀到 OpenSpec 体系里。AI 在处理后续需求时,便有了可追溯和借鉴的“历史经验”。

实践建议与场景考量

在实际操作中,你还会遇到一些具体问题,例如:

Q:微服务项目下子服务众多,应该每个服务初始化一套 OpenSpec ,还是整个项目共用一套?

我们的经验则是:基于知识独立性进行判断

  • 如果某个模块(如用户中心)的业务知识与其他模块重合度很低(例如<30%),独立初始化一个 OpenSpec 目录是更清晰的选择。
  • 如果多个服务共享大量共性业务知识(重合度>70%),共用一套 OpenSpec 更能保证知识的一致性和 AI 的理解效率。

不同的业务架构需要灵活采用不同的策略。

走向“人 + AI”的团队协作

当这套以知识为核心的迭代体系稳固运行后,你会发现:

  • 隐性知识被彻底显性化。
  • 新成员(包括 AI ) 学习成本大幅降低。
  • 在后续编写接口文档、架构迭代或代码重构时,AI 的效能将被成倍放大。

未来的高效团队协作,是 “人 + AI” 的深度融合。让 AI 成为团队忠实的“知识伙伴”而不仅仅是临时的“代码助手”,这,才是 AI 时代团队开发的正确打开方式。


欢迎日常交流

AI 驱动团队开发是这个时代的新命题,欢迎大家加微信互相交流心得。

👉 想要进群的朋友,扫码时备注 “AI 实验群”,看到消息后会第一时间拉你进群。

群定位:AI 工具提效/实战经验互助 群规则:不水群、不广告、干货优先

欢迎访问该链接获取群信息: https://zhaozhihao.com/archives/KRMxDLo4


好文章值得被更多人看见!既然看到这里了,随手点个赞👍和关注,并转发给更多的朋友吧!感谢。

作者:数字生命贾克斯、微信:x_h886688

个人网站文章地址:如何用 AI + OpenSpec 驱动团队迭代开发

作者: dearzhzhao | 发布时间: 2026-01-04 14:50


26. 阿里 ESA 推荐

阿里云 ESA 相比 Cloudflare ,更贴近国内网络与业务生态,性能稳定、响应更快,安全与加速一体化体验成熟。不是噱头,而是长期打磨后的工程能力,适合真正追求可靠性的团队。

pic

ESA 免费领取链接: http://s.tb.cn/e6.0Fu67m

作者: oyama | 发布时间: 2026-01-03 14:56


27. 求助,群晖存储池在线重组失败

一觉起来发现群晖有个盘出问题,提示我在线重组,但点了之后显示重组失败,按提示重启再次尝试重组也不行(单盘的 basic 模式)。看了一下盘的 smart 情况显示良好,求助一下各位大佬还有什么办法吗?

作者: Qhunt | 发布时间: 2026-01-03 15:03


28. 咨询 Google AI pro 白嫖教程,适合 Antigravity

元旦放假闲来无事,基于 Antigravity 的 claude 免费额度太少,7 天才更新一次,想搞下 Google AI pro 的学生认证,白嫖一年,但教程里学生认证 https://batch.1key.me/一直失败,提示 IP likely banned. Use another USA IP.想问问各位大佬是怎么操作的。咸鱼上操作是否靠谱? 1 、1key 一直提示。IP likely banned 如何解决?image-20260102192713947 2 、咸鱼上操作是否靠谱? 3 、我在 L 站看到相应的教程,需要登陆才有打开打开,但 L 站的注册的门槛很高,哎。

作者: Seawalker | 发布时间: 2026-01-02 11:29


29. windows11 系统关联的格式总是失效是什么原因呢

也没有安装删除软件,也不是格式关联到其他软件了,而是本来好好的变成了没有关联了,或者变成 windows 带的应用格式了,比如视频有时候变成了 Windows Media Player 打开,或者变成了未关键双击变成选取应用程序的样式了。
请问各位大佬是怎么回事,有什么办法固定吗,比如视频我用的是 potplay 。

作者: xingye163 | 发布时间: 2026-01-03 13:28


30. 最近在研究 ai 变声 太爽了

打游戏 全是舔狗

目前两台电脑 一台推理 一台打游戏. 副机推理的声音作为主机的麦克风输入
完美解决了 1 个显卡压力太大的问题

作者: baby0w0 | 发布时间: 2025-12-30 01:56


31. NAS 怎样使用 ai 项目?

各位好

nas 能用 gpu 吗?

如果不能用,大家在 nas 上安装的 ai 项目可能就会比较慢,对吧

这个怎么解决呢?谢谢

我查了一下,似乎只有少数高端 nas 有 gpu ,难道 nas 就只能用于下载或者运行一些普通项目?

作者: guiyumin | 发布时间: 2026-01-02 07:46


32. 似乎只要账号超级干净就能用 Antigravity

目前简中的说法都是”谷歌账号归属地须与支持 Antigravity 的节点 IP 一致”才能用 Antigravity 。

我刚才用个超级干净的账号测试,发现只要账号是支持地区的就行,并不完全要求”一致”,例如 JP 账号配 US 节点也能用。

超级干净定义:谷歌账号从注冊、使用到支付都没接触过不支持 Antigravity 的地区 (CN / MO / HK 等)。

账号:台湾注冊 + EULA 地区台湾 + Play 地区日本 + 无付款方式 + 15 年老号

节点:奥地利

作者: 383394544 | 发布时间: 2026-01-01 21:03


33. 赶着末班车, 还是定了谷歌 99 刀一年会员

虽然前阵子也搞了个学生白嫖

不过担心那天失效

还是上车了, 我需要得是一年稳定使用

600 多块钱肯定是值得

也不想 ide 啥的换来换去了

相信谷歌后面就算额度缩水点应该不至于太过分

作者: iorilu | 发布时间: 2025-12-31 07:29


34. 真诚请教, Github 上有没有比较靠谱的产品类别/分类/目录的项目, 就是类似三级联动的多语言地址输入项目这样的

比如 Temu/amazon 的卖杂货的产品类别目录.

又或者类似 misumi.com 这种专业垂直类的产品目录维护的(文字版即可)?

https://us.misumi-ec.com/vona2/mech_material/ 左侧导航菜单这样的就是.

作者: Hermitist | 发布时间: 2026-01-03 08:57


35. 国产安卓怎么后台保活 fcm

全天科学,vivo 的橘子系统还是会中断 fcm 连接,收不到通知,大家都是怎么解决这个问题的?

作者: sharper | 发布时间: 2025-12-18 05:07


36. 为什么看 VSCode 的主题都很刺眼? Sublime Text4 看着就舒服?

也就 Solarized Light 看着还好,暗黑就刺眼,太亮也是=。=100 度左右带点散光。
但是看 Sublime Text 4 的默认主题就很舒服,不刺眼,看久了也不难受,有什么办法解决吗?

在 VSCode 中安装而好几个主题,包括 Sublime Text4 主题,颜色接近,但是还是难受,哎!

作者: ronny | 发布时间: 2026-01-01 13:37


37. vibe 了一个基于 AST 自动提取 js/ts 代码上下文的工具

起因是 CC 读大项目的时候,幻觉严重,特别是对于需要大量上下文的复杂流程理解错误,所以基于 AST 做了一个工具来提取函数签名,以及调用关系,能极大压缩上下文的情况下让 CC 完整理解调用链路。

欢迎 V 友试用,轻喷,当然能给个 star 就更好了

fnmap github

作者: didnhdj2023 | 发布时间: 2026-01-03 05:19


38. 小程序页面被系统回收

我的小程序在一段时间未使用后,重新打开,页面是空白的,偶发,不是每次都会遇到。不清楚是什么原因导致的。

现象描述 1:

打开小程序->请求接口数据->正常使用->关闭小程序去处理其他事情->再次打开小程序,小程序呈现的状态是未请求接口数据的样子(页面空白无数据)。

现象描述 2:

打开页面 A->页面 B->页面 C ,关闭小程序去处理其他事情,重新进入小程序,看到的是页面 C ,返回->看到页面 B ,再返回,->看到的页面 A 是空白无数据的状态。

现在怀疑是内存紧张,被回收导致的,这种情况该如何定位和处理这种问题呢?

作者: michaelye1988 | 发布时间: 2026-01-02 10:57


39. 已绝迹的光流法视频插帧网站 - 开源自制

做了一个开源的光流法在线视频插帧网站 Sheas Frameg (没有什么深意,就是 Frame Generator 写不下了):

好,接下来介绍一下:

frameg.spacetimee.xyz.png

点右上角可以切换中英文语言,然后上传视频,选择插帧倍数,将文件添加到队列就可以了,视频会直接在本地浏览器中处理,不会上传到任何地方,处理完可以直接预览和下载


下面解释一下为什么现在要做这个项目:

因为 AI 帧生成的兴起,导致传统的光流法古法插帧已经几乎在互联网上绝迹了,AI 插帧固然很好,但却很容易产生形变、伪影、数据依赖等问题,而且由于 AI 插帧高昂的计算成本,目前互联网上已经无法找到完全免费的在线视频插帧工具了

所以为了填补这个空缺,我自己也需要用,就做了这个纯光流法,安全开源免费的在线工具


这不是我的主营项目,也不打算专门开交流群了,所以如果想交流的话就加我另一个项目的新 QQ 群吧:964102080 (群里是可以讨论任何项目的)

另外 Sheas Frameg 有一些已知的限制:采用 AV1 等编码的 WEBM 视频和分辨率过高的视频测试下来可能会导致 OOM ,除此以外,所有主流视频格式都能很好支持,测试下来没有发现问题

这是除 Frok NextChat 以外我的第一个 Next.js 项目,我自己是部署在 Vercel 上的,虽然不属于主营项目,但应该是我目前所有的 Web 项目中复杂程度最高的了


最后再发一遍链接:

作者: SpaceTimee | 发布时间: 2026-01-02 12:35


40. 请教个群晖 NAS 寿命问题

ds215j 使用差不多 10 年了,就是 raid1 4T ,synology drive 来备份资料和照片视频, 问 AI 随时有坏掉的风险,有必要现在就换掉吗?

作者: IAmAnonymous | 发布时间: 2026-01-02 06:02


41. 大家能否反馈一下 Antigravity 的使用体验

作者: qianyidui5 | 发布时间: 2025-12-30 06:37


42. 笔记本上语音输入使用豆包体验真不错

今天在家里第一次尝试 macbook 上通过语音输入使用豆包,体验真不错。 工作天天打字手指头有些酸痛, 另外在公司也不太可能使用语音输入。

作者: albin504 | 发布时间: 2026-01-02 01:45


43. 2025 年工作 git 活力图, 抛砖引玉一下

忙里偷闲

给 2025 的工作提交最后一次 git 记录,(●’◡’●)

tu-pian.png

作者: Foxkeh | 发布时间: 2025-12-31 09:33


44. 2025 我的 NAS 年度报告

3 月份的时候换了新 nas 装了飞牛,替换掉了家里的小破群晖,然后根据飞牛的有限的 log ,生成了一个 2025 的年度报告

🔍 找到 976 个日志文件,开始深度扫描…

📊 年度数据统计报告

👤 登录活跃度

  • 总计登录 : 1091 次
  • 年度 MVP : a***** (851 次打卡)
  • 作息画像 : 峰值活跃时间为 04:00 🌙
用户 (ID) 登录次数 活跃占比
a ***** 851 78.0%
D**** 150 13.7%
n**** 58 5.3%
1********** 24 2.2%
f********** 6 0.5%
E******* 2 0.2%

📂 数据足迹

  • 全年涉及文件 : 11,792 个
操作类型 数量 状态
其他 11,052 🟢 正常
删除 706 🔴 清理
上传 20 🔵 新增
创建 8 ⚪️ 新建
重命名 6 🟡 整理

👤 [用户画像] : 本年度最活跃用户是 [a*****],共打卡 851 次。

🌙 [作息习惯] : 系统最繁忙的时刻是 4:00 。你是个深夜玩家吗?

📂 [数据足迹] : 你全年搬运了 11792 个文件。

📅 [时间画像]

  • 这一年,NAS 陪伴了您从 2025-03-25 到 2025-11-30 。
  • 最忙碌的月份是 [2025-05],产生了 3787 条记录。
  • 深夜模式:凌晨 0-6 点的操作占比高达 54.1%,它是您的深夜守望者。

💾 [存储画像]

  • 这一年,硬盘 [sdd] [希捷 银河 (Exos)] - 企业级存储 (4TB) 响应最频繁,是当之无愧的“劳模”。
  • 您似乎最偏爱存储池 [vol3] [影视媒体库 (Linear)] 类型: High Capacity | 容量: 16TB+,那是您数据的核心寄居地。

📂 [行为画像]

  • 全年共执行了 952 次删除,20 次上传。
  • [a*****] 是本年度最活跃的掌控者,留下了 851 条操作记录。

🛡️ [健康画像]

  • 全年共经历 15 次波折(错误记录)。
  • 最近一次异常发生在:2025-10-10 04:28:07

🕒 [ 24 小时访问压力峰值]

  • 硬件最疲劳时段: 4:00 - 5:00

💾 [物理盘阵状态] 🟢 NVME0N1 [京造 9 系 SSD] - 系统/缓存盘 (1TB)

  • 全年唤醒: 0 次 | 休眠: 0 次 🟢 SDA [希捷 银河 (Exos)] - 企业级存储 (4TB)
  • 全年唤醒: 33 次 | 休眠: 33 次 🟢 SDB [希捷 酷狼 (IronWolf)] - 核心存储 (12TB)
  • 全年唤醒: 40 次 | 休眠: 40 次 🟢 SDC [希捷 银河 (Exos)] - 企业级存储 (4TB)
  • 全年唤醒: 41 次 | 休眠: 41 次 🟢 SDD [希捷 银河 (Exos)] - 企业级存储 (4TB)
  • 全年唤醒: 41 次 | 休眠: 42 次

📊 [存储池压力看板]

  • VOL1 [J.ZAO 9 SERIES SSD (系统/应用)] 类型: NVMe SSD | 容量: 1TB 活跃度: 0.0% (68 次交互)
  • VOL2 [关键数据备份池 (RAID1)] 类型: Enterprise Mirror | 容量: 4TB 活跃度: 0.0% (182 次交互)
  • VOL3 [影视媒体库 (Linear)] 类型: High Capacity | 容量: 16TB+ 活跃度: 0.0% (1184 次交互)

🌙 [数字生活习惯]

  • 黄金时段: 每天的 4:00 是你的数据交互巅峰。
  • 深夜足迹: 凌晨 0-6 点产生了 7965 条记录。你的 NAS 从不睡觉。

👥 [用户贡献排名]

  • A*****: 98.7%
  • D**** : 1.3%

🛡️ [年度稳定性回顾]

  • 系统遭遇了 15 次错误挑战,并成功自我修复。

📂 [空间热度]

  • 你最关注的三个“数据地标”: Top 1: /Storage (交互 603 次) Top 2: /System (交互 214 次) Top 3: /Media-lib (交互 199 次)

💿 [格式偏好]

  • 年度核心后缀:.jpg, .torrent, .98 。

⚠️ [稳定性复盘]

  • 应用 [浏览器] 这一年罢工了 5 次。
  • 应用 [宝塔] 这一年罢工了 5 次。
  • 应用 [HivisionIDPhoto] 这一年罢工了 4 次。

🛠️ [应用生态:谁是稳定性之王]

  • 核心应用:[影视] 参与了最多的业务逻辑。
  • 稳定性:本年度捕获应用崩溃 14 次。
  • 最近三次重大异常: ⚠️ 2025-10-10 04:28:05 | 应用 HivisionIDPhoto 异常退出 ⚠️ 2025-10-10 04:28:06 | 应用 浏览器 异常退出 ⚠️ 2025-10-10 04:28:07 | 应用 宝塔 异常退出

📅 年度活跃热力图 (Activity Timeline)

  • 2025-03 | ██████████ (475 events)
  • 2025-04 | ████ (154 events)
  • 2025-05 | ███ (101 events)
  • 2025-06 | ██ (70 events)
  • 2025-07 | ████ (176 events)
  • 2025-08 | ██ (95 events)
  • 2025-09 | ███ (122 events)
  • 2025-10 | ███ (118 events)
  • 2025-11 | ███ (114 events)

🛠 极客与运维 (Geek Stats)

  • [应用] 累计安装操作: 23 次 | 卸载操作: 6 次
  • [安全] 防火墙策略变更: 13 次
  • [网络] Clash 配置调整: 1 次
  • [游戏] Factorio/PVZ 存档维护: 4 次操作

报告生成完毕,愿您的硬盘长寿,数据永存。

✨ ==================== 感谢有 NAS 陪伴的每一天 ==================== ✨

作者: FFFFourwood | 发布时间: 2026-01-01 09:06


45. 如何自己搭建远程开发机?体验怎么样?

如果搭建一台远程开发机,windows 或 linux 的,然后把机器放在家里,随时用 mac 或 window 笔记本远程访问并用来开发。

不知道有什么方案实现?体验怎么样?

想着高配台式机放家里,随时随地用便携式设备接入

作者: qviqvi | 发布时间: 2025-12-30 11:07


46. 你们 js 用过双等号吗

写了很多年 js ,都是用三等号。即使类型不匹配也要强制使用 Number String 等方式转换一下再判断。

现在发现双等号直接可以帮你转类型后再比较。

甚至可以这么用: if (a == 0) { ... }, 这里当 a 是 0 / "" / false 时候都成立。

看到很多项目都把双等号给禁了( eslint eqeqeq ),没仔细研究,但有些情况下还是不错的。

作者: ethusdt | 发布时间: 2025-12-31 01:21


47. 我的两条 vibe coding 姿势技巧

被迫给屎山擦屁股,尤其是是那些转过来的 java 佬写的垃圾堆,可以让 ai 帮你写一个能够独立运行的脚本,复刻你要调试的那一条链路流程,然后先直接调试这个脚本就好了,找到问题了再去看原来的代码

调试问题,还可以直接让 ai 写脚本去连接数据库、redis 查看数据,查看日志等等,甚至可以直接让 ai 帮你写测试脚本,让 ai 去运行测试脚本然后分析运行结果。相当于让 ai 直接去运行时帮你分析程序了,很有帮助

作者: uni | 发布时间: 2026-01-02 07:59


48. Arch Linux 下微信备份聊天记录的方案?

似乎只有 wine 和虚拟机两条路了吗?

作者: yuanyuan11 | 发布时间: 2026-01-02 10:23


49. 年终, 主力浏览器从 Safari 换回 Chrome,终端从 Ghostty 换回 iTerm

折腾的原因在于懒得折腾。

浏览器

浏览器循环永不停歇,上次主力浏览器从 Chrome 迁移到 Safari 还是两年前,这也意味着我用了 2 年的 Safari 。Safari 作为主力浏览器没什么问题,个人认为 UI 和操作方式都更清爽一些,常用的插件也都有,主要原因还是日常使用有一些边边角角的 BUG ,以及开发者工具没有 Chrome 好用。

终端

终端经历了从 iTerm => Warp => Ghostty => iTerm 的迁移。换 Wrap 的动机是尝新,是否需要登录其实我不太关心,换掉 Wrap 是因为它的很多功能我都用不上,按传统的方式使用它,效率反而变低了。Ghostty 也是尝新,没什么大毛病,偶有兼容性问题,所以换回 iTerm 。

PS:Windows 上继续使用 Warp 。

其他

一直使用 Alfred ,中间数次尝试切换到 Raycast ,还是觉得 Alfred 更好用一些。(也一个原因是不想舍弃 Powerpack )

作者: nanajj | 发布时间: 2025-12-31 02:41


50. XXL-CONF v2.2.0 | 分布式配置中心与注册中心

Release Notes

  • 1 、 [升级] 升级至 SpringBoot4 ;升级多项 maven 依赖至较新版本,如 springboot 、spring 、mybatis 、xxl-sso 等;
  • 2 、 [新增] 容灾降级:客户端会周期性同步配置到本地快照文件(新增配置项设置本地文件目录“xxl.conf.client.filepath”);在极端情况配置中心不可用时(如配置中心宕机),客户端降级使用本地配置快照文件,保障系统可用性;
  • 3 、 [增强] 一致性保障强化:强加建设 “启动预热+全量巡检+增量监听” 相结合的一致性保障策略。启动阶段主动初始化全量远程配置至本地,提供周期性配置比对巡检能力以及增量变更感知推动能力,确保配置数据准确性与一致性。
  • 4 、 [新增] 新增 Docker Compose 配置,支持一键配置启动调度中心集群;
  • 5 、 [优化] 配置编辑器:升级为 CodeMirror ,提升交互体验;
  • 6 、 [优化] 配置 Diff:支持行维度对比配置数据变更,提升配置安全及追溯效率;
  • 7 、 [重构] 配置监听重构为异步队列处理机制,避免耗时监听逻辑影响系统性能;
  • 8 、 [优化] 组件线程代码重构,提升性能以及可维护性;
  • 9 、 [优化] 增加主题皮肤选项并优化界面交互;
  • 10 、 [优化] 操作体验优化:表格交互调整为单行选中模式;禁用分页循环;优化分页限制文案;
  • 11 、 [优化] 交互优化:仪表板统计信息展示完善;新增配置默认选中当前服务;
  • 12 、 [优化] 重构项目依赖管理,将依赖版本统一到父级 pom ;

备注:

  • a 、该版本新增支持“启动预热”、“容灾降级”等新特性,客户端 SDK 依赖需要一并升级;

  • b 、该版本新增支持配置变更 Diff ,相关日志表需要新增字段,需要执行如下 SQL 脚本

    // 表变更 SQL 脚本:
    alter table xxl_conf_data_log
    add old_value text not null comment ‘变更前,配置项 Value’;

XXL- CONF 快速部署

XXL-CONF 支持以 Docker Compose 方式快速部署并启动。

// 1 、下载 XXL-CONF
git clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-conf/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-conf.git

// 2 、构建 XXL-CONF
mvn clean package -Dmaven.test.skip=true

// 3 、启动 XXL-CONF
MYSQL_PATH={自定义数据库持久化目录} docker compose up -d

// 4 、停止 XXL-CONF
docker compose down

XXL- CONF 接入示例

XXL- CONF ,一行命令启动配置中心&注册中心,一站式提供动态配置管理、服务注册及发现能力(下文只演示配置中心能力)。 img_06.png

1 、XXL-CONF 接入配置 :与 Spring 无缝集成,也支持无框架接入。

@Bean
public SpringXxlConfBootstrap xxlConfBootstrap() {

     SpringXxlConfBootstrap xxlConfBootstrap = new SpringXxlConfBootstrap();
     xxlConfBootstrap.setAppname(appname);
     xxlConfBootstrap.setEnv(env);
     xxlConfBootstrap.setAddress(address);
     xxlConfBootstrap.setAccesstoken(accesstoken);
     xxlConfBootstrap.setFilepath(filepath);

     return xxlConfBootstrap;
 }

经过上述 2 步,已完成全部配置工作。

3 、客户端接入: 支持丰富配置获取方式,支持秒级&热更新

  • 3.1 、方式 1: API 方式( XxlConfHelper )

    /**

    • API 方式
    •     - 参考 "IndexController" 中 "XxlConfHelper.get("key")" 即可;
      
    •     - 用法:代码中直接调用 API 即可,API 支持多数据类型,可快速获取各类型配置;
      
    •     - 优点:
      
    •         - API 编程,灵活方便;
      
    •         - 支持多数据类型
      
    •         - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
      
    •         - 底层存在配置 LocalCache ,且存在缓存击穿等防护,性能有保障;
      

    */
    String paramByApi = XxlConfHelper.get(“sample.key01”, null);

  • 3.2 方式 2: 注解方式(@XxlConf )

    /**

    • 注解方式
    •     - 参考 "IndexController.paramByAnnotation" 属性配置;
      
    •     - 用法:对象 Field 上加注解 ""@XxlConf";支持设置默认值、跨服务复用配置,以及设置是否动态刷新;
      
    •     - 优点:
      
    •         - 注解编程,简洁易用;
      
    •         - 支持多数据类型
      
    •         - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
      
    •         - 注解属性自身承担数据存储职责,无外部请求逻辑,无性能风险;
      

    */
    @XxlConf(“sample.key02”)
    public String paramByAnnotation;

  • 3.3 、方式 3: 监听器方式( XxlConfListener )

    /**

    • Listener / 监听器方式
    •     - 参考 "IndexController" 中 "XxlConfHelper.addListener(...)" 即可;
      
    •     - 用法:配置变更监听示例:可开发 Listener 逻辑,监听配置变更事件;可据此实现动态刷新 线程池、JDBC 链接池 等高级功能;
      
    •     - 优点:
      
    •         - 监听器方式,扩展性更强;
      
    •         - 支持多数据类型
      
    •         - 配置从配置中心实时加载,且底层存在动态推动更新,实效性有保障;
      

    */
    XxlConfHelper.addListener(“sample.key03”, new XxlConfListener(){
    @Override
    public void onChange(String appname, String key, String value) throws Exception {
    paramByListener = value;
    logger.info(“XxlConfListener 配置变更事件通知:key={}, value={}”, key, value);
    }
    });

简介

XXL-CONF 是一个 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;拥有 “轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制” 等特性。现已开放源代码,开箱即用。

特性:配置中心

img_07.png

  • 1 、简单易用: 接入灵活方便,一分钟上手;
  • 2 、轻量级: 仅依赖 DB 无其他三方依赖,搭建部署及接入简单,一分钟上手;
  • 3 、WebUI: 配置中心提供线上化管理界面, 通过 Web UI 在线操作配置数据,直观高效;
  • 4 、高可用/HA:配置中心支持集群部署,提升配置中心系统容灾和可用性;
  • 5 、高性能:得益于配置中心与客户端的本地缓存以及多级缓存设计,因此配置读取性能非常高;单机可承担高并发配置读取;
  • 6 、实时性保障: 系统设计内部广播机制,针对配置修改、增删等变更,支持秒级推送变更配置到客户端;
  • 7 、一致性保障:设计 “启动预热+全量巡检+增量监听” 相结合的一致性保障策略。启动阶段主动初始化全量远程配置至本地,提供周期性配置比对巡检能力以及增量变更感知推动能力,确保配置数据准确性与一致性。
  • 8 、动态热更新:配置数据变更后,客户端配置数据会实时动态更新、并生效,不需要重启服务机器;
  • 9 、容灾降级:客户端会周期性同步配置数据到本地配置快照文件,在极端情况配置中心不可用时(如配置中心宕机),客户端会降级使用本地配置快照文件,保障系统可用性;
  • 10 、多数据类型:支持多种数据类型配置,如:String 、Boolean 、Short 、Integer 、Long 、Float 、Double 等;
  • 11 、多接入方式:支持 “API 、 注解、Listener” 等多种方式获取配置,可灵活选择使用;
  • 12 、配置变更监听:支持自定义 Listener 逻辑,监听配置变更事件,比如可据此动态刷新 JDBC 连接池等高级功能;
  • 13 、多环境支持:支持自定义环境(命名空间),管理多个环境的的配置数据;环境之间相互隔离;
  • 14 、跨语言/OpenAPI:提供语言无关的 配置中心 OpenAPI ( RESTFUL 格式),提供拉取配置与实时感知配置变更能力,实现多语言支持;
  • 15 、跨机房:得益于配置中心系统设计,服务端为无状态服务,集群各节点提供对等的服务;因此异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
  • 16 、客户端断线重连强化:底层设计守护线程,周期性检测客户端连接、配置同步,提高异常情况下配置稳定性和时效性;
  • 17 、空配置处理:主动缓存 null 或不存在类型配置,避免配置请求穿透到远程配置 Server 引发雪崩问题;
  • 18 、访问令牌( AccessToken ):为提升系统安全性,服务端和客户端进行安全性校验,双方 AccessToken 匹配才允许通讯;
  • 19 、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
  • 20 、配置权限控制;以项目为维度进行配置权限控制,管理员拥有全部项目权限,普通用户只有分配才拥有项目下配置的查看和管理权限;
  • 21 、历史版本回滚:配置变更后及时记录配置变更历史,支持历史配置版本对比及快速回溯;
  • 22 、容器化:提供官方 docker 镜像,并实时更新推送 DockerHub ,进一步实现产品开箱即用;

特性:注册中心

img_registry.png

  • 1 、简单易用: 接入灵活方便,一分钟上手;
  • 2 、轻量级: 仅依赖 DB 无其他三方依赖,搭建部署及接入简单,一分钟上手;
  • 3 、高可用/HA:注册中心支持集群部署,提升注册中心系统容灾和可用性;
  • 4 、高性能:得益于注册中心与客户端的本地缓存以及多级缓存设计,因此注册数据读取性能非常高;单机可承担高并发配置读取;
  • 5 、实时性: 借助内部广播机制,新服务上线、下线等变更,支持秒级推送变更配置到客户端;
  • 6 、多环境支持:支持自定义环境(命名空间),管理多个环境的的服务注册数据;环境之间相互隔离;
  • 7 、跨语言/OpenAPI:提供语言无关的 注册中心 OpenAPI ( RESTFUL 格式),提供服务 注册、注销、心跳、查询 等能力,实现多语言支持;
  • 8 、跨机房:得益于注册中心系统设计,服务端为无状态服务,集群各节点提供对等的服务;因此异地跨机房部署时,只需要请求本机房配置中心即可,实现异地多活;
  • 9 、多状态:服务内置多状态,支持丰富业务使用场景。正常状态=支持动态注册、发现,服务注册信息实时更新;锁定状态=人工维护注册信息,服务注册信息固定不变;禁用状态=禁止使用,服务注册信息固定为空;
  • 10 、访问令牌( AccessToken ):为提升系统安全性,服务端和客户端进行安全性校验,双方 AccessToken 匹配才允许通讯;
  • 11 、用户管理:支持在线添加和维护用户,包括普通用户和管理员两种类型用户,灵活管控系统权限;
  • 12 、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub ,进一步实现产品开箱即用;

作者: xuxueli | 发布时间: 2026-01-02 12:58