svkozak/pi-acp
ACP adapter for pi coding agent
解决的问题
pi-acp 是一个适配器,允许 pi 编码代理在支持 Agent Client Protocol (ACP) 的编辑器和客户端中使用,例如 Zed 编辑器。它弥合了 pi 代理内部 RPC 与 ACP 标准之间的差距,为原本设计用于终端的工具提供了无头或编辑器集成的体验。
运作方式
该适配器通过标准输入/输出 (stdio) 使用 JSON-RPC 2.0 与 ACP 客户端通信。它以 RPC 模式 (pi --mode rpc) 启动 pi 代理,并在客户端和代理之间转换请求和事件。主要转换包括:
- 工具执行:将
pi工具调用映射到 ACPtool_call和tool_call_update事件,将相对文件路径解析为绝对路径,以便编辑器可以跟踪。 - 流式传输:将助手响应流式传输为 ACP
agent_message_chunk事件。 - 会话管理:将 ACP 会话加载和创建映射到
pi自己的会话持久化文件。 - 上下文跟踪:通过
usage_update事件向客户端报告pi的实时上下文占用和 token 使用情况。
适用对象
使用 pi 编码代理并希望将其直接集成到 IDE(特别是 Zed)中,而不是使用单独终端窗口的开发者。
亮点
- Zed 编辑器集成:完整支持会话历史、启动信息和工具位置显示。
- 结构化差异:尝试推断行号并为文件编辑发出结构化差异 (
oldText/newText)。 - 斜线命令支持:支持基于文件的提示、内置命令(如
/compact和/export)以及技能命令。 - 会话持久化:允许在不同 ACP 客户端和
pi终端代理之间恢复会话。 - 终端认证:支持 ACP Registry 的终端认证,以处理代理设置和登录。
相关
- 项目
- 项目
- 项目
- 项目
- 项目