第八部分,协议与框架开发

RPC 协议与跨语言客户端

启动 pi --mode rpc,通过 stdin 和 stdout JSONL 控制 Prompt、状态、模型、Sessions 与 Bash。

协议结构

RPC 模式从 stdin 接收一行一个 JSON command,从 stdout 返回 response 和异步 events。每个 command 可带 id 用于关联响应。

记录分隔严格使用 LF。客户端不能把 Unicode 行分隔符误当记录边界,Node.js 通用 readline 也不符合该协议要求。

bash
pi --mode rpc --no-session

最小命令

prompt 成功响应只表示任务被接受或排队,后续失败通过事件流报告。客户端必须继续读取直到 agent_end 或明确终止。

跨语言客户端要实现背压、超时、进程退出和无效 JSON 恢复。

json
{"id":"req-1","type":"prompt","message":"只读列出当前目录"}
{"type":"get_state"}
{"type":"abort"}

官方资料

本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。

Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License