claude-code-harness:给 Claude Code 装上纪律的 2600 星开源项目
claude-code-harness:给 Claude Code 装上纪律的 2600 星开源项目
先收藏,回头一定用得上。
Claude Code 是目前最强的编程 Agent 之一,但用过的人都知道一个痛点:它会跑偏。计划只存在于对话里,测试写着写着就跳过了,代码审查变成走过场,发布全靠记忆拼凑。一次两次还行,复杂项目下来,Agent 产出的质量完全不可预测。
claude-code-harness 就是冲着这个问题来的。它把"让 Agent 随便写"变成了一个可重复的纪律循环:先写规格,再拆计划,按计划执行,独立审查,最后打包发布。2600 星,251 fork,版本已经迭代到 v4.14.0。
本文提纲
- 它解决什么问题
- 30 秒安装上手
- 五个动词:Plan / Work / Review / Sync / Release
- 核心设计:Source-of-Truth 循环
- 不只是 Claude Code——多 Agent 支持
- 值得关注的高级能力
它解决什么问题
Claude Code 的能力很强,但缺乏结构性约束。具体表现:
- 计划飘散:需求和计划散落在聊天记录里,没有人回头对照
- 测试被跳过:Agent 为了"完成任务"跳过测试步骤,代码质量无法保证
- 审查太晚:代码写完才想起来该 review,此时问题已经沉淀
- 发布无证据:靠记忆"我上次改了什么",没有可追溯的产出物
Harness 把这些变成了门禁:不写 spec 不能开工,不经 review 不能收工,没有验证就不能发版。
30 秒安装上手
如果你已经在用 Claude Code,安装只需要三条命令:
claude
/plugin marketplace add Chachamaru127/claude-code-harness
/plugin install claude-code-harness@claude-code-harness-marketplace
/harness-setup安装完成后,用一条小任务试水:
/harness-plan Improve the README onboarding flowHarness 会自动生成 spec.md 和 Plans.md,你审核批准后,再用 /harness-work 执行具体的计划条目。整个过程你不需要手写计划,只需要审批或纠正。
五个动词:Plan / Work / Review / Sync / Release
Harness 把整个开发流程压缩成 5 个命令,每个命令对应一个明确的阶段:
| 命令 | 作用 |
|---|---|
/harness-plan |
把自然语言需求转成 spec.md + Plans.md,含范围、验收标准、依赖、未知项和停止条件 |
/harness-work |
执行已批准的任务切片,TDD 模式下必须先写测试,所有改动不超出计划边界 |
/harness-review |
独立于实现之外的审查,主要发现直接标记为阻塞项 |
/harness-sync |
同步状态,保持计划与实际进度对齐 |
/harness-release |
检查发布就绪度、CHANGELOG 和 tag 边界,打包验证过的产出物 |
这里有个关键设计:非平凡计划会触发 team validation mode,自动从 sub-agent 或人工审核的视角检查 spec 与 Plans 的一致性、内存复用、产品适配和安全性。不是你一个人在审,Harness 帮你多角度看。
核心设计:Source-of-Truth 循环
Harness 最核心的理念是单一事实来源。spec.md 和 Plans.md 是项目唯一的真相,Agent 看不到的数据标记为 unknown,而不是悄悄编造。
graph TB
subgraph "Harness Loop"
A[User describes intent] --> B["/harness-plan: spec.md + Plans.md"]
B --> C{User approves?}
C -->|Yes| D["/harness-work: TDD + verify"]
C -->|No| B
D --> E["/harness-review: independent verdict"]
E -->|Major findings| D
E -->|Pass| F["/harness-release: evidence pack"]
end
style A fill:#FF6B6B,color:#000000
style B fill:#4ECDC4,color:#000000
style D fill:#45B7D1,color:#000000
style E fill:#96CEB4,color:#000000
style F fill:#FFEAA7,color:#000000每个阶段都有门禁:未观察到的数据不能被提升为断言(not_observed != absent),审查发现的问题不能放行。这让 Agent 的产出从"看起来还行"变成了"可验证地完成"。
不只是 Claude Code——多 Agent 支持
虽然名字里有 "Claude Code",但 Harness 的支持范围比想象中广:
| 工具 | 支持级别 | 安装方式 |
|---|---|---|
| Claude Code | Supported(主力) | 插件市场 + /harness-setup |
| Codex CLI | Internal-compatible | scripts/setup-codex.sh --user |
| OpenCode | Internal-compatible | scripts/setup-opencode.sh |
| Cursor | Internal-compatible | scripts/setup-cursor.sh |
| GitHub Copilot CLI | Candidate | 研究阶段 |
对于已经在多个 Agent 工具间切换的团队,Harness 提供了一致的流程框架。你不用因为换了工具就换一套工作方法。
值得关注的高级能力
Breezing 模式:Planner / Critic / Worker 三角色团队执行,适合较大的任务列表。仍然受计划质量和审查门禁约束,不会失控。
Orchestration 可视化(v4.14.0):这是最新版本的重点功能。每次 Agent 委派(比如让 Codex 或 Cursor 执行子任务)都会记录到 ledger,自动累加到项目级累计数据,最终生成一份 HTML scorecard。你能直观看到"这个项目到底用了多少 Claude、多少 Codex、多少 Cursor"。
harness-mem:可选的跨 session 记忆组件,项目级作用域,让 Harness 在不同对话间保持上下文。不想用可以不装,不影响核心流程。
迁移支持:如果你之前用其他插件体系,bin/harness doctor --migration-report 可以无破坏地扫描旧缓存、重复 skills 和旧符号链接,给出清理建议。
核心引擎用 Go 原生编写,不依赖 Node.js,安装和运行都很轻量。MIT 协议,随便用。
试过了?评论区说说你的体验。还没试?收藏起来周末折腾。
作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。