基于 Anthropic 长时间运行 Agent 理念构建的全自动编程系统。通过 opencode 子进程驱动,跨多个上下文窗口持续增量开发,直到项目完成。
Step 1: 用 app-spec-generator skill 生成 docs/app_spec.md
Step 2: 用 auto-code-bot 执行任务直到完成
为什么分拆:
docs/app_spec.md是源头,质量决定后续一切- 如果已有
task.json,可直接执行,跳过 app_spec 阶段 - 生成 spec 需要迭代打磨,用更强大的 agent
- auto-code-bot 专注执行,职责单一
- 符合论文的 initializer + coding agent 分离
- 支持 OpenAI、DeepSeek、MiniMax 等主流模型
- 可通过命令行参数或配置文件灵活切换
- 基于
task.json的任务清单 - 拓扑排序自动处理任务依赖
- 支持断点续传,中断后自动恢复
- 单包工程:直接处理,简单高效
- 多包工程 (Monorepo):自动检测
pnpm-workspace.yaml,根据task.json中的workspace字段智能切换目录,跨多个包协作开发
⚠️ 多包工程支持目前处于早期阶段,欢迎反馈问题与改进建议
- 自动运行浏览器测试 (Playwright/Puppeteer)
- TypeScript 类型检查
- 构建验证
- 自动生成符合 Conventional Commits 格式的提交信息
- 自动更新版本号与 Changelog
- 提供 MCP 协议支持,可直接对接 Claude Desktop、Cursor 等 IDE
auto-code-bot/
├── pnpm-workspace.yaml # pnpm 工作区配置
├── package.json # 根目录 (workspace)
├── tsconfig.json # TypeScript 项目引用
├── docs/ # 文档
│ ├── app_spec.md # 项目规格模板
│ ├── project_status.md # 项目状态
│ ├── ROADMAP.md # 版本路线图
│ ├── mcp.md # MCP 服务器配置指南
│ └── multi-package-publishing.md # 发布指南
├── task.json # 任务清单(根目录)
├── packages/
│ ├── cli/ # CLI 包
│ │ ├── package.json # name: auto-code-bot
│ │ ├── src/
│ │ └── dist/
│ └── mcp/ # MCP 服务包
│ ├── package.json # name: auto-code-mcp
│ └── src/
└── prompts/ # Agent 提示词
├── AGENTS.md
└── app_spec.md
pnpm install# 构建所有包
pnpm build
# 构建单个包
pnpm build:cli
pnpm build:mcp# 开发 CLI
pnpm dev:cli
# 开发 MCP
pnpm dev:mcp详细配置说明见 docs/mcp.md。
{
"mcpServers": {
"auto-code-bot": {
"command": "node",
"args": ["packages/mcp/dist/index.js"]
}
}
}# 进入 CLI 包目录
cd packages/cli
# 运行 CLI(推荐方式)
npx tsx src/auto-dev.ts "D:\你的项目路径" --ulw --max-iterations 2| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
[project-dir] |
- | 项目目录(目标项目) | . |
--ulw |
- | 启用 ultrawork 模式 | 关闭 |
--model |
-m |
指定模型 | config / minimax(...) |
--agent |
-a |
指定 agent 名称 | 默认 |
--max-iterations |
- | 最大迭代轮数 | 无限制 |
--init-only |
- | 仅生成 app_spec.md 和 task.json,不执行 | 关闭 |
--extend |
-e |
追加新功能模式 | 关闭 |
--config |
-c |
配置文件路径 | auto-code-bot.json |
--spec |
- | 规格文件路径 | - |
--desc |
- | 描述生成规格 | - |
--package-manager |
- | 包管理器 | npm |
--git-branch |
- | Git 分支 | develop |
--silent |
- | 静默模式:opencode 输出写文件 | 关闭 |
--log-file |
- | 日志文件路径 | auto-code-bot.log |
详细的工作流说明见 docs/workflow.md。
Phase 1: 生成 app_spec.md
→ 使用 app-spec-generator skill
Phase 2: 生成 task.json
→ auto-code-bot <dir> --init-only
Phase 3: 审核 task.json(推荐)
→ 使用 task-auditor skill
Phase 4: 执行任务
→ auto-code-bot <dir> --ulw
# 在当前工程运行,自动检测 docs/app_spec.md
cd packages/cli
npx tsx src/auto-dev.ts "D:\workspaces\fe-workspace\my-project" --ulw
# 指定最大迭代次数
cd packages/cli
npx tsx src/auto-dev.ts "D:\workspaces\fe-workspace\my-project" --ulw --max-iterations 5
# 使用指定模型
cd packages/cli
npx tsx src/auto-dev.ts "D:\workspaces\fe-workspace\my-project" --ulw -m deepseek/deepseek-chat
# 继续之前中断的任务
cd packages/cli
npx tsx src/auto-dev.ts "D:\workspaces\fe-workspace\my-project" --ulw
# 追加新功能
cd packages/cli
npx tsx src/auto-dev.ts "D:\workspaces\fe-workspace\my-project" --extend --ulw- 目标项目需要有
docs/app_spec.md文件 - 多包项目会检测
pnpm-workspace.yaml并根据 task.json 中的 workspace 字段切换目录 - 默认使用
develop分支进行开发
Step 1: 读取 docs/app_spec.md + task.json + git log
Step 2: 检查/初始化 git(develop 分支)
Step 3: 回归验证(确认之前任务仍正常)
Step 4: 拓扑排序选择下一个可执行任务
Step 5: 实现功能
Step 6: 测试验证(必须 browser 测试)
Step 7: git commit(Conventional Commits 格式)
Step 8: 更新 task.json + progress.txt
在项目目录创建 auto-code-bot.json:
{
"model": "minimax(Custom)/MiniMax-M2.5",
"packageManager": "npm",
"agent": "",
"ulw": false,
"maxIterations": 0,
"gitBranch": "develop"
}优先级: CLI 参数 > 配置文件 > 默认值
使用 changesets 管理多包版本。
# 创建版本变更
pnpm changeset
# 更新版本
pnpm changeset version
# 发布所有包
pnpm changeset publish- Effective harnesses for long-running agents — Anthropic
- auto-coding-agent-demo — SamuelQZQ
{ "tasks": [ { "id": "task-1", "type": "package", "workspace": "packages/shared-ui", "category": "functional", "description": "Create shared UI button component", "dependsOn": [], "steps": [...], "passes": false } ] }