经过好几周的摸索和各种尝试,pi agent 的配置基本稳定,之前发了一个 list,没有解释不太友好,这次发个全量带注释的。
首先 Pi Agent 的优点就是原生 Pi 的功能极其简单,而扩展机制非常完善,所以即使社区没有你需要的扩展,也很容易 Vibe 出一个自用。 非常适合需要对 Agent 上下文进行精细控制的人。如果你需要的是开箱即用的产品,推荐还是使用 Claude Code 或者 Codex。
扩展选择原则:
- 占用上下文最小化,尽可能的摒弃大量注册 Tools 的行为
- 同类插件选更新活跃、功能齐全的。
- 有些不占用上下文没什么副作用,只是单纯显示优化和扩展功能的,入围标准很低。
最终 Tools 占用 7.7k tokens。
功能扩展类:增加MCP Adapter、WebSearch、SubAgent、Goal 等功能
- npm:pi-mcp-adapter:使用 Lazy load 的方式加载 mcp 服务器,我基本全局不会开启 MCP,在某些特定项目上会用。
- npm:pi-web-access:支持多个 Provider 的搜索聚合,效果很佳(社区有更多别的选择,可以自己找更好的实现)
- npm:pi-btw:实现 /btw 功能,但是我很少用。
- npm:@tintinweb/pi-subagents:尝试了多种实现,最终这个占用上下文 tokens 最少,用起来也还算稳定。
- npm:pi-goal:实现 /goal 功能
- npm:@juicesharp/rpiv-todo:实现 Todo 功能
- npm:@juicesharp/rpiv-ask-user-question:实现结构化对用户提问的功能(可选,其实我不爱用,这个工具要占 1k tokens 上下文)
- npm:@plannotator/pi-extension:提供网页可标注的 Plan 文件以及 Code Review。(挺好用的,但是它自带的逻辑有点多,我只需要交互式标注功能)
https://github.com/davebcn87/pi-autoresearch:增加 autoresearch 功能,不过我默认是禁用的,或者可以安装到项目级中,全局开启没必要。
功能优化和管理类:各种 TUI 优化、扩展管理、体验优化等
- npm:@marckrenn/pi-sub-bar:显示各种订阅的用量信息,最近不咋更新了
- npm:@tmustier/pi-usage-extension:增加 /usage 命令,查看 session 详细的统计信息。
git:github.com/fluxgear/pi-thinking-steps:将思考过程结构化显示,更美观- npm:pi-cache-graph:显示缓存命中率的变化,可用来 Debug 影响上下文的扩展
- npm:pi-context-usage:增加 /context 命令,显示上下文的详细情况
- npm:@ramarivera/pi-skill-selector: 优化了斜杠选择 skill 的交互体验
- npm:pi-fallback-provider:可以配置一个虚拟模型,然后后面是多个模型组成的 Fallback Chain,这样当挂掉后可以自动fallback。(推荐要么就是相同模型跨不同的 Provider fallback,要么就是廉价模型组个 chain 完成特殊任务。不要混杂不同的模型,否则很难 debug )
- npm:pi-command-history:使用 Ctrl + Up 来找相同目录的历史 command。(Pi 默认 Up 只能着同 session 的,很怪)
- npm:pi-discord-remote:这个插件很有意思,开启后它会为每个 session 都配置单独的会话,结束对话后自动销毁。这样在 discord 那边用起来就很简单,尤其是自动销毁。
- npm:@vanillagreen/pi-extension-manager:可以不用卸载扩展,而是禁用扩展。这玩意很卡,可以不用。
- npm:@vanillagreen/pi-session-manager:可以更好的在历史 session 中检索、跳转什么的,用处不大。
Agent 行为优化类:会修改 Pi Agent 自身行为,影响较大
- npm:pi-rtk-optimizer:使用 rtk 大幅压缩 Bash Tool 的输出
- npm:pi-caveman:Caveman 模式,可以让模型输出更少的废话(尤其是思维链)。如果模型用 gpt-5.5 off/low 的话没必要开,用一些思维链比较长的模型(比如 DeepSeek-V4-Pro high)的时候,可以考虑开启。默认我是关闭的。
- npm:pi-context-prune:通过自动将 tools output summary & offload 来降低上下文占用。推荐要么是 agent-message 模式(也就是当 agent 完成任务后触发)或者 on-demand 模式(手动触发)。我是手动触发,从而最大限度规避 cache miss。
- npm:@ff-labs/pi-fff:优化文件、内容的搜索功能,效果很好,推荐。
- npm:pi-hashline-readmap:通过给文件每行增加一个 Hash Anchor 的方式,来解决大文件编辑失败的问题。还在测试效果。
Awesome 15docs