返回资讯中心
外部精选
软件工程
#开发者实时流

开源工具harness让各编码AI代理统一执行同一套规则

来源标题:An open-source harness for coding agents that shows its work

一款名为harness的开源工具发布,可让Claude Code、Cursor、GitHub Copilot、Windsurf、Aider及本地LLM等不同编码代理以相同方式执行用户自定义的规则、工作流和安全约束。该工具以Claude Code为参考实现,规则通过钩子在Claude Code和Pi上强制执行,在其他工具上则作为规则读取。其工作流含研究、规划、构建、评审四个阶段,每阶段须通过验证及可选的第二模型评审才能完成。

Hacker News 最新iamgoga2026/11/7 · 今天29 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

为 AI 辅助编程打造的可强制执行 harness:你的规则、你的工作流、你的安全护栏,由你使用的每一个编码 agent 以相同方式执行。 以 Claude Code 作为参考实现构建,同时提供与供应商无关的 Pi 强制执行 harness,以及面向 Cursor、GitHub Copilot、Windsurf、Aider 和本地 LLM 的可移植约定。 在 master 上录制:cct 命令尚未进入最新发布版。GIF 中展示的每条命令都由 CI 在渲染前实际运行——docs/demo/。 📖 深入阅读:Stop Fighting AI Agents and Build a Reusable Multi-Agent Dev Environment——这个项目背后的完整故事、从 13 次以上真实构建会话中得到的经验教训,以及每条规则为何存在。 站得住的规则。编码标准、安全约束和约定安装一次,便会在每个会话、每个工具中加载——在 Claude Code 和 Pi 上由 hook 强制执行,在其他地方则作为规则被读取。 带关卡的工作流。研究 → 规划 → 构建 → 评审,一个阶段只有在其验证通过后才能完成;如果你愿意,还可以让第二个模型评审 diff。 按需获得第二意见。指向任意供应商——托管 API、你自己 GPU 上的模型,或另一个 CLI——它就会按照固定的裁决契约评审你的工作。 可审计的无人值守构建。一个驱动在会话之外逐阶段构建已批准的功能,受支出和时间上限约束,并留下每一次决策的账本。 用证据代替感觉。会话、成本和基准运行结果都落到本地存储中,并配有 Web UI,因此你对配置的改动是被测量出来的,而不是靠感觉。 快速开始 从克隆到第一个会话大约五分钟。

1. Clone the latest stable release (master is unreleased, in development)

git clone --branch v2.0.0 https://github.com/gosha70/code-copilot-team.git cd code-copilot-team

2. Install for your tool — see "Choose your tool" below

./scripts/setup.sh --claude-code # Claude Code → ~/.claude/

3. Open a project — global rules load automatically

claude-code ~/projects/my-app 其他所有安装路径——Pi、Codex、Cursor、Copilot、Windsurf、Aider、Claude Code 插件——都在安装选项中。 以 v2.0.0 发布。本页描述的所有内容都在最新发布版中,也是快速开始所安装的内容。master 继续作为活跃开发分支;请将其视为开发中版本。 ./scripts/cct list # every feature, command, skill and capability 选择你的工具 两个 harness 在运行时强制执行契约;其余工具则将其作为规则读取。计数来自功能目录,因此此表不会与适配器实际交付的内容脱节。 “强制执行”和“建议性”在每项功能和每项能力上的含义,见功能成熟度和生成的兼容性矩阵。 三条路径,最终都指向你可以检查的东西。每条都说明应该期待什么,以及如果没有发生该做什么。 claude-code ~/projects/my-app 期待:启动器打开一个会话,状态栏中显示你的 git 分支,全局规则无需请求即被加载。 验证:问 agent“加载了哪些规则?”——它应当说出四条全局规则。 如果没有:运行 ./scripts/cct doctor——它会检查工具、供应商配置以及每个已安装的适配器,并指出缺少哪一个。然后运行 ./scripts/setup.sh --sync --claude-code。完整布局见配置层。

Declare a reviewer in ~/.code-copilot-team/providers.toml, then prove it

answers — the probe command:

scripts/review-round-runner.sh . --probe --peer <name> --subject claude --out /tmp/probe.json jq '{provider, verdict, duration_sec, error}' /tmp/probe.json 期待:退出码为 0,裁决为 PASS、FAIL 或 INCONCLUSIVE。 验证:claude-code --peer-review <name> ~/projects/my-app,然后在阶段结束时运行 /review-submit。 如果没有:退出码 2 表示链条中没有任何一项通过健康检查;退出码 3 表示供应商运行了但没有返回可解析的裁决——回答的末尾在文件中。在 v2.0.0 之前的发布版中没有 probe,请改用 scripts/providers-health.sh --provider <name> 检查供应商。有序的设置步骤见自动代码评审 cookbook。 它有前提条件:该功能已批准的 SDD 包(spec.md、plan.md、tasks.md 以及最终确定的 verification.yaml)、一个能应答的评审者,以及为拉取请求完成认证的 gh。 /auto-build my-feature # in a session: scaffolds specs/my-feature/automation.json /auto-build 写入 "profile": "advisory",而 advisory 不发布任何内容——它只构建并报告。选择本次运行被允许做什么:pr 推送分支并打开 PR,merge 还会启用带门控的自动合并,unattended 是在你不在场时运行的 profile,它必须在 automation.json 中声明并先通过准入: scripts/validate-spec.sh --unattended --feature-id my-feature # the admission bar CCT_REVIEW_DIFF_MAX_LINES=4000 scripts/auto-build-loop.sh my-feature --profile unattended 期待:准入通过,驱动在 automation.json 的上限内逐阶段构建,并在 pr、merge 或 unattended 情况下于结束时打开拉取请求。 验证:session-analytics runs(或 Studio 的 Runs 标签页)显示本次运行、其相对上限的成本,以及每个阶段的评审裁决。 如果没有:准入会打印每一个失败项,而不是在第一个失败处停下。一旦运行开始,.cct/auto-build/<feature>/ 下的账本会说明它为何停止——termination.json 给出原因,triage-report.md 说明是否可以恢复。见无人值守自动构建。 阶段 模型 投入程度 委派 会发生什么 研究 Opus(最高) 高 无 探索代码库,总结发现,识别约束 规划 Opus(最高) 高 无 设计方案,获得用户批准 构建 Sonnet(快速) 中 是 Team Lead 委派给专家子 agent 构建(循环) Sonnet(快速) 中 无 Ralph Loop:单个 agent 自主迭代各个故事 评审 Opus(最高) 高 无 整体评审,运行测试,验证一致性

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →