wcode 0.9.0
本文目录4 个章节
wcode 0.9.0 增加了多 Agent 任务领取和改动验收,重新整理了 Web 与终端工作台。任务可以分配写入范围,检查结果会绑定代码版本,失败和待处理项也有了统一入口。
wcode 是用 Rust 编写的 Coding Agent 仓库工具,通过 MCP 接入 Codex、Claude Code 等编码助手。它负责读代码、查符号、带版本检查地修改文件、运行验证和保存结果,模型由编码助手提供。
把“做完了”落到当前代码上#
0.9.0 增加了原生 Change Acceptance 这条流程。它把当前改动、项目要求和已经执行的检查放在同一份记录里,给出还缺什么。
例如,一个任务要求修改接口,同时通过 Rust 测试和静态检查。Agent 只跑了测试,记录里就仍然缺静态检查。检查都跑过,但代码随后又变了,也得重新判断这些结果是否适用。需要独立审查时,Worker 自己写一句“已审查”不能补上那一步。
这份记录绑定 Git 的 base、head、tree、index 和工作区状态,也保留设计版本、检查计划与每项检查的实际结果。读记录时能区分“没有检查”“执行失败”“结果过期”和“还在等审查”。这些情况的下一步不同,挤成一个红点没有多少用。
CLI 可以直接查看它:
wcode acceptance inspect --base <完整 base SHA> --head <完整 head SHA> --json
wcode acceptance inspect --base <完整 base SHA> --head <完整 head SHA> --check
wcode acceptance history --json
--check 只有在当前原生记录为 ready 时才成功。新仓库如果没有启用项目 Policy,拿到的是 incomplete 和 policy_inactive,命令不会顺便替你启用策略。inspect 用来读状态;真正执行项目要求的检查用 acceptance verify。
几个 Agent,先分清谁能改哪里#
原来把需求拆成几个任务,仍然可能撞在同一个文件上。说“你写实现,他补测试”不够精确:两个人都可能顺手改入口、配置和依赖。
Worklist 现在可以给任务声明 write_paths。主 Agent 拆任务时,把要写的目录一起分出去;纯审查任务传空数组。Worker 用 worklist_claim 领取,拿到独立令牌和交接上下文。另一个有效领取占着重叠的写入范围,新的领取就会被拒绝。任务依赖没完成、版本不匹配,也不能直接开工。
领取有 15 分钟租约,长任务要续租。中途换了模型或会话,接手者至少能从持久状态里找到任务、范围和已有结果,不必只靠翻聊天记录猜。完成后,Worker 用 worklist_submit 交回结果和已有的 Evidence ID,主 Agent 再检查汇总。
这里保留了两层检查:领取管理协作,写文件还要核对 SHA,执行命令也仍受原来的权限控制。直接用别的工具改仓库的会话,不会被 Worklist 锁住;遇到这种变化,旧 SHA 会让后续编辑失败,Agent 必须重新读取。它能减少协作冲突,不能替一个任意写文件的外部进程兜底。
各路任务交回来以后,还要检查合并后的版本。两个分支各自通过测试,不代表组合起来也通过;验收记录需要对应合并后的代码。
工作台重做以后,先看问题#

0.9.0 的实际界面,图中使用演示项目数据。
Web 工作台和终端观测台都重新整理了。现在打开以后,当前失败、缺少的验证、互相矛盾的证据、设计映射缺口和需要检查的大模块,会进入共用的问题列表。点一项,可以继续看对应的源码、任务或验证结果。
以前页面里已经有不少信息,但人要自己来回拼。现在七个 Web 页面都保留工作区、代码版本和快照状态,切页面以后仍然知道自己在看什么。终端里也能直接切换问题、任务、Provider 和 Agent;小窗口保留帮助与停止操作。
源码查看器这次也补齐了一个容易忽略的细节。文件按行分页,每页带读取时的 SHA。假设第一页刚看完,另一个会话改了文件,第二页会要求重新读取。这样屏幕上就不会拼出半份旧代码、半份新代码。切换项目以后才返回的旧请求,同样不能覆盖新项目的页面。
还有几个不显眼的修正#
一个是跨工作区的等待。工程日志和失败记录改成按工作区使用锁,写入一个仓库的记录时,其他仓库不再等同一把锁。相同的验证请求也可以共用一次执行,减少重复检查。
另一个是单仓库验收。Rust 工作区会自动发现下面的 crate,旧判断把这些子包也算成用户选择的工作区,结果明明只选了一个仓库,验收命令却报“只能选择一个工作区”。现在按用户实际配置的根目录判断;显式选择两个独立仓库,仍然拒绝混在同一次验收里。
Setup 的复制按钮也修了一个小竞态。点复制以后,浏览器可能过一会儿才回结果。如果期间切了工作区或换了命令,旧请求不能给新内容显示“复制成功”。这类问题很小,却会让人按着错误的反馈继续操作。
上下文方面,0.9.0 减少了交接包里可重新取得的路由说明和重复指引,保留源码正文、SHA、检查和失败信息。有效上下文继续复用,过期或缺失的部分再补。
拿到 0.9.0 后,在项目目录运行 wcode setup 完成 MCP 接入,重连编码助手即可。需要终端工作台时运行 wcode;里面的 W 打开项目状态页,O 打开 Setup。
安装包与校验和在 GitHub Releases,完整变化和命令说明在 0.9.0 文档。