Pi 的完善之路:Package 生态折腾指南

本文记录一条完整的 Pi Package 折腾之路:从 Package 是什么,到子 Agent 与 MCP、上下文压缩、/goal、代码搜索、安全审查、UI 增强、图像生成、操作回退,再到踩过的坑与 Package 总览。

前言

看了很多强调上下文重要性的文章,用 CC 接国模愈发不顺手,总感觉 CC 的上下文屎山是不是越来越大了,于是捡起之前折腾了一半的 Pi。我的想法和作者部分一致——上下文工程是第一要务,准确的控制注入模型的每一个字肯定能获得比黑盒更舒服、更有包裹感(误)。

点进这个帖子的应该或多或少都是听说过 Pi 的,如果不了解请看作者的文章。

总而言之 Pi 是一个极度精简的 Agent——无 MCP、无后台 Bash、无内置 To-do、无 Plan mode、无子 Agent,本体的内置提示词不超过 1000 token,仅内置 4 个工具:readwriteeditbash

但是极简的框架意味着极强的可塑性,下文正式开始折腾。

关于 Package 是什么

在 Pi 中,Package 可以是:

  • Extension: 注册新命令、工具、事件钩子、UI 组件
  • Skill:SKILL.md 的技能文档,指导模型使用特定工作流
  • Prompt Template: 提示词模板
  • Theme: 终端主题 JSON

在 Pi 中,一切都可以由 Package 引入。

子 Agent 与 MCP

pi-subagentspi-mcp-adapter——没什么好说的,补全其他家都有的功能。不过 MCP 的 Package 我没装,我用到的 MCP 基本都可以做成 Package。

关于上下文压缩

我主要纠结在三个包里:context-modeDCPpi-observational-memory

context-mode 作为 Pi Package 安装量排行榜第一,我自然第一个尝试了,但是效果并不好。用 Mimo 容易出现理解偏差,它把工具输出拦截到沙箱,模型只能看到摘要?要看原文得自己判断是否展开,但模型经常判断错,导致关键信息丢失(猜的流程)。我是觉得没必要省这种上下文,所以最后卸了。

DCP(Dynamic Context Pruning) 就是比较常见的总结形式的工具了,没什么好说的,我现在就在用,具体可以看看项目文档。

pi-observational-memory 可以单独配置模型进行总结,主要用于长会话防偏移,也是总结类的,但是设计比 DCP 复杂一点,还在体验中。

关于 /goal

Codex 的 /goal 很不错,目标完成前不会停止。Pi 的相关 Package 我主要使用 pi-until-done,如果追求 Codex 的感觉可以装 pi-codex-goal

代码搜索与检索

  • pi-ace-tool — 自己写的 ace-tool 插件,用过 MCP 的应该知道有多好用。
  • @ff-labs/pi-fff — Rust/SIMD 加速的模糊 find 和 grep,替代原生 find/grep,速度极快,体验不错。
  • pi-fast-context — vibe 了一个 fast-context 的插件,用着不错速度挺快的。

搜索与抓取

pi-search — 基于站内的 grok-search-mcp 自己写的,加了 context7 和反检测 fetcher 之类的实用工具,基本搜索相关装这一个就够了。不过我也犯了塞太多的毛病,不想用可以看看 pi-web-accesspi-smart-fetch

安全与审查

  • @juicesharp/rpiv-advisor — 请求强模型给第二意见/审查建议,关键决策前多一层校验
  • pi-simplify — 审查近期代码改动的清晰度、维护性和一致性
  • @narumitw/pi-plan-mode/plan 只读规划模式,禁止 edit/write/危险 bash,输出 proposed_plan 确认后才恢复写权限

UI 与交互

  • pi-nano-context — 紧凑上下文占用条,显示 system/user/assistant/tool/free 各占多少,替代 powerline 的轻量选择
  • pi-tool-display — OpenCode 风格工具输出折叠和 diff 渲染,减少 TUI 被大段工具输出刷屏
  • pi-markdown-preview — Markdown/LaTeX 预览
  • @juicesharp/rpiv-ask-user-question — 结构化提问 UI

思考与辅助

  • @feniix/pi-sequential-thinking — 同名 MCP 一个作用
  • pi-btw — Claude Code 同款 /btw,并行旁路问题,不污染主对话

图像生成

pi-image-gen — 自己写的 Image2 图像生成/编辑工具,支持文生图、图生图等,优化前端设计场景。我主要用在写前端前的风格、素材等生成。

操作回退

pi-rewind — 依赖 Git 的存档点回退工具,很不错,原生级的回退体验。

踩过的坑

Powerline 会接管编辑器布局和鼠标滚动,改变了 Pi 原生简洁的 TUI 体验。推荐 pi-nano-context,只做上下文占用显示,干净轻量。

Package 总览

Package链接安装命令
pi-subagentsnpmpi install npm:pi-subagents
pi-mcp-adapternpmpi install npm:pi-mcp-adapter
pi-markdown-previewnpmpi install npm:pi-markdown-preview
@juicesharp/rpiv-ask-user-questionnpmpi install npm:@juicesharp/rpiv-ask-user-question
@victor-software-house/pi-curated-themesnpmpi install npm:@victor-software-house/pi-curated-themes
pi-ace-toolGitHubpi install git:github.com/justhil/pi-ace-tool
pi-rewindnpmpi install npm:pi-rewind
pi-image-genGitHubpi install git:github.com/justhil/pi-image-gen
pi-searchGitHubpi install git:github.com/justhil/pi-search
pi-btwnpmpi install npm:pi-btw
pi-simplifynpmpi install npm:pi-simplify
pi-dynamic-context-pruning (DCP)GitHubpi install git:github.com/complexthings/pi-dynamic-context-pruning
@ff-labs/pi-fffnpmpi install npm:@ff-labs/pi-fff
pi-until-donenpmpi install npm:pi-until-done
pi-codex-goalnpmpi install npm:pi-codex-goal
pi-nano-contextnpmpi install npm:pi-nano-context
pi-tool-displaynpmpi install npm:pi-tool-display
@narumitw/pi-plan-modenpmpi install npm:@narumitw/pi-plan-mode
pi-observational-memorynpmpi install npm:pi-observational-memory

验证与自查

  1. pi list 确认已安装包及版本,pi config 可管理各包内的扩展、技能、提示词与主题
  2. 按上表安装后,各包的斜杠命令(如 /plan/btw/undo)应可正常调用
  3. 上下文压缩类:长会话中观察 token 占用曲线,确认压缩按预期触发
  4. 装完新包后先跑一个小任务,确认无工具冲突、TUI 渲染正常

写在最后

Pi 的拓展感觉接口给的很好,但是很多写拓展的都想把自己想到的全塞进去,反而违背 Pi 的创作本意。想找个好用的、独立的、依赖少又完善的拓展真的难。反而用 AI 自己写适合自己工作流的拓展更简单——如果已经在 CC、Codex 有完善的工作流了,可以自己尝试用 AI 写插件迁移。

参考