SpecWeave CLI 3.1.0免费且开源
工作比会话活得更久。
你的智能体写代码。SpecWeave 把“完成”的含义、证明和你停下的位置,保存为 git 里的普通文件,Claude Code、Codex 或任何其他智能体都能接着做同一个任务。
npm i -g specweave版本 3.1.0,发布于 17 October 2026。免费且开源。
$ specweave pickup Picked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files. SpecWeave pickup · you are codex@laptop Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done Next: T-02 Restore the draft on return AC-01: Returning within 24 hours restores the cart and shipping choice AC-02: A paid order is never restored Files: src/restore.js | Test: npm test Branch: main · in sync with origin/main · 3 uncommitted files Last handoff: claude@cloud: out of tokens · next: finish restore on return Notes: - claude@cloud: Payment thread: drafts must never store card data
从规划到关闭,六条命令
每一步都会留下文件。没有什么靠勾选框就能关闭:测试会运行,输出会保存,验证通过之前增量始终保持打开。
01 规划增量
$ specweave create-increment "Resumable checkout"智能体会填写问题、范围、编号的验收标准、方案和任务。动手写之前,sw-increment 只询问需要你拍板的决定,一次一个并附推荐答案:默认最多五个,访谈深度由
planning.deepInterview设定。spec.md每个任务都写明它的验收标准、涉及的文件和测试。02 认领任务
$ specweave task claim T-02认领记录写入台账,所以第二个智能体再申请同一个任务会被拒绝。超过两小时的认领视为过期,可以被接管。
specweave task next会打印下一个任务及其验收标准的文字。ledger.jsonl只追加:认领、完成、释放、跳过和阻塞事件。03 证明已完成
$ specweave task done T-02 --run "npm test"由 CLI 亲自运行测试。只有退出码 0 才会把任务记为完成,并以提交和输出末尾作为证据。失败的运行不会留下任何记录。
reports/task-T-02.txt完整的命令输出,含退出码和时间。04 验证增量
$ specweave verify运行你的测试、lint 和构建命令(来自
testing.commands,或从package.json、Cargo、pytest、Go 中自动识别),并检查每一条验收标准。reports/verify.json只有所有命令和验收标准都通过,ok 才为 true。05 交给另一个模型评审
$ specweave review把差异交给与编写者不同模型家族的评审者:Codex 评审 Claude 的代码,Claude 评审 OpenAI 的代码。退出码 0 表示可以发布,退出码 3 表示先修复。
--brief会打印可粘贴到任何工具的评审简报。3.1.0 新增;见 用另一个模型评审。reports/review-codex.md评审结论和判定,以评审者命名。06 关闭
$ specweave complete 0001reports/verify.json缺失或未通过时拒绝关闭。想跳过它需要加--reason,原因会随增量一并保存。metadata.json已完成,或在没有证明的情况下关闭的原因。
命令、参数和文件名与 specweave 3.1.0 一致。增量、任务和评审者是本页通篇使用的示例。
token 用完不是终点
在要离开的工具里说“交接”,在下一个工具里说“从我停下的地方接着做”。Codex 可以在同一台或另一台机器上继续 Claude Code 开始的工作。工具之间不复制任何东西:specweave handoff 会把快照推送到 specweave-handoff 和 wip/<branch>,并添加一条台账事件。
handoff --all写入一份索引,涵盖每个活跃增量和每个有本地独有工作的嵌套仓库。pickup --list列出待处理的交接,最新的在前,不做任何更改。pickup <id 或标题>有多个等待时,选取指定的一个。handoff --no-push把交接保留在本机,不推送到远程。
离开:Claude Code,身份为 claude@cloud
$ specweave handoff --reason "out of tokens"
Handed off 0001-resumable-checkout (released T-02, pushed your uncommitted edits).
To continue in any tool, machine or account, say "pick up" there (or run `specweave pickup`).
Details: .specweave/increments/0001-resumable-checkout/handoff.md推送到远程 specweave-handoff 和 wip/<branch> 的快照,加上台账中的一条交接事件
到达:Codex,身份为 codex@laptop
$ specweave pickup Picked up the handoff from claude@cloud (out of tokens): applied 7 uncommitted files. SpecWeave pickup · you are codex@laptop Increment 0001-resumable-checkout "Resumable checkout" (active) · tasks 1/2 done Next: T-02 Restore the draft on return
接手部分是以 Codex 身份运行的第二个克隆的真实输出。交接部分是同一次运行中 CLI 的原始消息。
用量上限,在触达前就处理好
specweave auto-handoff on 为 Claude Code、Codex 和 Grok Build 添加钩子。每个钩子都会保存本地检查点,任一用量窗口达到 95% 时,由模式决定接下来怎么做(Grok 不报告百分比,所以它的钩子在某一轮触达速率限制时才起作用)。

