内容
我的π
一个可复制的π编码代理设置,代理决定,人类无需记住命令。14个软件包,56种技能,5个自定义扩展,一个131行的规则文件在π+ Claude Code + Codex之间共享。每个部分都有其位置 — 经过审计,和谐检查和自我维护。
[](https://pi.dev)
[](LICENSE)
---
## 看看实际操作
你不需要输入斜杠命令。你用纯英文输入任务,教练通过实时命令目录的LLM调用将其路由到正确的流程。单击确认,或选择另一个。
```
你: 在仪表盘上添加黑暗模式
教练: → 构建 — 多文件UI更改,建议/功能(计划→构建→审查→发布)
(同时激活:frontend-design,web-design-guidelines)
你: [输入]
→ /功能自动运行:头脑风暴 → TDD → 并行审查 → 验证 → 提交
```
```
你: Safari上的登录按钮已损坏
教练: → 调试 — 诊断是交付成果,建议/修复(调试→构建→审查→发布)
你: [输入]
→ /修复构建反馈循环,查找根本原因,修复,审查,发布
```
```
你: 这个设计过度了吗?研究一下
教练: → 研究 — 需要证据,建议/研究(并行分发)
你: [输入]
→ /研究分发子代理:网页(bdata),GitHub(octocode),代码库(grep / LSP)
→ 返回引用的简报,将发现保存到内存中
```
三点值得注意:
1. **你从未记住命令。** 教练读取你的任务并显示正确的命令。添加新技能明天,自动路由到它 — 零代码或配置编辑。
2. **技能自动激活。** UI技能因为任务提到了仪表盘。无需手动`/技能:frontend-design`。
3. **它运行到完成。** `/功能` 链接计划 → 构建 → 审查 → 发布自主。你不需要监控每个步骤。
如果教练出错,点击`直接执行`(直通)或选择`浏览所有命令(/调色板)`。在消息前加上`!`前缀即可进入原始模式。
---
## 快速开始(3个命令)
```bash
# 1. 克隆并安装所有内容
git clone https://github.com/romiluz13/my-pi.git
cd my-pi && ./scripts/install.sh
# 2. 认证外部CLI(一次性,免费)
bdata 登录 # Bright Data — 网络搜索 + 爬虫,5,000免费积分/月
npx octocode auth 登录 # GitHub — 代码研究
# 3. 启动Pi并告诉它你是谁
pi
# 然后输入:/memory-interview
```
之后,只需描述你想要的。Pi处理其余的。
---
## 什么使它与众不同
三个原则,通过代码而非感觉来强制执行:
1. **代理决定;人类不手动执行。** 所有14个用户调用的技能都是自动可判定的 — 模型在合适时调用它们。教练通过LLM判断路由输入,而不是硬编码的正则表达式表。这是Matt Pocock学校:代理很智能,给它判断力。
2. **每个部分位置。** 没有膨胀,没有重复,没有“以防万一”。9个软件包被拒绝,原因有查(见下文)。一个破坏多行bash的软件包(@hypabolic/pi-hypa)被删除。
3. **CLI + 技能,而不是MCP。** Pi的理念是最小化 — 通过`bdata` CLI访问网络,通过`octocode` CLI进行代码研究,而不是具有93个依赖的MCP服务器。每个功能都是扩展,技能或CLI。
---
## 10步自主工作流程
每个任务都自动经历这些步骤。工作流程是技能路由器 — 每个步骤都指定要使用的确切技能。不需要单独的路由器技能。
```
1. 了解 → 读取存储库,搜索内存,如果不明确则提出一个问题
2. 头脑风暴 → 新功能:设计前编码,获取用户批准
3. 计划 → /to-spec + /to-tickets,或用于战争迷雾的/wayfinder
4. 构建 → /build 或 /feature(TDD:先测试,看到失败,实施,测试通过)
5. 测试 → 运行测试,如果失败则错误技能(先)
6. 审查 → 2-3个并行审查者子代理,防锚定,上下文新鲜
7. 验证 + 提交 → 证据先于声明,独立审计员,然后提交
8. 文档 → AGENTS.md用于注意事项,ADR用于决策,CHANGELOG用于用户
9. 记住 → 保存到内存(SQLite + 观察),在压缩前捕获
10. 移交 → 如果会话时间过长,则使用安全压缩技能
```
**:** 步骤3在一个不断开窗口中保持。中途压缩会丢失线索。
---
## 9个斜
您输入的每个命令都启动一个自主工作流程。教练建议正确的命令 + 自动激活正确的技能。
| 命令 | 功能 | 加载的技能 |
| --------- | ------------- | ---------------- |
| `/feature "添加黑暗模式"` | **完整链条:** 计划 → 构建 → 审查 → 发布ing → tdd → code-review → verification |
fix "登录按钮 | **完整链** 调试 → → 审查 → 发布 | diagnosing-bugs → tdd → code-review → verification |
| `/plan "重新设计身份验证"` | 头脑风暴,设计,编写规范 + 票据 | brainstorming |
| `/build "添加JWT验证"` | TDD:编写测试 → 看到失败 → 实现 → 看到通过 | tdd |
| `/debug "支付在Stripe上失败"` | 构建反馈循环,找到根本原因,修复 | diagnosing-bugs |
| `/review` | 当前差异的并行审查者,防锚 code-review |
|` | 验证证据,提交,记录 | verificationpletion |
| `/比较状态库"` | 跨网络,GitHub库的并行分发 | research |
|-audit` | **完整健康检查:**谐性,教练,磁盘,AG,生态系统窃取 | setup-maintenance`/feature` 和 `/fix` 是强大的命令** — 它们链接4个技能端到端并自主运行直到完成。一个命令,获得一个完整审查,提交的功能。**`/setup-audit` 是自我维护命令** — 每月运行一次以保持设置敏锐。
还有 `/loop "<task>"`(`Ctrl+Shift+L`)— 用于困难的多阶段任务的有界循环引擎。它运行计划 → 构建 → 审查 → 验证 → 发布,具有阶段门,迭代上限(3),高原检测和独立跨模型验证器收敛。如果任务具有可分离的关注点或合同,请优选它而不是`/feature`。
---
## 14个Pi软件包
每个软件包都有其位置。没有重复,没有膨胀。
| 软件包 | 功能 |
| --------- | ------------- |
| pi-hermes-memory | 持久的跨会话内存(SQLite FTS5),会话搜索,从更正中学习 |
| pi-observational-memory | 会话内内存,在压缩过程中存活 — 观察 + 反思 |
| pi-subagents | 委托给子代理 — 审查,侦察,并行工作,链条 |
| pi-lens | LSP诊断,校验工具,格式化工具,每个编辑的ast-grep规则 |
| @narumitw/pi-statusline | 模型,令牌,成本,git分支在状态栏中 |
| pi | 子代理在阻塞时可以询问父会话 — 计划者-工作者协调 |
| pi-prompt-template-model | 斜杠命令自动切换模型 + 技能,然后恢复 |
| pi-btw | 边问边答,不污染主上下文 |
| @juicesharp/rpiv-ask-user-question | 结构化的澄清问题,而不是猜测 |
| pi-rewind | `/rewind` — 浏览器检查点,差异预览,重做堆栈 |
| pi-web-access | `web_search` + `fetch_content` 工具 — YouTube字幕,PDF,视频分析 |
| @spences10/pi-confirm-destructive | Git-aware确认层,用于破坏性操作(rm不可恢复,git reset --hard,破坏性SQL)。与AGENTS.md安全部分一致。 |
| @spences10/pi-context | 大型工具输出的SQLite FTS侧车(> 24KB / 300行)— 存储上下文外,通过`context_search` / `context_get`检索。 |
| @spences10/pi-observability | 实时本地浏览器仪表盘(端口43190)+ SSE事件流。只读转发器 — 绝不改变代理状态,在流式传输前会删除机密。 `/observability` 打开。 |
### 两层内存(结构优势)
```
pi-hermes-memory → 跨会话,SQLite FTS5,可搜索
pi-observational-memory → 会话内,在压缩过程中存活,观察 + 反思
```
它们一起解决了#1代理问题:在会话和压缩边界之间丢失上下文。设置具有这种两层结构。
---
## 5个自定义扩展
`extensions/`中的用户本地TypeScript胶水 — Pi方式:基元,而不是功能。每个扩展都从现有存储中读取并且拥有一个轴,而该轴已由软件包拥有。可以使用`/reload`热重载。完整的和谐合同在[`extensions/README.md`](extensions/README.md)。
| 扩展 | 触发器 | 功能 |
| --------- | -------- | ------------ |
| `coach.ts` | 自动(每个输入) | **采用层。** 您用纯任务;教练通过判断(deepseek-v4-flash)路由它,路由到**实时**命令目录(`pi.getCommands()` — 绝不硬编码,因此添加技能需要零编辑),并建议正确的流程。单击确认。跳过前缀`!`或`/coach off`。 |
| `palette.ts` | `Ctrl+Shift+P` / `/palette` | **模糊命令调色板**,适用于所有斜杠命令(提示 + 技能 + )。通过`pi.getCommands()`动态发现 — 零漂移。 |
| `handoff.ts` | `/handoff [next task]` | 从会话账本生成自包含的`HANDOFF.md`并草拟继续提示。**确定 - 没有LLM调用**,因此它不会与内存层的后台工作竞争。 |
| `loop.ts` | `/loop "<task>"` / `Ctrl+Shift+L` | **有界循环引擎** — 预飞行合同门 → 计划 → 构建 → 审查 → 验证 → 发布,具有补救循环回路(上限3),高原检测,独立验证器收敛(圣塔,跨模型选择加入),测试诚实门,断言协调。三个出口:PASS / CAP / WEDGE。拥有一个新轴(耐用工作流状态 + 门),在所有14个软件包上组合,通过转向注册,零工具。 |
| `guardrails.ts` | 自动(会话启动 + 压缩) | 在会话启动和压缩后(当上下文真正丢失时)注入AGENTS.md的完整HARD规则块;在1行提醒否则 — 避免每次重新注入完整规则书的推理饱和成本(ETH Zurich证据:完整重新注入中断推理,+ 20%成本)。 `/guardrails on\|off\|test`。 |
**和谐审计**(3个新鲜上下文审查者):在所有14个软件包 + 5个扩展中,0个关键/重大冲突。完整报告在[`docs/audits/`](docs/audits/)中。
---
## 56种技能
技能在每次会话时加载到系统中。每个技能都有其位置 — 没有重复,没有无效技能。所有以前用户调用的技能现在都是自动可判定的(当其判断合适时,代理会调用它们;描述会触发)。
### 核心工作流程(14)— Matt Pocock
自主工作的骨干。每个技能都是一种学科,而不是脚本。
| 技能 | 触发器 | 功能 |
| ------- | --------- | ------------- |
| `brainstorming` | 任何创意工作之前 | 设计前编码 — 探索意图,提出方法,获得批准 |
| `tdd` | 编写功能或修复错误 | 先测试 → 看到失败 → 实现 → 看到通过 → 重构 |
| `diagnosing-bugs` | 某些东西损坏/抛出/失败/缓慢 | 10级反馈循环梯队,排名假设,因果链门控 |
| `code-review` | 审查分支,PR或WIP | 两个轴审查:标准 + 规范,并行子代理 |
| `receiving-code-review` | 接收反馈时 | 验证后再实施,如果错误则用证据反驳 |
| `verification-before-completion` | 在声明完成之前 | 运行测试/校验/类型检查,读取输出,证据后再声明 |
| `commit` | 在git提交之前 | 清洁的约定提交 |
| `github` | 问题,PR,CI | gh CLI用于问题,PR,CI运行 |
| `prototype` | 设计问题可以通过构建来回答 | 临时原型,回答问题,丢弃 |
| `wayfinder` | 战争迷雾,松散的想法 | 将松散的想法转化为调查票据,一次解决一个 |
| `research` | 需要来自主要来源的证据 | 背景代理,引用markdown,3+来源同意 → 停止 |
| `domain-modeling` | 领域术语,ADR | 构建词汇表,记录架构决策 |
| `codebase-design` | 模块/接口设计 | 深度模块,接缝,Ousterhout词汇 |
| `resolving-merge-conflicts` | Git合并/变基冲突 | 解决进行中的冲突 |
### 改编的超级能力(3)
从超级能力中精选,删除引用,转换指向Matt Pocock技能的指针。
| 技能 | 功能 |
| ------- | ------------- |
| `brainstorming` | 设计前编码(改编,与Matt Pocock的重叠) |
| `verification-before-completion` | 证据先于声明(改编) |
| `receiving-code-review` | 验证后再实施(改编) |
### MongoDB(8)— 官方
在处理MongoDB时自动触发。
`mongodb-schema-design` · `mongodb-search-and-ai` · `mongodb-query-optimizer` · `mongodb-connection` · `mongodb-mcp-setup` ·-natural-language-querying` · `mongodb-atlas-stream-processing` · `mongodb-mcp-cluster-per-project`
### Vercel/React(5)
在构建React或部署到Vercel时自动触发。
`vercel-react-best-practices` · `vercel-composition-patterns` · `deploy-to-vercel` · `vercel-optimize` · `web-design-guidelines`
### Bright Data(8)— 网络数据
用于网络任务的自动。使用`bdata` CLI。
` · `scrape` · `discover-api` · `data-feeds` · `live-research` · `rag-pipeline` · `brightdata-cli` · `bright-data-best-practices`
### Octocode(5)— 代码研究
用于证据优先研究的自动触发器。
`octocode` · `octocode-research` ·ocode-brainstorming` · `octocode-rfc-generator` · `octocode-roast`
### UI(3)
`frontend-design` · `impeccable` · `agent-browser`
### Python/OSS(3)
`uv` (使用uv而不是pip)· `github` · `commit`
### Pi扩展技能(8)— 来自软件包
由已安装的软件包自动加载。
`pi-intercom` · `pi-subagents` · `prompt-template-authoring` · `librarian` · `ast-grep` · `lsp-navigation` · `write-ast-grep-rule` · `write-tree-sitter-rule`
### 代码质量 + 维护(4)
`memory` · `codebase-hygiene` · `diff-driven-docs` · `setup-maintenance`
---
## 外部CLI
| CLI | 功能 | 免费层 |
| ----- | ------------- | ----------- |
| `bdata` (Bright Data) | 网络搜索,爬虫,发现,来自40+平台的结构化数据 | 5,000积分/月 |
| `octocode` | 代码研究 — AST搜索,跨存储库,PR深度读取,OQL | 免费,GitHub身份验证 |
| `gh` | GitHub CLI — 问题,PR,CI | 免费 |
---
## 我们故意拒绝的(以及原因)
精选是证明。以下是未入选的项目及原因:
| 拒绝 | 为什么 |
| ---------- | ----- |
| MCP桥 / pi-mcp-adapter | CLI + 技能是Pi的方式 — 没有子进程膨胀 |
| @octocodeai/pi-extension | 与我们的6个软件包(重复工具)冲突 |
| Superpowers(作为软件包) | 引导程序注入覆盖AGENTS.md工作流程 — 只采用了3个独特技能 |
| monopi | 软件包安装程序 — 我们单独精选 |
| pi-simplify | code + 子代理和子代理涵盖此功能 |
| rpiv-todo | Pi 故意没有待办事项 |
| @spences10/pi-team-mode | 与pi-intercom(第二个消息总线 — 代理sock)冲突intercom。 |
| @spences10/pi-redact | 冗余 — pi-hermes-memory在输入机密,pi-observability在流式传输时删除。涵盖| @hypabolic/pi-hypa | 破坏了多行bash(尝试以`#`,`for`,`do`作为进程启动)。复制上下文侧车 + 观察内存。已删除。 |
| OpenRouter Fusion | 我们在循环引擎中有santa-method跨模型(--cross-model)。不要重复。 |
| GBrain | 个人知识大脑,不是编码,不是基于MCP |
| octocode-awareness | Claude Code钩子,与pi-hermes-memory冲突 |
| 15种膨胀技能 | 非编码,一次性,弃用或冗余 |
### 我们从spences10/my-pi采纳的内容(3个审查者冲突审计后)
采纳(新轴,零冲突,代码先读):`@spences10/pi-confirm-destructive`(破坏性命令门,与AGENTS.md安全部分一致),`@spences10/pi-context`(大输出SQLite侧车),`@spences10/pi-observability`(只读浏览器仪表盘)。完整审计,文件:行证据在`docs/audits/`。
---
## AGENTS.md的工作原理
安装程序在`~/.ai/AGENTS.md`创建一个单一的真实来源,并将所有三个代理连接到它:
```
~/.ai/AGENTS.md (真实文件,131行)
↑ ↑ ↑
symlink @import symlink
Pi Claude Code Codex
```
- **Pi**: `~/.pi/agent/AGENTS.md` → 符号链接到 `~/.ai/AGENTS.md`
- **Claude Code**: `~/.claude/CLAUDE.md` 包含 `@~/.ai/AGENTS.md`
- **Codex**: `~/.codex/AGENTS.md` → 符号链接到 `~/.ai/AGENTS.md`
所有三个代理在每个会话开始时读取相同的131行工作流程。 一个文件,三个代理,零漂移。
## 仓库结构
```
my-pi/
├── README.md 本文件
├── LICENSE MIT
├── config/
│ ├── settings.json 14 个软件包,高级思考,优化的压缩配置
│ ├── agents.md 全局 AGENTS.md(131 行,10 步工作流程)
│ ├── models.json Grove 提供商兼容性配置
│ └── prompts/ 8 个斜杠命令(用户界面)
│ ├── build.md /build → 测试驱动开发
│ ├── debug.md /debug → 诊断错误
│ ├── feature.md /feature → 计划→构建→审查→发布链
│ ├── fix.md /fix → 调试→构建→审查→发布链
│ ├── plan.md /plan → 头脑风暴
│ ├── research.md /research → 并行扇出
│ ├── review.md /review → 代码审查子代理
│ └── ship.md /ship → 验证 + 提交 + 文档
├── scripts/
│ ├── install.sh 一键安装程序
│ └── update.sh 更新所有软件包 + 技能
├── extensions/ 5 个自定义 TypeScript 扩展
│ ├── coach.ts LLM 路由输入 → 工作流程建议
│ ├── loop.ts 有限循环引擎,带有阶段门控
│ ├── guardrails.ts 条件 AGENTS.md 重新注入
│ ├── palette.ts 模糊命令调色板(动态发现)
│ └── handoff.ts 会话继续文档生成器
└── skills/ 11 种增强技能(cc10x 审计胜利)
├── brainstorming/ 设计优先于代码
├── code-review/ 双轴审查 + 摩擦扫描 + AI 反模式
├── codebase-hygiene/ 语义重复检测 + 模块深化
├── diagnosing-bugs/ 10 级梯子 + 因果链门控 + 循环上限
├── diff-driven-docs/ 3 层文档影响分类器
├── grilling/ 无情的采访,以压力测试计划
├── memory-compounding/ 5 结果记忆审查 + 3 倍促进
├── receiving-code-review/ 争议需要证明命令
├── setup-maintenance/ 节奏 + 添加时谐波门控
├── setup-matt-pocock-skills/ 每个存储库的工程技能脚手架
└── verification-before-completion/ 声明前的证据
```
安装程序从其源存储库(Matt Pocock、MongoDB、Vercel、Bright Data、Octocode)获取其他 45 种技能。`/setup-audit` 是部署到 `~/.pi/agent/prompts/` 的第 9 个斜杠命令(不在存储库中)。
---
## Pi 理念
来自 [Pi 的博客](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/):
> Pi 保持核心小型化,并将工作流特定的行为推送到扩展、技能、提示模板和软件包中。它故意不包含内置的 MCP、子代理、权限弹出窗口、计划模式、待办事项或后台 bash。
此设置尊重这一点。每个功能都是一个扩展、技能或 CLI — 永远不会有 MCP 臃肿。
---
## 利用的所有 Pi 功能
除了 14 个软件包 + 5 个扩展 + 56 种技能外,该设置还利用了 Pi 文档提供的所有零风险杠杆(在 [`docs/audits/pi-docs-levers.md`](docs/audits/pi-docs-levers.md) 和 [`docs/audits/pi-extension-api-powers.md`](docs/audits/pi-extension-api-powers.md) 中进行完整审计):
| 杠杆 | 它能做什么 |
| --------- | ------------ |
| `enabledModels` (10 种模式) | Ctrl+P 一键模型循环,适用于 Claude/GPT/Grok/Kimi/DeepSeek/GLM |
| `externalEditor: code --wait` | Ctrl+G 为长提示打开 VS Code(不是 nano 回退) |
| `treeFilterMode: no-tools` | 通过工具繁重的会话清理 `/tree` 导航 |
| `branchSummary.skipPrompt` | 每个 `/tree` 跳转时无需“总结分支?”摩擦 |
| `retry.provider.timeoutMs` + `maxRetryDelayMs` | 快速失败于挂起的请求 / 长提供者请求的延迟 |
| `pi.appendEntry` 在 loop.ts 中 | 循环状态持续到会话账本 — 保留压缩和重启 |
| `ctx.fork()` 在 loop.ts 中 | 每个补救迭代都是一个可回溯的分支点(在 pi-rewind 上组合) |
| `defaultThinkingLevel: xhigh` | 每次回合的最大推理 + 所有 8 个子代理角色 |
| 两层内存 | pi-hermes-memory(跨会话 SQLite FTS5)+ pi-observational-memory(会话内,保留压缩) |
| 上下文侧车 | @spences10/pi-context 将大型输出(>24KB)存储在 SQLite 中,可通过 `context_search`/`context_get` 检索 |
| 实时可观察性 | @spences10/pi-observability 浏览器仪表板,位于 127.0.0.1:43190 |
**没有浪费,没有过度构建。** 每个杠杆都是零风险(无新移动部件),并且经过和谐审计(所有 14 个软件包 + 5 个扩展的 0 个关键/重大冲突 — `docs/audits/` 中的审计)。
> **关于 `PI_CACHE_RETENTION` 的说明:** Pi 文档列出了此环境变量以进行扩展的提示缓存(Anthropic 1 小时 / OpenAI 24 小时),但它 **与自定义 OpenAI 兼容网关不兼容** — 它注入了一个 `prompt_cache_retention` 字段,网关拒绝并返回 400 错误。如果您的提供商是代理/网关(像我们的 grove-openai),请跳过它。 它仅适用于原生 Anthropic/OpenAI 端点。
---
## 技能选择方法
每个技能都针对替代方案逐一提示进行比较:
- **TDD:** Matt Pocock vs Superpowers → Matt 获胜(更简洁,缝隙概念,反模式)
- **调试:** Matt Pocock vs Superpowers → Matt 获胜(反馈循环优先,10 种循环类型)
- **代码审查:** Matt Pocock vs Superpowers → Matt 获胜(双轴:标准 + 规范,Fowler 味道)
- **写作技能:** Matt Pocock vs Superpowers → Matt 获胜(信息层次,上下文加载)
- **规划:** Matt Pocock vs Superpowers → Matt 获胜(垂直追踪子弹 vs 微步骤)
3 个独特的 Superpowers 技能被适配(引用被删除,转换指向 Matt Pocock 技能)。
---
## 为什么信任此设置
- **它已被审计,而不是仅仅构建。** 3 名新鲜语境审查者检查了每个扩展和软件包的冲突。报告位于 [`docs/audits/`](docs/audits/) — 自己阅读它们。
- **它自我测试。** 2026-07-08 Pocock 对齐修剪(GitHub 上的问题 #1-#8)被研究、规范、建立票据、构建和验证,使用此确切的设置。教练重写、防护栏更改和技能翻转都是由 Pi 运行此配置完成的。提交记录在 git 日志中。
- **它自我维护。** `/setup-audit` 运行 6 个并行子代理,检查版本、和谐、教练覆盖率、磁盘、AGENTS.md 和生态系统窃取。每月运行一次。
- **它对其拒绝的内容保持诚实。** 13 个软件包/技能被列出,附有文档化的原因。策划是证明。
---
## License
MIT
连接信息
猜你喜欢
暂无推荐服务器