改造工具,而非改造自己
Pi 不是一个密封的产品。如果你需要一个命令、工具、Provider、工作流或 UI 调整,直接让 Pi 帮你构建。它会即时定制自己,你只需 /reload,然后继续工作。
Extensions
TypeScript 模块,可访问工具、命令、快捷键、事件和完整 TUI
Skills
按需加载的能力包,包含指令和工具,渐进式展示
Prompts
可复用的 Markdown 提示模板,输入 /name 即可展开
Themes
自定义 UI 外观,从配色到布局完全可定制
15+ Provider,数百个模型
支持主流 AI 提供商,会话中随时切换模型。通过 API Key 或 OAuth 认证,还可添加自定义 Provider。
/model # 打开模型选择器
Ctrl+L # 快捷键:选择模型
Ctrl+P # 快捷键:循环收藏模型树结构会话,可分享
会话以树形结构存储。使用 /tree 导航到任何历史节点,从那里继续。所有分支保存在单个文件中。
- 按消息类型过滤,标记书签
- 导出为 HTML — /export
- 上传到 GitHub Gist — /share,获取可渲染的分享链接
上下文工程,而非提示工程
Pi 的扩展性让你真正控制上下文窗口中的内容及其管理方式——这是真正的上下文工程。
AGENTS.md
项目指令文件,从 ~/.pi/agent/、父目录和当前目录加载
SYSTEM.md
按项目替换或追加默认系统提示
Compaction
接近上下文限制时自动摘要,可通过 Extensions 自定义摘要策略
Skills
按需加载的能力包,渐进式展示,不破坏 prompt 缓存
Prompt Templates
可复用的 Markdown 提示模板,输入 /name 展开
Dynamic Context
Extensions 可在每轮前注入消息、过滤历史、实现 RAG 或长期记忆
实时操控运行中的 Agent
在 Agent 工作时发送消息,实现实时方向调整。
在当前工具完成后送达,中断剩余工具执行
等 Agent 完成当前工作后再送达
四种运行模式
Interactive
完整 TUI 交互体验
Print / JSON
脚本化输出 / 事件流 JSON
RPC
stdin/stdout JSON 协议,非 Node 集成
SDK
嵌入你的应用,编程化调用
刻意不构建的功能
Pi 极力可扩展,所以不需要替你决定工作流。其他工具内置的功能,你可以自己用 Extensions 构建,或从第三方 Package 安装。
No MCP
用 CLI 工具 + README,或构建 MCP 扩展
No sub-agents
通过 tmux 生成 Pi 实例,或用 Extensions 自建
No permission popups
在容器中运行,或用 Extensions 自建确认流程
No plan mode
把计划写入文件,或用 Extensions / 安装包实现
No built-in to-dos
用 TODO.md 文件,或用 Extensions 自建
No background bash
使用 tmux,完全可观测,直接交互