repo-harness
中文
v0.7.1 Star 开始使用
// 智能体原生的工程工作流

基于文件的会话,而非聊天记忆。

repo-harness 将 Claude 与 Codex 的编码会话转化为可复用的、仓库本地的工作流。把已批准的计划或冲刺交给智能体——你的循环只是 review 然后 next。

已支持 Claude Codex ChatGPT Pro
Hook the robot rides Claude and Codex toward the carrot
zsh — adopt
# 1. bootstrap the runtime once
$ npx -y repo-harness init
✓ host adapters · skills · CodeGraph configured
# 2. preview, then apply the repo-local contract
$ repo-harness adopt --dry-run
✓ Migration Report — 14 surfaces ready
// 为何基于文件

聊天会遗忘,仓库会记住。

同一个协作问题,两种做法。repo-harness 把事实来源从对话线程移入文件——让每个智能体、每个人都能读到。

基于聊天记忆的协作
  • 会话结束或达到上限时,上下文随之蒸发
  • 每次会话都靠 grep 与逐文件阅读重新推导结构
  • 没有留下「做了什么决定、为什么」的持久记录
  • Claude 与 Codex 在不同线程间逐渐失同步
  • 评审意味着把整段对话重新读一遍
repo-harness
基于文件的工作流
  • 从 .ai/harness/handoff/ 精确恢复到下一步
  • 约 12KB 的稳定根上下文,外加 CodeGraph 索引
  • 计划、契约、检查与评审都存放在仓库中
  • Claude 与 Codex 优先读取同一份源工件
  • 凭一张 Human Review Card 加机器证据完成评审
// 它做什么

功能面被刻意收窄。

检视仓库、安装仓库本地的工作流文件、通过 hook 路由宿主事件,并让工作流界面在 Claude、Codex 与人类之间保持一致。

基于文件的会话

交接、计划与恢复包都存放在仓库里。会话可以中途结束;下一次会从精确的下一步、阻塞项与改动文件恢复。

天生节省 token

约 12KB 的稳定根上下文加上用于结构化查询的 CodeGraph 索引——不再每次会话都靠 grep 与逐文件阅读重扫仓库。

守护与追踪的 hook

八条受管路由负责告警、拦截、追踪与交接。编辑闸门在计划批准前保持关闭;完成声明闸门会校验基于文件的证据。

一张 Human Review Card

每个任务一个单屏决策界面:结论、预期与实际文件、已通过的命令、残余风险与回滚。

隔离的工作树

智能体在关联分支或工作树中工作,受限于契约允许的路径——无关的未提交改动得到保护。

本地且可审计

持久事实是仓库文件,而非聊天记录或托管线程。可选的 MCP 边车只暴露工作流工件——不写源码,不开 shell。

// 一眼看清整个系统

本地、可审计、智能体原生。

八个层级,一个事实来源。CLI 负责编排;契约与归档系统保存持久状态;验证层证明工作成果——ChatGPT Pro 在本地规划,Claude 或 Codex 执行。

接口 编排器 契约与状态 归档系统 委派 验证 集成 产出
repo-harness 架构 · 点击放大
repo-harness architecture, full size
// 从规划到收尾

一条分层链路,贯穿始终。

规划链路被刻意分层。每一步都写下一份决策完备的工件,供下一个智能体优先阅读——聊天永远不是事实来源。

每个任务都从结构化的尽职调查开始——Geju 的 P1/P2/P3 方法。
P1
勘察

勘察地形:本次改动涉及的文件、界面与既有实现。

P2
追踪

追踪影响:调用方、被调用方,以及背后的成因链。

P3
决策

决策与依据:所选方案及其理由——记录给下一个智能体。

$ repo-harness prd
产品意图

先做一次有引导的方向梳理,再在 plans/prds/ 下生成上层 PRD。

$ repo-harness sprint
有序待办

PRD 化为带有可机器校验验收行的冲刺。

$ repo-harness goal
Claude 或 Codex 执行

一段受限的 /goal 提示在任一智能体上逐片跑完冲刺。

交付
人工评审路径

仅当评审建议通过、卡片结论为通过、且外部验收通过时才接受。随后检视契约、最新追踪与改动文件。

checks/latest.json
$ repo-harness mcp prepare-goal \
--prd plans/prds/auth.prd.md \
--sprint plans/sprints/auth.sprint.md
› .ai/harness/handoff/codex-goal.md
✓ goal handoff ready
// chatgpt pro 作为规划者

