PI Agent
工作目录下的 AGENTS.md 会被自动加载。
非交互模式
one-shot 单次请求模式,不启动 TUI 终端界面
# -p 参数
pi -p "Summarize this codebase"
# 通过管道将内容作为 initial promtps
cat README.md | pi -p "Summarize this text"
pi -p @screenshot.png "What's in this image?"
--mode json:JSON 事件流模式,输出所有的事件
--mode rpc:RPC 进程集成模式(最适合程序深度集成),外部程序向进程 stdin 发消息,stdout 持续返回事件流,可以做多轮对话、持续会话,完整控制 Agent。
CodeMode
减少上下文和交互次数。
BM25:中文的搜索支持?
Pi Codemode 是 Pi Agent 内置的沙箱脚本执行能力。 大模型可以自行编写一段 JavaScript 脚本,提交到内置的轻量沙箱(QuickJS)中运行。 脚本内部可以循环、分支、并行调用平台提供的工具(包含 MCP 工具),在沙箱内部完成数据读取、过滤、聚合、转换。 只有脚本最终输出的结果返回给大模型;脚本执行过程里所有中间原始数据,不会进入 LLM 的对话上下文。
当 MCP 工具数量非常多时,不需要一次性把全部工具定义加载进模型上下文;脚本内部可以动态检索、按需调用工具,减轻 prompt 负担。
扩展
pi-mcp-adapter
支持配置工具直接暴露的模式。
PI 1.0 codemode 原生支持 MCP。
仅 1 个顶层mcp工具,参数区分 search/describe/call。
- 默认懒加载,缓存 tools 的元数据,搜索和描述时无需实时连接;
配置优先级(越后越优先):
~/.config/mcp/mcp.json~/.agents/mcp.json~/.agents/mcp/mcp.json<Pi agent dir>/mcp.json.mcp.json.pi/mcp.json
工具搜索匹配的原理:
- 没有向量数据库、没有 Embedding 语义检索,只是关键词 / 子串模糊匹配(也没有 BM 25 经典稀疏关键词检索算法);
- 配置项提供
searchKeywords人工补关键词来缓解。
.mcp.json格式