开源项目

claude-code-harness

claude-code-harness

为 Claude Code 量身定制的开发工作流增强插件,通过「计划→工作→审查→发布」闭环解决 agent 工作漂移问题。相比直接使用 Claude Code,它强制生成规范文档、独立审查和可验证的交付证据,避免测试遗漏和记忆幻觉。支持跨会话记忆(可选 harness-mem)和 Codex/OpenCode 等工具的兼容适配。适合追求代码质量和流程可复现的团队,MIT 许可。

README

Claude Code Harness

Claude Harness

规划. 执行. 审查. 发布.
为 Claude Code 打造的一套纪律严明的交付循环,同时为 Codex 和 OpenCode 提供受控路径。

最新版本 许可证 Claude Code 技能 Go 核心

中文 | 日本語

Claude Code Harness 操作循环:规范、计划、执行、审查、发布

Claude Code 功能强大,但原始 agent 工作容易跑偏:计划停留在对话中、测试变成可选、审查发生得太晚、发布证据依靠记忆重建。Harness 将这一切转化为一条可重复的操作路径。

安装后,默认行为从“让 agent 写代码”变为:

  1. 编写规范与计划,
  2. 仅实现已批准的部分,
  3. 验证结果,
  4. 独立审查,
  5. 打包证据用于 PR 或发布。

快速开始

新用户应从他们已使用的工具入手。现有用户在清理或重新安装前应运行迁移报告。

路径 起点
新用户 以工具为导向的入门
现有用户 迁移检查
Claude Code 快速路径 30 秒安装
触发器验证 技能触发器关卡

30 秒安装

claude
/plugin marketplace add Chachamaru127/claude-code-harness
/plugin install claude-code-harness@claude-code-harness-marketplace
/harness-setup

接下来:用一个小请求运行 /harness-plan。

/harness-plan 改进 README 的入门流程

前 15 分钟

  1. 通过你的工具路径安装。
  2. 运行 /harness-setup 或等效的设置脚本。
  3. 用一个简单请求运行 /harness-plan;Harness 会生成 spec.md 和 Plans.md 草稿供你检查。小的拼写、文档和状态更新保持轻量。
  4. 批准生成的合约,或回复你想要的修正。
  5. 运行最小的已批准任务,例如 /harness-work 1.1.1。
  6. 运行 /harness-review 并保留验证输出。

你的工作不是手写计划。而是在执行继续之前批准或修正生成的合约。

工作原理

Harness 在 agent 工作周围增加了一个事实来源循环。5 个动词技能保持这个表面简洁:plan、work、review、sync、release。

  1. 你用自然语言描述期望结果。
  2. /harness-plan 草拟或更新 spec.md 和 Plans.md,包含范围、验收标准、未知项和停止条件。
  3. 非平凡的计划会记录 team_validation_mode,并通过团队/子 agent 或人工检查视角对计划进行验证,以确保 spec/Plans 对齐、记忆复用、产品适配、安全适配以及实践可行性。
  4. Harness 将这些文件视为事实来源。agent 未看到的数据保持为 unknown,而非被默默编造。
  5. /harness-work 以 TDD 和验证方式实现已批准的部分。
  6. /harness-review 将审查与实现分开。
  7. /harness-release 仅打包已验证的证据。

命令

命令 内部行为
/harness-setup 安装项目指南、命令表面、钩子和检查,使工作流从一个已知基线开始。
/harness-plan 将意图转化为 spec.md 和 Plans.md,包括范围、验收标准、依赖、未知项、停止条件以及非平凡计划验证。
/harness-work 执行一个已批准的任务或范围,必要时添加测试,运行验证,并将工作保持在计划内。
/harness-work all 运行完整的已批准计划,经历实现和审查路径;在计划明确且仓库基线已知后使用。
/harness-review 独立于实现审查结果,并将重大发现视为阻塞项。
/harness-release 在实现和审查完成后,检查发布就绪状态、CHANGELOG/标签边界以及证据打包。
bin/harness doctor --migration-report 盘点旧的插件缓存、Codex 技能、OpenCode 文件、符号链接和记忆状态,而不删除数据。

基本工作流

阶段 输出 关卡
调查 证据和未知项 不要将未被观察的数据提升为声明。
计划 spec.md + Plans.md 用户批准或修正生成的合约。
执行 代码和测试 当任务要求时,必须使用 TDD。
审查 独立判决 重大发现阻塞完成。
PR 证据包 PR 就绪不等于发布就绪。
发布 标签/发布工件 必须在发布路径上通过发布预检。

按工具安装

工具 层级 路径
Claude Code supported Claude 插件市场,然后 /harness-setup。
Codex CLI internal-compatible scripts/setup-codex.sh --user;直接插件冒烟测试单独跟踪。
Codex app candidate 仅候选冒烟测试;不要复用 Codex CLI 的证据。
OpenCode internal-compatible scripts/setup-opencode.sh;不声称运行时对等性。
Cursor candidate 仅限 PM 移交或适配器研究。
GitHub Copilot CLI candidate 仅限手动配置文件研究。
Antigravity CLI future/unsupported 此阶段无最终用户安装路径。

现有用户迁移

在更改现有设置前,运行 bin/harness doctor --migration-report。该报告会盘点过时的 Claude 插件缓存、重复的 Codex 技能、旧的符号链接、OpenCode 备份路径和 harness-mem 状态,但不删除任何内容。

支持边界

Harness 可以描述候选路径,但不继承来自 Superpowers、Hermes Agent 或任何其他项目的支持声明。只有当 Harness 拥有自己的 bootstrap、触发器、运行时和发布证据时,主机才会升级。

not_observed != absent:缺少本地证据意味着“在此处未证明”,而非“不可能”或“受支持”。

需求

  • Claude Code v2.1+(用于受支持的 Claude 路径)。
  • 一个具有写权限的项目仓库(用于本地设置)。
  • Go 原生护栏引擎不需要 Node.js。
  • 可选 harness-mem 用于跨会话记忆(在配置且健康时)。

高级用法

在基本触发器路径可见后再使用这些功能。

能力 新增内容 边界
Breezing 针对较大任务列表的规划者/评论者/工作者风格的团队执行。 仍受计划质量和审查的约束。
Codex 伴侣审查 通过 scripts/codex-companion.sh 提供基于模式的 Codex 第二意见。 原生的 codex exec 不是 Harness 伴侣路径。
OpenCode 引导 将 Harness 指导镜像到 OpenCode 兼容表面。 不声称真正的运行时对等性。
harness-mem 跨会话的项目级记忆和回忆功能。 可选伴侣;清除仍然是显式的。

文档

资源 描述
以工具为导向的入门 根据主机工具从哪里开始。
安装路径 每种工具的设置和支持层级边界。
迁移检查 现有用户影响、兼容性和回滚路径。
技能触发器关卡 如何验证安装成功。
能力矩阵 受支持、内部兼容、候选和不受支持的主机声明。
Claude Code 兼容性 当前 Claude Code 的需求和兼容性说明。
Cursor 集成 Cursor 移交边界和候选路径说明。
分发范围 包含路径 vs 兼容性路径 vs 仅开发路径。
强化对等性 Claude 钩子与 Codex 关口之间的运行时安全差异。
Work All 证据包 全计划执行的成功/失败验证合约。
变更日志 面向用户的版本历史。

贡献

欢迎提交 Issue 和 PR。参见 CONTRIBUTING.md。

致谢

许可证

MIT 许可证。参见 LICENSE.md。

开源项目Chachamaru1272026-05-28原文

相关内容