$ cat ~/map/pi-acp-jetbrain.md
pi-acp-jetbrain
让 pi 通过 stdio 在 JetBrains IntelliJ 的 agent 面板中运行的 ACP 适配器,每个会话启动一个 pi --mode rpc 子进程。
extensions✓ 10月16日
事实速查
- GitHub Stars
- ★ 3
- Forks
- 2
- 许可证
- MIT
- npm / 月
- —
- 最后推送
- 2026年8月16日
安装
pi install npm:pi-acp-jetbrain## 速览
让 pi 跑进 JetBrains IntelliJ 的 Agent Client Protocol 适配器:以 stdio 提供 ACP 服务,每个会话启动一个 pi --mode rpc 子进程,并把 IntelliJ 内置的 MCP 工具桥接为 pi 的 ide_<server>_<tool> 扩展工具。
## 要点
- $以 stdio 运行 ACP 服务器;每个 ACP 会话启动一个 pi --mode rpc 子进程,由适配器在客户端与 pi 之间翻译消息。IntelliJ 是主要宿主——其他 ACP 客户端可部分可用。
- $会话面覆盖 session/new、session/prompt、session/cancel、session/list、session/load、session/fork、session/resume、session/close 与 session/delete;pi 自管会话文件,适配器在 ~/.pi/pi-acp/session-map.json 维护一份小映射以便重新挂接。助手文本以 agent_message_chunk 流式输出,推理为 agent_thought_chunk,工具运行为 tool_call / tool_call_update,每轮结束后在不稳定的 usage 字段上报 token 用量与成本。
- $JetBrains IDE 桥:IntelliJ 每次会话附带其内置 MCP 服务器描述符,这些 IDE 工具以 ide_<server>_<tool> 扩展工具暴露给 pi;桥接会直连 http://127.0.0.1:<IJ_MCP_SERVER_PORT>/sse 的 MCP-over-SSE 客户端。两份允许清单为工具把关,execute_tool 与所有 xdebug_* 名称默认拒绝(PI_ACP_IDE_EXTRA_TOOLS 可重新放行已审阅的工具)。
- $IntelliJ 优先编码模式(PI_ACP_IDE_MODE=off|prefer|required):prefer 与 required 在所需 IDE 能力注册后移除原生 read、edit、write、grep、find、ls 工具,改动经 IntelliJ 执行并打开受影响文件,patch 目标与路径参数都限制在 ACP 项目根内。
- $用 pi install npm:pi-acp-jetbrain 以 pi 包方式安装才能激活自带的桥接扩展(记入 ~/.pi/agent/settings.json);npm install -g pi-acp-jetbrain 只提供 pi-acp 可执行文件。还需在 ~/.jetbrains/acp.json 注册适配器。要求 Node.js 20+ 与 PATH 上的 pi。
- $pi-acp --terminal-login 交互式登录 provider;PI_ACP_PI_COMMAND(pi 路径)、PI_ACP_SESSION_MAP(会话映射路径)等环境变量可调校适配器。
## 常见问题
Q 为什么要以 pi 包方式安装?
pi install npm:pi-acp-jetbrain 会把包记入 ~/.pi/agent/settings.json 并自动启用其声明的扩展;只用 npm install -g 安装的话只有可执行文件,不会激活 Pi 包资源。
Q IntelliJ 优先模式是沙箱吗?
不是——PI_ACP_IDE_MODE=prefer|required 只是对常规编码工具的策略约束,不是文件系统沙箱:prefer 下不受限的 bash 仍可用于 Git、测试与构建,回合后的门禁只报告违规、不回滚改动。
## 参考链接
## 相关条目
$ dsh-pi-agent
DeepSeek Harness (DSH) 的 AgentFactory 插件——把 DSH 原生 agent 循环换成无头 pi --mode rpc 子进程,让 DSH 的 Web UI、会话、hooks 与 presets 全部保留,但模型看到的只有 pi 约 300 token 的系统提示与四个工具。
$ pi-acp
社区维护的 ACP(Agent Client Protocol)适配器,通过 stdio 上的 RPC 把 Zed 等 ACP 客户端与 Pi 的 JSON-RPC 2.0 通信桥接起来。
$ aft
为 Pi 与 OpenCode 提供薄适配器的感知运动皮层,替代原始的读写与 bash 调用。
最后更新: 2026年8月31日