跳转至

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 的元数据,搜索和描述时无需实时连接;

配置优先级(越后越优先):

  1. ~/.config/mcp/mcp.json
  2. ~/.agents/mcp.json
  3. ~/.agents/mcp/mcp.json
  4. <Pi agent dir>/mcp.json
  5. .mcp.json
  6. .pi/mcp.json

工具搜索匹配的原理:

  • 没有向量数据库、没有 Embedding 语义检索,只是关键词 / 子串模糊匹配(也没有 BM 25 经典稀疏关键词检索算法);
  • 配置项提供 searchKeywords 人工补关键词来缓解。

.mcp.json格式

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@1.6.0"]
    }
  }
}