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 工具调用映射到 ACP tool_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 的终端认证,以处理代理设置和登录。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目