suggest默认- 触达阈值时
- 只提醒你一次交接已准备好,然后继续工作。
- 适用于
- 默认模式。由你决定何时切换。
enforce- 触达阈值时
- 运行 specweave handoff 并停止会话。
- 适用于
- 无人值守的运行,需要在任务边界干净地停下。
checkpoint- 触达阈值时
- 只保存本地检查点,从不交接。
- 适用于
- 有额度补充或代理、在上限之后仍可继续的套餐。
--at 90调整阈值;默认是 95。--wait-under 30当所有已满窗口都在这么多分钟内重置时,什么也不做;默认是 30。autocompact on在 400K token 时压缩 Claude Code,而不是接近一百万,让后面的轮次保持精简。
在 SpecWithCode 中运行智能体?请一台机器对应一个提供商订阅:让每台机器长期只登录每个提供商的一个账号,需要更多额度时添加机器,而不是手动切换订阅。
默认七个技能,需要时再加四个
技能是智能体按需加载的简短说明。自 3.1.0 起,可选技能会在你的项目需要时自动开启。specweave skills list 显示每个技能开启的原因,enable 或 disable 用来更改。
每个项目都有
sw-increment- 把增量规划成一份 spec.md,并先询问关键决策。
sw-grill-me- 分轮访谈你,直到计划中的每个决策都敲定。将 planning.deepInterview 设为 deep 时,每个新增量都会运行它。
sw-do- 逐个任务推进增量:认领、在其文件范围内实现、测试、提交、附证据标记完成。可单独、无人值守或并行运行。
sw-auto- 无人值守地运行增量直到所有任务完成,然后验证并关闭。
sw-review- 由全新上下文或另一个模型家族进行对抗式评审。每条发现都标注文件和行号。
sw-done- 关闭增量:任务完成、验证通过、全新上下文评审,然后 complete。
sw-handoff- 把工作交给另一个工具、账号或机器,并在那边接手。
项目需要时开启
sw-glossary- 生成
GLOSSARY.md,项目共用的术语表。specweave glossary check --strict在出现偏差时让 CI 失败。 sw-sync- 把增量推送到 GitHub、Jira 或 Azure DevOps。项目有跟踪器时自动开启。
sw-project- 读取并更新项目中枢。存在
.specweave/project/hub.json时自动开启。 sw-jev- 把封闭集合的决策交给 Jev。设置了
jev.enabled时自动开启。
一份可以检查的记录
以上全部都是你仓库里的普通文件。git 评审和访问控制保护着历史记录;这些文件并不是防篡改的审计系统。
spec.md“完成”的含义
规划时写下,写代码前阅读。
ledger.jsonl发生了什么
认领、附证据的完成记录、备注和交接。
reports/用什么证明
任务日志、
verify.md、verify.json和评审报告。handoff.md你停在了哪里
由
specweave handoff写入。specweave note给下一个智能体的备注
保存在台账中,用
pickup查看。.specweave/memory/比会话更长久的决策
每条事实一个文件,在
MEMORY.md中建立索引并提交,所有工具和账号都能看到。specweave dashboard汇总一切的看板
仅限本地,默认在 127.0.0.1 的 3456 端口。读取它不需要调用模型。
specweave report谁做了什么,成为一个页面
reports/handoff-report.html中的 HTML 时间线,涵盖工具、会话、交接和证据。
仪表板为这个示例读取的内容
| 增量 | 0001-resumable-checkout 可恢复的结账 |
|---|---|
| 状态 | 进行中 |
| 任务 | 已完成 1/2 |
| 下一个任务 | T-02 用户返回时恢复草稿 |
| 验收标准 | AC-01 24 小时内返回,会恢复购物车和配送选择。AC-02 已付款的订单绝不恢复。 |
| 文件与测试 | src/restore.js, npm test |
| 最近一次交接 | claude@cloud 的 token 用完了。由 codex@laptop 接手。 |
由本页顶部展示的同一次 specweave pickup 运行生成。在你的项目中运行 specweave dashboard,查看你自己的。
与你已在用的工具相连
每一项都是可选的,设置之前保持关闭。
代码导航
$ specweave lsp refs src/restore.js restoreDraft通过语言服务器获取引用、定义、悬停类型和符号,让智能体不再靠 grep 乱找。
LSP 指南specweave lsp setup会为你仓库中的语言挑选服务器。Jev
$ specweave jev route "<prompt>"约 250 毫秒完成封闭集合的决策:选哪个技能或模型档位,某条 shell 命令能否安全运行,拉取的文本是否需要再看一眼。用
关于 Jevspecweave jev setup选择启用。项目中枢
$ specweave project brief
可移植项目指南.specweave/project/hub.json中保存共同的目标、上下文、产物和例行任务,所有工具都会读取。--harness codex可导出简报给另一个工具。已有仓库
$ specweave get owner/repo把一个仓库克隆并注册到工作区,或用
工作区接入指南--all处理组织内的所有仓库。--dry-run可预览如何接管你已有的检出。议题跟踪器
$ specweave sync push可选。团队在 GitHub Issues、Jira 或 Azure DevOps 做规划时,可把增量推送过去。
跟踪器同步指南
在桌面应用中运行同样的增量
SpecWithCode 的工作线程在一个分支上工作,并提交一个拉取请求,这正是增量的形态。它的清单就是增量的任务列表,它写入台账的操作就是本页上的这些命令。线程之间通过台账互留备注,而不是互相编辑对方的文件。
了解 SpecWithCode