V2EX 热门帖子
1. 想买安卓机的心情已到达顶点
自从三年多前来到新加坡,就一直想要体验一下在墙外使用安卓手机的感受。
目前手持 iPhone 15pro
之前短暂体验过小米的几部机子
对于系统个性化和自由折腾的感觉很喜欢
现在想要双持,iPhone 继续用于正经日常的生活工具,包括坐车 apple pay ,身份,银行,工作类的 app 。
安卓就拿来折腾,娱乐,其推荐个好用不贵的。
暂时看上的是一加 15 国内版
价格适中,系统开放性口碑也不错
缺点,跟原生国际版的谷歌体验没法比,比如相册,硬盘等我是谷歌重度用户。
国际版的国产机普遍要贵好多,所以就很难选择!
作者: szsgz | 发布时间: 2026-01-04 12:09
2. 分享一个代码优化导致的死循环
现象:
gdb bt卡在spinlock_unlock()位置。
查了半天代码,我的每一个锁都没有问题。给我看吐血了。
最后没辙了灵机一动
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
一句话简介
记录事件时间线,追踪事件进展,探索事件频率、预期以及生辰,用数据丈量余生,让每个瞬间有迹可循。
完整功能介绍
九零事件:为你的人生建立时间坐标系
生活是由无数个“事件”组成的。有些是日常的琐碎,有些是里程碑式的跨越。九零事件是一款专注于事件记录、时间线追踪与多维数据统计的量化自我工具。我们帮助你从时间的流逝中捕捉规律,在数据的积累中洞察生活。
![]()
核心功能亮点:
1 、三种形态,覆盖生活全场景
- 普通事件:记录发生的时间点,适用于“打卡”、“纪念日”或“里程碑”。
- 选项事件:记录时进行选择,适用于“心情记录”、“天气”、“习惯追踪”(如:早起/熬夜)。
- 数值事件:记录具体数据的变化,适用于“体重记录”、“开销”、“运动时长”或“阅读页数”。
![]()
2 、强大的时间线与统计功能,告别模糊记忆,让数据说话
- 时间维度:精确计算距今时间、发生频率、平均间隔,并预测下一次可能发生的时间。
- 数据透视:分布图展示选项占比,了解你的行为模式。自动计算累计值、平均值、最大/最小值,轻松掌握趋势。
3 、事件的人生计算器,是一个记录工具,更是你的人生哲学伴侣
- 生之时:为事件设置预期的「寿命」截止日期,估算事件当前状态,是如朝阳般冉冉升起,还是如夕阳般渐渐落幕。
- 死之钟:基于事件的发生频率,计算该事件在你的余生中还能发生多少次。“还能见父母多少次?”“还能看多少次海?”——通过量化余生,让你更加珍惜当下的每一次发生。
![]()
4 、隐私至上,数据自主
- 本地优先 (Offline First):你的数据完全属于你。默认存储在手机本地,无网络也能流畅使用,无需担心隐私泄露。
- 按需分享:支持将特定的事件生成精美卡片或链接分享到云端,与朋友共享你的成就或时刻,一切由你掌控。
![]()
![]()
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
文字替换特效采用 Smart Ticker: https://www.v2ex.com/t/1182000
![]()
作者: 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."); }步骤二:调度中心,新建调度任务
步骤三:任务执行,查看任务进度及日志
简介
XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
特性
- 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;这咋回事
系统 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 是啥,之前的文章已经详细介绍了:
欢迎试用或者围观 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 辅助团队开发的完整架构
一个真实的痛点
你是否遇到过这样的场景:
- 写个正则表达式? AI 秒杀我。
- 写个独立脚本? AI 真香。
- 写个炫酷网页? 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 发起提案:
- 需求变更 → 发起 OpenSpec 提案
- 开发新需求时,必须通过 OpenSpec 创建提案(
changes/[proposal-xxx.md](http://proposal-xxx))。- 人工审查重点:核对 AI 生成的提案中 Why (背景)、What (目标)、Impact (影响) 是否清晰一致,确保人与 AI 的理解对齐。
- AI 辅助实现
- AI 读取已通过的提案,结合
specs/中已有的能力规范,生成或修改代码及测试用例。- 人工进行 Code Review 。
- 知识沉淀(归档)
- 运行
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 ,更贴近国内网络与业务生态,性能稳定、响应更快,安全与加速一体化体验成熟。不是噱头,而是长期打磨后的工程能力,适合真正追求可靠性的团队。
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 就更好了
作者: 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 写不下了):
开源地址 (嗯嗯): https://github.com/SpaceTimee/Sheas-Frameg
部署地址 (也可以自己部署): https://frameg.spacetimee.xyz/
好,接下来介绍一下:
点右上角可以切换中英文语言,然后上传视频,选择插帧倍数,将文件添加到队列就可以了,视频会直接在本地浏览器中处理,不会上传到任何地方,处理完可以直接预览和下载
下面解释一下为什么现在要做这个项目:
因为 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 记录,(●’◡’●)
作者: 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 downXXL- CONF 接入示例
XXL- CONF ,一行命令启动配置中心&注册中心,一站式提供动态配置管理、服务注册及发现能力(下文只演示配置中心能力)。
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 是一个 分布式服务管理平台,作为服务 配置中心 与 注册中心,提供 动态配置管理、服务注册与发现 等核心能力;拥有 “轻量级、秒级实时推送、多环境、跨语言、跨机房、权限控制” 等特性。现已开放源代码,开箱即用。
特性:配置中心
- 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 ,进一步实现产品开箱即用;
特性:注册中心
- 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
















