Skip to content

CNife/opencode-harness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCode Harness Engineering 模板

把 AI Coding Agent 的"错误→修复→不再犯"闭环,固化到项目里的模板。

参考自 新安《Harness Engineering:耗时一周,我是如何将应用的AI Coding率提升至90%的》


这是什么(30 秒看懂)

三个 AI Agent + 一套流程 + 一些命令,帮你把开发需求从分析到部署走完,且每步留痕。

三个 Agent 各司其职,你通过 Tab 键切换:

Agent 什么时候切过去 它帮你做什么
Owner 拿到新需求时 理解需求 → 写 spec → 拆任务 → 维护变更记录
Coder 确定要写代码了 按分层规范编码 → 写单元测试 → 部署验证
Reviewer 需要查漏补缺时 评审方案 → 评审代码 → 评审测试,它改不了代码

Pipeline 命令: 在 OpenCode 里敲 / 就能看到可用命令,告诉 AI 当前该做什么。


首次使用(5 分钟)

Step 1:复制到项目

cp -r ~/code/opencode-harness/{.,}* /path/to/your/project/
cp -r ~/code/opencode-harness/.opencode /path/to/your/project/

Step 2:告诉 AI 你的项目是什么

改这几个文件,把占位符换成真实的:

改哪个 改什么 参考示例
AGENTS.md 第 3 行 {项目名称} 和技术栈 Python 3.12 / FastAPI / SQLAlchemy / Celery / Redis
.opencode/rules/ 下三个文件 工程结构、编码规范、开发流程 文件里的注释就是示例,照着改
wiki/ 下三个文件 你的业务链路、数据模型、业务流程 不急着填完,遇到需求时再补

Step 3:启动,跑一个需求试试

# 在项目根目录启动 OpenCode
opencode

# 默认进入 Owner Agent。输入:
/analyze-request

AI 会问你这个需求是什么,然后产出 spec.md + tasks.md。按 Tab 切到 Reviewer 评审,再切到 Coder 编码……就这样一站一站走下去。


一个需求怎么跑完(实战场景)

假设你接了个需求:"给订单列表加一个按日期筛选的功能"。

步骤 你做什么 AI 做什么 产出物
1 切到 Owner,敲 /analyze-request,描述需求 分析需求 → 产出 spec + tasks spec.mdtasks.md
2 你读一遍 spec,确认没问题
3 按 Tab 切到 Reviewer,敲 /review-plan 评审 spec + tasks,提意见 review_v1.md
4 如果评审通过,切到 Coder,敲 /implement 按分层规范写代码 代码变更、coding_report.md
5 切到 Reviewer,敲 /review-code 代码审查 code_review_v1.md
6 如果有 MUST FIX,切回 Coder 修,重复 4-5
7 切到 Coder,敲 /verify-deploy CI 验证 → 更新 summary ci_report.md、更新后的 summary.md
8 你最终确认交付

回退规则: 如果 CI 发现测试为 0 → 自动回退到写测试;编译错误 → 回退到改代码;需求理解错了 → 回退到重做分析。

评审上限: 需求评审最多 3 轮,代码/测试评审最多 2 轮,过了就找你拍板。


每阶段 AI 产出的文件在哪

.opencode/changes/{YYYYMMDD}-{类型}-{描述}/
├── summary.md                    ← 整个变更的"档案封面",每步完成后自动更新
├── request_analysis/
│   ├── spec.md                   ← 需求规格(写什么)
│   ├── tasks.md                  ← 任务拆解(怎么拆)
│   └── review/review_v1.md       ← 需求评审意见(v1, v2...版本递增)
├── coding/
│   ├── coding_report_v1.md       ← 编码报告(改了哪些文件)
│   └── review/code_review_v1.md  ← 代码评审意见
├── unit_test/                    ← 单元测试代码 + 报告
├── ci_result/                    ← CI 构建结果
└── deployment/                   ← 部署确认

关键文件:summary.md。整个变更的唯一真相源,任何 Agent 接手时先读它,就知道干到哪了。


常见问题

和不用模板有啥区别?

不用模板 = 每次跟 AI 说一遍项目背景,每轮改完没有记录,改了什么全靠记忆。用模板 = AI 自己读 rules + wiki,每步有产出物,随时可回溯。

需要把所有 wiki 和 rules 填完才用吗?

不用。rules 给三个示例就行(工程结构、编码规范、开发流程),wiki 遇到需求时再补。模板的精髓是渐进式填充,有坑再补规则。

怎么切 Agent?

Tab 键。OpenCode 默认进入 Owner,按 Tab 循环切换 Owner → Coder → Reviewer。

3 个 Agent 有什么区别?

Owner 能做所有事(分析 + 驱动流程),Coder 聚焦编码,Reviewer 改不了文件(write/edit 禁用),只管审查挑毛病。

模板文件结构一览

├── opencode.json                 # OpenCode 配置
├── AGENTS.md                     # 项目规则 + Wiki 加载指令
├── .opencode/
│   ├── agents/                   # 3 个 Agent 的定义(≈ 岗位说明书)
│   ├── rules/                    # 项目规范(待你填充)
│   ├── skills/                   # 4 个技能包(Agent 的工作 SOP)
│   ├── commands/                 # 7 个 pipeline 命令
│   └── changes/_template/        # 变更目录模板
└── wiki/                         # 业务知识库(待你填充)

About

OpenCode 适配的 Harness Engineering 项目模板

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages