Skip to content

编辑器集成(ACP)

hipmmcode 说 Agent Client Protocol(ACP) —— 编辑器内嵌编码智能体的开放 JSON-RPC 协议。任何 ACP 兼容编辑器(Zed、JetBrains 或自定义客户端)都能驱动 hipmmcode 会话:逐 token 流式、工具卡片、权限弹窗、会话列表/加载、实时模式与模型切换。

stdio(编辑器)

编辑器把 hipmmcode 作为子进程拉起:

bash
hipmmcode acp                        # stdio 上的 JSON-RPC
hipmmcode acp -p kimi -m kimi-k2     # 为会话钉住渠道/模型

Zed 配置示例:

json
{
  "agent_servers": {
    "hipmmcode": { "command": "hipmmcode", "args": ["acp"] }
  }
}

编辑器拿到什么:

  • 流式 —— 逐 token 的 agent_message_chunk
  • 工具卡片 —— 每个工具调用的状态与输出。
  • 权限 —— ask 决策以编辑器原生弹窗呈现;权限模式(default / acceptEdits / plan / bypass)可在编辑器 UI 切换。
  • 会话 —— 列出并加载历史会话。
  • 模型 —— 模型选择器由你配置的渠道填充,会话中可切换。
  • 拖拽/提及的文件跨平台解析(file:// URI、空格、百分号编码、Windows 路径)。

日志走 stderr,永不占用 stdout(协议通道)。

WebSocket(远程 / 自定义客户端)

把 ACP 从 stdio 换成网络:

bash
hipmmcode acp --listen 127.0.0.1:9910
hipmmcode acp --listen :9910 --auth-token S3CR3T    # 裸 :port → 127.0.0.1
  • 协议与能力完全一致 —— 每个 WebSocket 连接获得独立的会话宿主。
  • --auth-token 在 WS 握手时强制:发 Authorization: Bearer <token>?token=<token>
  • 默认回环绑定;非回环绑定打印安全警告(智能体能跑 shell)。远程使用优先 SSH 隧道或 TLS 终结代理。

消息为每个 WebSocket 文本帧一个 JSON-RPC 对象(帧内按换行分批也容忍)。

IDE 诊断桥

与 ACP 互补:hipmmcode --ide 连接正在运行的 VS Code / Cursor / Windsurf,给智能体 mcp__ide__getDiagnostics 能力 + 编辑后自动注入诊断 —— 智能体改完文件立刻看到编辑器的报错波浪线。

bash
hipmmcode --ide           # 任意子命令均可;自动探测运行中的 IDE