用 ChatGPT Pro 规划,用 Claude 或 Codex 执行。

可选的 repo-harness mcp 边车只向 MCP 客户端暴露 工作流工件。ChatGPT Pro 基于真实仓库状态规划,把一个想法推进经过 PRD → Sprint → Goal 交接——随后你现有的 Claude 或 Codex 会话执行这份基于文件的冲刺。

  1. 1
    读取仓库状态

    ChatGPT 通过 MCP 边车读取工作流文件——计划、契约、检查、交接。

  2. 2
    编写 PRD

    write_prd_from_idea 在 plans/prds/ 下起草一份决策完备的 PRD。

  3. 3
    编写 Sprint

    write_checklist_sprint 将其转为带可机器校验验收的有序待办。

  4. 4
    准备交接

    prepare_codex_goal_from_sprint 写出 .ai/harness/handoff/codex-goal.md。

  5. 5
    Claude 或 Codex 执行

    你现有的 Claude 或 Codex 会话运行宿主原生的 /goal 提示,并暂存每个已完成的冲刺阶段。

mcp — planner profile
# expose only workflow artifacts to ChatGPT
$ repo-harness mcp setup chatgpt --repo .
$ repo-harness mcp serve --transport http \
--host 127.0.0.1 --port 8765 --profile planner
› connect the /mcp URL as a ChatGPT Connector
✓ planner online — read-only over workflow files
安全边界
不写源码 不执行任意 shell 不默认运行 与 API 配额分离
// 守护、追踪与交接

八条受管 hook 路由。

已安装的适配器掌管八条路由。元组 event + routeId + matcher 是稳定契约——它们跨会话告警、拦截、追踪与交接。

路由匹配器职责
SessionStart .default all sessions 在工作开始前注入上一份交接、冲刺状态以及只读的配置安全发现。
PreToolUse .edit Edit | Write 在任何实现性编辑之前强制工作树策略与计划/契约就绪。
PreToolUse .subagent Task | Agent 让委派的工作经由父会话返回,而非泄漏出完成声明。
PostToolUse .edit Edit | Write 记录编辑追踪,刷新交接与任务状态,排队处理架构漂移。
PostToolUse .bash Bash 观察命令结果并捕获验证证据,而不取代运行器。
PostToolUse .always all tools 低噪声、始终在线的追踪与运行时观察;过期副本会带刷新提示软跳过。
UserPromptSubmit .default all prompts 对提示意图分类,路由规划/检查/排查提示,渲染宿主安全的指引。
Stop .default session stop 完成交接,并防止在草稿计划或证据缺口未解时结束。

守护路由失败即关闭——脚本缺失时,必需的闸门会拦截。

// 人工评审路径

在一块屏幕上接受或拒绝。

每个任务都写出一张 Human Review Card——单屏决策界面。看清改了什么、为何在范围内、由什么验证、还剩什么风险,以及如何回滚。

仅当评审建议通过、卡片结论为通过、且外部验收为通过、not_required 或明确的人工豁免时才接受。

tasks/reviews/20260618-1042-add-oauth.review.md
# Human Review Card 结论 · 通过
变更类型
功能——新增 OAuth 设备流
已通过命令
bun test check-task-workflow --strict
预期与实际文件
src/auth/device-flow.ts
src/auth/index.ts
tests/auth/device-flow.test.ts
外部验收
人工豁免
残余风险
token 刷新路径已有测试覆盖;限流退避仅为建议项。
评审动作
接受
回滚
git revert codex/add-oauth
// 头五分钟

由 Bun 驱动。一条命令完成引导。

默认安装器运行在 Bun 上——无需配置 Node,缺失时还会替你装好 Bun。已经在用 Node?同样可用。先引导一次运行时,再用 dry run 预览仓库本地契约,然后才应用任何改动。

先预览,再应用
在仓库根目录运行 repo-harness adopt --dry-run。它会报告每个将被创建或刷新的文件——确认报告无误后再应用。
完整文档与参考
install
# macOS / Linux — installs Bun if missing
$ curl -fsSL https://raw.githubusercontent.com/\
Ancienttwo/repo-harness/main/install.sh | sh
$ repo-harness init
✓ host adapters · skills · CodeGraph configured
// 头五分钟

让你的下一次智能体会话变得可恢复。

引导运行时,用 dry run 预览契约,然后验证工作流。免费且基于 MIT 开源。

$ bun add -g repo-harness