Pi 本身是个极简的 coding agent——给你 read、write、edit、bash 四个工具,剩下的自己装。这和 Arch Linux 的哲学一样:base 只给你最小系统,pacman 负责剩下的。
我装了 9 个包。按功能分三层:记忆层、执行层、体验层。
记忆层
AI 编码 agent 最大的问题不是写不出代码,是写了三小时后忘了第一小时做了什么。
pi-observational-memory
解决长会话失忆。后台跑一个 Observer,每积累约 1k token 就压缩成带时间戳的 observation。compaction 时把这些 observation 和长期 reflections 拼接成新 summary——不是 LLM 重写,是机械拼接,避免 summary of summary 的信息漂移。
分两层:reflections 是稳定的(你是谁、硬约束、持久偏好),observations 是带时间戳的事件流。每个 observation 有 id,agent 可以通过 recall(id) 回溯原始上下文。
pi-memory-md
跨 session 的持久记忆。用 git 仓库存 markdown 文件,session 启动时自动 pull 并构建索引(只给 description + tags,不灌全文),需要时 agent 自己读。
和 observational-memory 互补:observational-memory 管单次 session 内的连续性,memory-md 管跨 session 的知识沉淀。一个管短期,一个管长期。
执行层
pi-mcp-adapter
MCP 工具的代理。一个 MCP server 的 tool definition 能烧 10k+ token,挂几个 server 上下文窗口就满了。这个 adapter 只暴露一个代理工具(约 200 token),agent 按需发现和调用。
懒加载——server 不用不启动。支持标准 .mcp.json 配置,也能从 Cursor、Claude Code 的配置迁移过来。
pi-goal
持久自主目标。/goal 改善测试覆盖率 设定目标后,agent 会自动循环执行直到完成、暂停或 token 预算耗尽。目标状态存在 session 里,reload 不丢。
适合需要 agent 自己跑很久的任务——不是一问一答,是给个方向让它自己干。
pi-web-access
web 搜索 + 内容提取 + 视频理解。零配置就能用 Exa 搜索,也可以接 Perplexity、Gemini API。GitHub URL 直接 clone 到本地而不是抓 HTML。YouTube 视频能提取字幕和画面。
fallback 链:Exa → Perplexity → Gemini API → Gemini Web。总有能用的。
体验层
pi-rtk
Token 压缩。把工具输出过滤 60-90%:git diff 压缩、测试输出聚合、构建输出只留错误警告、源码注释过滤、ANSI 颜色剥离。
省 token 就是省钱。跑 /rtk-stats 看累计省了多少。
pi-caveman
输出压缩。砍掉 AI 的废话——冠词、填充词、客套话。有 lite/full/ultra 三档,还有文言文模式。
对比:正常输出 69 token,caveman full 19 token。技术内容一个不少,废话全砍。
pi-extensions
扩展合集,装一个得七个:
- quiet-tools — 工具调用结果折叠成一行
- confirm-destructive — 清 session、fork 前确认
- context-cap — 上下文窗口限制 200k,避开 dumb zone
- minimal-footer — 精简底部状态栏
- notify — agent 完成任务时通知(终端/桌面/声音)
- oracle — 只读的深度推理工具,自动选当前 provider 最强模型
- permission-gate —
rm -rf、sudo等危险命令前确认
Trellis
项目结构管理。.trellis/spec/ 存团队规范,.trellis/tasks/ 存任务 PRD 和上下文,.trellis/workspace/ 存 session 日志。agent 按需加载,不灌全量上下文。
支持 14 个 AI 编码平台,同一套 spec 文件在 Claude Code、Cursor、OpenCode、Pi 里都能用。
怎么组合
session 启动
→ memory-md 拉取跨 session 记忆
→ observational-memory 开始后台观察
→ trellis 注入项目规范和任务上下文
执行任务
→ mcp-adapter 按需连接外部工具
→ web-access 搜索和提取网页内容
→ goal 驱动长时间自主执行
→ rtk 压缩工具输出省 token
输出
→ caveman 压缩回复省 token
→ extensions 的 quiet-tools 折叠工具结果
→ oracle 处理需要深度推理的问题
compaction
→ observational-memory 把 observations 和 reflections 机械拼接
→ memory-md 在适当时机同步到 git
不装的
没装 Magic Context 和 GSD。试过,和 observational-memory + Trellis 功能重叠。工具链不是越多越好——重叠的部分越多,debug 时越不知道哪层出了问题。
和上一篇 AI 编码 harness 一脉相承:从四件套简化到 Pi + Trellis,现在加了记忆和体验层,但核心没变——KISS。