内容
# 自动编程
**工作流程**决定了程序的执行方式,而不是模型。输入一个简单的任务描述,系统将自动规划、构建、审查、调试并交付成果,通过明确的工作流程,而不是大型语言模型的随意性。无需记忆命令,无需回忆技能,只需一个规则文件,即可在 Pi、Claude Code 和 Codex 中共享。
[](https://pi.dev)
[](LICENSE)
[](https://github.com/romiluz13/auto-pi)
---
## 核心思想
每个编程代理都存在相同的缺陷:**模型决定了执行的操作和时机**。你获得了一系列技能,但希望模型在合适的时间选择合适的技能。它往往不会。模型可能会在第 20 次迭代后忘记规则,跳过审查,或者报告从未运行过的测试结果。
auto-pi 通过 **结构化的工作流程** 弥补了这一缺陷 - 在 Pi 的运行时环境中强制执行(工具限制、迭代边界),在其他情况下通过提示(阶段转换、验证声明)来引导:
- **10 步自主工作流程** - 理解 → 集思广益 → 计划 → 构建 → 测试 → 审查 → 验证 → 文档 → 记忆 → 移交。工作流程是路由器。每个步骤都指定了要调用的确切技能。无需路由器子代理,无需自由意志。
- **防护栏** - 将规则文件保存在系统中:每轮提醒一次,会议开始和压缩后重新注入规则。规则不会从注意力窗口中淡出。
- **真正的循环引擎** - `/loop` 运行计划 → 构建 → 审查 → 验证 → 交付,具有有限的补救、平台检测、独立验证器收敛和 RED 守护进程,拒绝将自我报告的失败测试推进到“完成”。
- **教练** - 大型语言模型读取纯英文任务,从实时命令目录中选择合适的工作流程,并提供一键式操作。您无需输入斜杠命令。
人类引导。结构强制执行。模型执行。
## 实际演示
```
您:添加仪表板的暗黑模式
教练:→ 构建 - 添加暗黑主题令牌集 + 切换
1. /build 2. /feature 3. 直接执行
[输入以确认]
→ /build "为仪表板添加暗黑模式"
计划 合同门 → 设计令牌 + 切换钩子
构建 实现,TDD(红 → 绿),粘贴退出代码作为证明
审查 3 名新鲜审查者(标准 / 规格 / 安全),收敛
验证 独立分数 ≥ 8,无测试诚信问题,与锚点协调
交付 清洁的常规提交
```
没有输入斜杠命令。没有回忆技能。工作流程自行运行。
## 内部结构
**14 个 npm 包** - 每个功能轴一个,经过冲突检查。内存、子代理、LSP/镜头、Web、Intercom、倒回、破坏性命令门、上下文侧车、观察性、状态栏、结构化问题、提示模板引擎、侧面对话。完整列表及每个轴的所属信息在 [`config/settings.json`](config/settings.json) 中。
**5 个自定义扩展** - 和谐保护胶水,每个拥有一个轴:
| 扩展 | 功能 |
| ----------- | -------------- |
| `coach.ts` | 纯英文 → 工作流程。大型语言模型在实时 `pi.getCommands()` 目录上分类。 一键接受。 |
| `loop.ts` | 有限自主循环。合同门 → 计划 → 构建 → 审查 → 验证 → 交付。RED 守护进程、平台检测、圣塔收敛、两个出口(PASS / CAP)。 |
| `guardrails.ts` | 将 AGENTS.md 保存在系统中:每轮提醒,启动时和压缩后重新注入规则。 通过构造防止会议中途遗忘。 |
| `palette.ts` | 模糊命令调色板,涵盖每个斜杠命令(`Ctrl+Shift+K`)。零漂移 - 动态发现。 |
| `handoff.ts` | 确定性 `HANDOFF.md` 生成。无需大型语言模型调用,无需压缩 - 只有会话账本,渲染。 |
**9 个斜杠命令** - 用户界面,全部可通过教练路由:
`/build` `/debug` `/feature` `/fix` `/plan` `/research` `/review` `/ship` `/setup-audit`
`/feature` 链接 `plan → build → review → ship`。`/fix` 链接 `debug → build → review → ship`。其余为单阶段。
**11 个手动调整的技能** - 工作流程的可执行知识:
`brainstorming` · `code-review` · `codebase-hygiene` · `diagnosing-bugs` ·
`diff-driven-docs` · `grilling` · `memory-compounding` · `receiving-code-review` ·
`setup-maintenance` · `setup-matt-pocock-skills` · `verification-before-completion`
另外 **50+ 社区技能** 自动获取(Bright Data、Octocode、MongoDB、Vercel、agent-browser、Matt Pocock 的工程套件)- 由 harness 实时发现,由工作流程调用,绝不通过记忆。
**一个 131 行的规则文件** - `config/agents.md`,三个代理(Pi / Claude Code / Codex)共享的单一真相来源。编辑一次,所有代理都遵循它。
## 为什么不同
| 其他代理设置 | auto-pi |
| ------------------------ | ------- |
| 大型语言模型选择执行的技能和时机 | **工作流程**选择。模型执行。 |
| 规则在第 20 次迭代后淡出上下文 | **防护栏** 将它们保留在提示中 - 每轮提醒,启动时和压缩后重新注入规则 |
| “测试通过”基于代理的说法 | **RED 守护进程 + 证据块** - 自我报告的失败测试循环回到修复,而不是向前推进到交付;构建需要命令 + 退出代码 + 输出作为证明 |
| 单个前向管道 | 真实的 **循环引擎**,具有有限的补救、平台检测、验证器收敛 |
| 记住 20 个斜杠命令 | 输入英文。**教练**路由。 |
| 一堆可能冲突的包 | **和谐检查** - 每个轴都有一个所有者,每个扩展都经过 8 名新鲜上下文审查者的审计 |
| 与一个工具绑定 | 一个规则文件,**三个代理**(Pi / Claude Code / Codex) |
| 腐烂和漂移 | **自我维护** - `/setup-audit` 每月运行 6 个并行检查 |
## 安装
```bash
git clone https://github.com/romiluz13/auto-pi.git
cd auto-pi
./scripts/install.sh
```
安装程序在所有三个代理上安装规则文件,安装 14 个包,部署 5 个扩展 + 9 个命令 + 11 个技能,并配置网络搜索。输入一个命令。重新加载 Pi (`/reload`) 并输入一个任务。
**先决条件:** Pi (`curl -fsSL https://pi.dev/install.sh | sh`),Node 20+,npm,git。`gh` 可选。
**更新所有内容**(包 + 社区技能):`./scripts/update.sh`
## 使用方法
```
pi
> 添加用户列表的分页 # 教练建议 /feature
> !修复这个小错误 # '!' = 原始,无路由
> /loop "将身份验证迁移到 JWT 端到端" # 困难任务 → 有限自主循环
> /setup-audit # 每月健康检查
```
前缀 `!` 表示原始模式(无教练)。前缀 `/` 直接运行命令。
`Ctrl+Shift+K` 打开调色板。`/handoff` 编写继续文档。
## 构建方式
- **它自己吃自己。** 2026-07-08 Pocock 对齐修剪(问题 #1-#8)由运行此配置的 Pi 研究、规范、标记、构建和验证。提交记录在日志中。
- **它经过审计,而不是仅仅构建。** 8 名新鲜上下文审查者检查了每个扩展、包、配置、技能、提示和文档,以确保与安装的 Pi v0.80.3 类型定义的一致性。发现和修复记录在 [`docs/audits/`](docs/audits/) 中。
- **它对其拒绝的内容保持诚实。** 检视是证明 - 因冲突而排除的包(`pi-dynamic-workflows`,团队模式 RPC,`tomsej/pi-ext` 包)记录在 `extensions/README.md` 中。
## 结构
```
config/agents.md 规则文件(131 行,跨 3 个代理共享)
config/settings.json 14 个包,压缩,重试,内存,子代理
config/models.json 提供商 + 模型定义
extensions/ 5 个自定义 TypeScript 扩展(教练,循环,防护栏,调色板,移交)
prompts/ 9 个斜杠命令(用户界面)
skills/ 11 个手动调整的技能
scripts/install.sh 一键安装
scripts/update.sh 每月刷新
docs/audits/ 审计轨迹
```
## 许可证
MIT