AI 简明手册
Pi 源码解读 · 扩展与集成SDK、Print、JSON 与 RPC

SDK、Print、JSON 与 RPC

先看全局

Pi 有五类常见入口:交互 TUI 给人直接使用,Print 做一次性文本任务,JSON 输出结构化事件流,RPC 通过 stdin/stdout JSONL 接受双向命令,SDK 则把 AgentSession 直接嵌入 Node.js。

沿地图找代码

CLI 模式分工

普通 pi 启动交互模式;-p 适合脚本中的一次性输出;--mode json 把运行过程输出为事件;--mode rpc 在同一进程上提供命令、响应、Agent 事件与 Extension UI 子协议。

[repo] [docs]

SDK 复用完整装配

SDK 的 createAgentSession() 可接收模型运行时、SessionManager、工具与 ResourceLoader,既能沿用默认发现,也能替换资源来源和宿主界面。

[repo] [docs]

建议阅读顺序

  • Shell 管线只关心最终文字时用 print;需要实时轨迹但不控制会话时用 JSON;外部 UI 要双向控制时用 RPC;与应用同进程集成时用 SDK。

  • 无界面模式不会弹出项目信任确认,自动化必须显式设置是否信任项目资源。

这张地图没覆盖什么

  • RPC 是进程级协议,不等于远程多租户服务;认证、隔离、并发和断线恢复仍由上层系统负责。

来源与核验

  1. [repo] Pi 官方源码(固定 revision)
  2. [docs] Pi 官方文档

Revision:853a80d26c90a14c1886f0ebb8ffaae133ca2185 · 核验日期:2026-08-31