如果你同时在同一个代码库里用 Cursor、Claude Code、Aider 和 Goose,大概率已经被配置文件逼疯了。
Cursor 要 .cursor/rules/*.mdc。Claude Code 要 CLAUDE.md。Aider 要 CONVENTIONS.md 再加一行 .aider.conf.yml 才能每次自动加载。Goose 要 .goosehints。四份文件,同一套代码规则,五种写法,三个月后内容早就各走各的。
Bernstein 1.10.x 系列里的 agents-md 就是来解决这个的。它读取仓库里的角色定义、钩子、技能和安装片段,生成一份统一的 AGENTS.md 作为单一真相源,再自动转写成四个工具各自的格式。
五个子命令:generate 预览标准中间格式,write 生成单个目标文件,sync 一次性产出标准版加四个 CLI 专用版本,verify 作为 CI 门禁检查漂移,diff 显示哪些内容已经过期。
中间格式故意不做强 schema,因为 AAIF 规范本身没规定,锁死格式意味着每季度都要跟上游打架。真正值钱的是 verify。跑三个月之后重新执行 agents-md sync,四个文件会同时回到一致状态,不用人工合并。Bernstein 自己的编排器就在每个 PR 里跑这个检查。
成本可视化是另一块补上的短板。bernstein run 现在每轮输出一行预算倒计时:剩余美元和 token 数,任务预算上限一目了然。Anthropic 的 prompt-caching beta 头默认开启,缓存命中真的生效。CI 场景配了成本上限的,终于不用等跑完才知道超支。
--max-cost-usd 是硬熔断。累计路由模型花费触及阈值,运行干净中止,部分结果像正常取消一样合并或回滚。配合 1.10.1 加入的运行摘要里"相比单跑最贵路由模型的预估节省"一行,钱包状况终于不用 jq 扒 .sdd/runtime/costs.jsonl 才能看见。
A2A v1.0 支持也来了。每个 Bernstein 代理现在发布带签名的代理卡片,远端可以验。verify-a2a 子命令跑本地校验,不用把证书链逻辑塞进生产环境。协议握手和任务交换的日志级别调到 debug 就能看明文,抓包调试不用猜。
这些不是 headline 功能,是真实多语言代码库上跑编排器时,被人反复提 issue 和悄悄踩坑之后补上的。五个小版本攒一起,轨迹才看得清楚。
热门跟贴