OpenClaw ACP 协议深度解析:让 IDE 直接驱动你的 AI Agent

🔗 ACP(Agent Client Protocol)是 OpenClaw 最新的核心基础设施升级 —— 一个连接 IDE 和 OpenClaw Gateway 的通信隧道,让你在 VS Code / Zed 中直接驱动 AI Agent,一切都无需离开编辑器

📑 文章目录

  1. 为什么需要 ACP:在 IDE 和 Agent 之间反复横跳的痛苦
  2. ACP 30 秒速懂:AI 世界的 Language Server Protocol
  3. ACP 架构全景:从 IDE 到 Gateway 的完整链路
  4. ACP vs MCP vs Skill:三大协议一次搞清
  5. ACP 的两种运行模式:Bridge 模式 vs Client 模式
  6. 实战一:在 VS Code 中配置 ACP 连接 OpenClaw
  7. 实战二:在 Zed 中配置 ACP 连接 OpenClaw
  8. ACP 核心消息流解析:一次完整的交互长什么样
  9. 进阶配置:多 Agent 路由、Workspace 感知、审批流
  10. 调试技巧:从"连不上"到"没反应"
  11. 安全注意事项
  12. 完整配置汇总 & 总结

1. 为什么需要 ACP:在 IDE 和 Agent 之间反复横跳的痛苦

如果你是一个日常使用 OpenClaw 的开发者,你一定经历过这种工作流:

1. 在 VS Code 里写代码,发现需要 Agent 帮忙
2. 切到 Telegram / 终端 / WebChat,跟 Agent 说需求
3. Agent 生成了代码,你手动复制
4. 切回 VS Code,粘贴到对应文件
5. 发现需要调整,再切到 Agent 对话
6. 把报错信息复制给 Agent
7. Agent 改完了,再复制回来
8. 重复 5-7 步骤 N 次...

你在 IDE 和 Agent 之间反复横跳。 每次切换窗口都打断心流(Flow State),每次复制粘贴都可能出错(忘了复制完整、粘贴到错误的文件)。

更深层的问题是:Agent 看不到你的编辑器状态。它不知道你的光标在哪里、打开了哪些文件、终端里报了什么错。你必须手动把这些上下文"搬运"给它——而这恰恰是最该自动化的部分。

这就是 ACP 要解决的问题:让 IDE 和 Agent 直接对话,不需要你做中间人。


2. ACP 30 秒速懂:AI 世界的 Language Server Protocol

类比理解

如果你用过 VS Code,你一定享受过语法高亮、自动补全、跳转定义这些功能。这些功能不是 VS Code 自己实现的——它通过 LSP(Language Server Protocol) 跟一个后台运行的语言服务器通信,语言服务器才是真正"懂"代码的大脑。

LSP 的世界:
  VS Code ←──LSP──→ TypeScript Language Server
  你打了一个字 → VS Code 通过 LSP 问服务器"这里能补全什么" → 服务器返回建议

ACP 的世界:
  VS Code ←──ACP──→ OpenClaw Gateway
  你选中一段代码 → VS Code 通过 ACP 问 Agent"帮我重构这个" → Agent 返回修改

💡 一句话定义:ACP(Agent Client Protocol)是一个连接 IDE 和 AI Agent 的标准化通信协议。就像 LSP 让任何编辑器都能获得语言智能一样,ACP 让任何编辑器都能驱动 AI Agent。

ACP 的核心身份

OpenClaw ACP 是一个命令行工具,实现 Agent Client Protocol,作为 IDE 和 OpenClaw Gateway 实例之间的通信隧道,让代码编辑器直接发送 prompt 并接收响应——一切都无需离开开发环境。

ACP 桥通过 stdio(标准输入/输出) 通信,使其与任何支持该协议的 IDE 或工具兼容。这意味着:不管是 VS Code、Zed、Neovim、JetBrains 还是未来的某个新编辑器,只要它能启动一个子进程并跟它的 stdin/stdout 通信,就能接入 ACP。


3. ACP 架构全景:从 IDE 到 Gateway 的完整链路

┌──────────────────────────────────────────────────────────────────┐
│                        你的开发机器                                │
│                                                                  │
│  ┌──────────────┐     stdio      ┌──────────────────┐           │
│  │   VS Code    │ ←────────────→ │  openclaw acp    │           │
│  │   / Zed      │    JSON-RPC    │  (CLI Bridge)    │           │
│  │              │                │                  │           │
│  │ ┌──────────┐ │                │ 功能:           │           │
│  │ │ Agent    │ │                │ • stdio ↔ WS 转换│           │
│  │ │ Panel    │ │                │ • 认证管理       │           │
│  │ └──────────┘ │                │ • 消息路由       │           │
│  └──────────────┘                └────────┬─────────┘           │
│                                           │                      │
│                                           │ WebSocket            │
│                                           │ (本地或 Tailscale)    │
│                                           │                      │
│                                           ▼                      │
│  ┌────────────────────────────────────────────────────┐         │
│  │              OpenClaw Gateway                       │         │
│  │                                                    │         │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────────────┐ │         │
│  │  │ Session  │  │ Agent    │  │ Tools / Skills / │ │         │
│  │  │ Manager  │  │ Runtime  │  │ MCP Servers      │ │         │
│  │  └──────────┘  └──────────┘  └──────────────────┘ │         │
│  └────────────────────────────────────────────────────┘         │
│                                                                  │
│  ┌────────────────────────────────────────────────────┐         │
│  │  Workspace 文件系统(Agent 可读写的项目目录)        │         │
│  └────────────────────────────────────────────────────┘         │
└──────────────────────────────────────────────────────────────────┘

关键组件:

组件 角色 说明
IDE (VS Code / Zed) ACP Client 发送 prompt、显示响应、提供编辑器上下文
openclaw acp (CLI) Bridge 协议翻译器:把 IDE 的 stdio 消息转为 Gateway 的 WebSocket 消息
OpenClaw Gateway ACP Server 接收请求、调用 Agent、返回结果
Agent Runtime 执行引擎 实际执行任务(调用 LLM、工具、Skills)

通信协议栈

IDE  ←─stdio─→  ACP Bridge  ←─WebSocket─→  Gateway
       │                          │
       │  JSON-RPC 2.0            │  OpenClaw 内部协议
       │  (标准化消息格式)         │  (session/agent 管理)
       │                          │

ACP Bridge 的核心价值在于协议翻译:IDE 只需要通过标准的 stdio 发送 JSON-RPC 消息,Bridge 负责把它转换成 Gateway 能理解的 WebSocket 通信。这让 IDE 侧的实现极其简单——不需要任何 OpenClaw 专用 SDK。


4. ACP vs MCP vs Skill:三大协议一次搞清

OpenClaw 现在有三个重要协议/扩展机制,新手很容易混淆:

维度 ACP (Agent Client Protocol) MCP (Model Context Protocol) Skill
解决什么问题 IDE 怎么跟 Agent 对话 Agent 怎么跟外部工具对话 Agent 怎么执行复杂工作流
通信方向 人 → Agent(自上而下) Agent → 工具(自内而外) Agent 内部(自身行为)
类比 你(老板)给员工下指令 员工使用各种办公工具 员工的标准操作手册
通信协议 JSON-RPC 2.0 over stdio JSON-RPC 2.0 over stdio/SSE 无协议(Markdown 指令)
谁实现 Server OpenClaw Gateway 外部工具提供方 不涉及 Server
谁实现 Client IDE(VS Code / Zed) OpenClaw 内置 Client 不涉及 Client
生态规模 IDE 扩展生态 1,000+ MCP 服务器 ClawHub 上千个 Skill

它们的关系

你在 VS Code 里说:
  "查询数据库,生成本月报告,发到 Notion"
        │
        │ ACP Protocol
        ▼
  OpenClaw Agent 接收指令
        │
        ├── 调用 Skill "monthly-report"(编排工作流)
        │       │
        │       ├── 调用 MCP Server: pg.query(查数据库)
        │       ├── AI 生成分析报告
        │       └── 调用 MCP Server: notion.create_page(写 Notion)
        │
        └── 通过 ACP 把结果流式返回到 VS Code
                │
                ▼
          VS Code 显示结果 / 自动应用代码修改

一句话总结:ACP 是入口(人→Agent),MCP 是出口(Agent→工具),Skill 是内功(Agent 的行为逻辑)。三者互补,不是竞争。


5. ACP 的两种运行模式:Bridge 模式 vs Client 模式

OpenClaw 对 ACP 的支持分为两个维度,理解它们是正确配置的前提。

模式一:ACP Bridge(OpenClaw 作为 ACP Server)

这是最常用的模式——你的 IDE 通过 ACP 连接到 OpenClaw,让 OpenClaw 为 IDE 提供 Agent 能力。

IDE (ACP Client) ──→ openclaw acp (Bridge) ──→ OpenClaw Gateway (Server)

你在 IDE 里说话 ──→ Bridge 转发 ──→ Gateway 的 Agent 执行 ──→ 结果流回 IDE

使用场景:你想在 VS Code / Zed 中使用 OpenClaw Agent 写代码、重构、调试。

模式二:ACP Client(OpenClaw 作为 ACP Client)

这是更新的能力——OpenClaw 已将 ACP Agents 提升为一等运行时,意味着 OpenClaw 现在可以作为 ACP Client 连接到任何 ACP Agent。

OpenClaw Gateway (ACP Client) ──→ 外部 ACP Agent (Server)

OpenClaw 调用外部 Agent ──→ 外部 Agent 执行 ──→ 结果返回 OpenClaw

使用场景:你想让 OpenClaw 调用其他 AI Agent(如 Devin、Cursor Agent 等遵循 ACP 协议的 Agent),把它们当作"子代理"使用。

对比

维度 Bridge 模式 Client 模式
OpenClaw 的角色 ACP Server(被 IDE 调用) ACP Client(调用别人)
启动命令 openclaw acp 在 openclaw.json 中配置
典型场景 IDE 里写代码 Agent 编排子任务
本文重点 ⭐ 是 简要介绍

6. 实战一:在 VS Code 中配置 ACP 连接 OpenClaw

前置条件

# 1. OpenClaw 已安装并运行
openclaw --version
# openclaw v2026.3.x

# 2. Gateway 正在运行
openclaw doctor
# ✅ Gateway running (PID xxxx)
# ✅ Auth token configured

# 3. 确认 acp 子命令可用
openclaw acp --help
# Usage: openclaw acp [options]
# Start ACP bridge for IDE integration

Step 1:获取 Gateway 认证信息

# 如果你使用 Token 认证
# 确认 .env 中有 OPENCLAW_GATEWAY_TOKEN
cat ~/.openclaw/.env | grep GATEWAY_TOKEN

# 如果你使用 Tailscale 认证(推荐)
# 确认 Tailscale 正在运行
tailscale status

# 获取 Gateway 的访问地址
# 本地部署:ws://127.0.0.1:18789
# Tailscale:wss://your-node.tail1234.ts.net

Step 2:安装 VS Code 扩展

OpenClaw 的 ACP 支持有两种接入 VS Code 的方式:

方式 A:通过 VS Code 的 Chat/Agent API(推荐)

VS Code 2026.x 原生支持 ACP 协议的 Agent Provider。你只需要在 settings.json 中注册 OpenClaw 为一个 Agent Provider:

// .vscode/settings.json
{
  "chat.agent.providers": [
    {
      "id": "openclaw",
      "name": "OpenClaw",
      "command": "openclaw",
      "args": ["acp"],
      "env": {
        "OPENCLAW_GATEWAY_URL": "ws://127.0.0.1:18789",
        "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}"
      }
    }
  ]
}

方式 B:通过独立扩展

# 安装社区开发的 OpenClaw ACP 扩展
code --install-extension openclaw.openclaw-acp

# 或者在 VS Code 扩展市场中搜索 "OpenClaw ACP"

Step 3:配置 ACP Bridge 参数

// .vscode/settings.json — 完整 ACP 配置
{
  "chat.agent.providers": [
    {
      "id": "openclaw",
      "name": "OpenClaw Agent",
      "command": "openclaw",
      "args": [
        "acp",
        "--gateway", "ws://127.0.0.1:18789",
        "--agent", "main",
        "--workspace", "${workspaceFolder}"
      ],
      "env": {
        "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}"
      }
    }
  ]
}

参数说明:

参数 说明 默认值
--gateway Gateway 地址 ws://127.0.0.1:18789
--agent 使用哪个 Agent main
--workspace 项目工作区路径 当前目录
--session 指定 session ID(可选) 自动创建新 session

Step 4:验证连接

1. 打开 VS Code
2. 按 Ctrl+Shift+P → 输入 "Chat: Open"
3. 在 Agent 选择器中选择 "OpenClaw Agent"
4. 输入测试消息:"你好,请告诉我你的名字和当前工作区路径"

期望响应:
🤖 你好!我是 [Agent 名称],当前工作区是 /path/to/your/project。
   我可以帮你编写代码、重构文件、运行命令等。有什么需要?

推荐做法:在 .vscode/settings.json 中配置而不是全局 settings,这样每个项目可以连接不同的 Agent(如 main 用于日常开发,code-reviewer 用于代码审查)。

Step 5:日常使用

# 在 VS Code Chat 面板中,你现在可以直接:

💬 你:重构当前文件中的 getUserById 函数,使用 Result<T,E> 模式

🤖 Agent:
  [读取当前打开的文件]
  [分析 getUserById 函数]
  [生成重构后的代码]

  我已经为 getUserById 生成了重构方案:
  - 返回类型改为 Result<User, DatabaseError>
  - 添加了 try-catch 错误处理
  - 添加了 JSDoc 注释

  [VS Code 自动显示 Diff 视图]
  要应用这个修改吗?

💬 你:应用,然后运行测试

🤖 Agent:
  [应用代码修改]
  [在终端中运行 npm test]
  ✅ 所有测试通过。

7. ACP 核心消息流解析:一次完整的交互长什么样

理解底层消息流有助于排查问题和进阶使用。

7.1 完整的请求-响应生命周期

IDE (VS Code)              ACP Bridge              Gateway
     │                         │                       │
     │  ① initialize           │                       │
     │ ───────────────────→    │                       │
     │                         │  ② connect + auth     │
     │                         │ ─────────────────→    │
     │                         │  ③ session created    │
     │                         │ ←─────────────────    │
     │  ④ initialized          │                       │
     │ ←───────────────────    │                       │
     │                         │                       │
     │  ⑤ agent/prompt         │                       │
     │ ───────────────────→    │                       │
     │                         │  ⑥ forward prompt     │
     │                         │ ─────────────────→    │
     │                         │                       │
     │                         │  ⑦ streaming response │
     │                         │ ←─── token ──────     │
     │  ⑧ stream token         │ ←─── token ──────     │
     │ ←─── token ─────────    │ ←─── token ──────     │
     │ ←─── token ─────────    │                       │
     │ ←─── token ─────────    │  ⑨ tool_use request   │
     │                         │ ←─────────────────    │
     │  ⑩ tool_approval        │                       │
     │ ←───────────────────    │                       │
     │  (用户在 IDE 中审批)     │                       │
     │ ───────────────────→    │                       │
     │                         │  ⑪ approval result    │
     │                         │ ─────────────────→    │
     │                         │                       │
     │                         │  ⑫ final response     │
     │  ⑬ completion           │ ←─────────────────    │
     │ ←───────────────────    │                       │
     │                         │                       │

7.2 关键消息类型

消息 方向 说明
initialize IDE → Bridge 初始化连接,传递 IDE 能力声明(支持哪些功能)
agent/prompt IDE → Bridge → Gateway 用户发送的 prompt,可包含上下文(当前文件、选中文本等)
agent/response Gateway → Bridge → IDE Agent 的响应(流式传输,逐 Token 返回)
tool_use Gateway → Bridge → IDE Agent 要执行工具操作,请求 IDE 端审批
tool_approval IDE → Bridge → Gateway 用户批准/拒绝工具执行
file/edit Gateway → Bridge → IDE Agent 请求修改文件(IDE 可显示 Diff 供用户审核)
terminal/exec Gateway → Bridge → IDE Agent 请求在 IDE 终端中执行命令

7.3 上下文传递:IDE 怎么把编辑器状态告诉 Agent

这是 ACP 最有价值的特性——IDE 会自动在 prompt 中附带编辑器上下文:

// IDE 发送给 Bridge 的 agent/prompt 消息示例
{
  "jsonrpc": "2.0",
  "method": "agent/prompt",
  "params": {
    "prompt": "重构这个函数,使用 Result 模式",
    "context": {
      "activeFile": {
        "path": "src/utils/auth.ts",
        "language": "typescript",
        "content": "... 文件完整内容 ...",
        "selection": {
          "startLine": 42,
          "endLine": 67,
          "text": "... 选中的代码 ..."
        },
        "cursorPosition": { "line": 55, "column": 12 }
      },
      "openFiles": [
        "src/utils/auth.ts",
        "src/types/result.ts",
        "tests/auth.test.ts"
      ],
      "workspace": {
        "root": "/home/user/projects/myapp",
        "gitBranch": "feature/auth-refactor",
        "gitStatus": "3 files modified"
      },
      "terminal": {
        "lastOutput": "npm test\n\n  FAIL  tests/auth.test.ts\n  ..."
      },
      "diagnostics": [
        {
          "file": "src/utils/auth.ts",
          "line": 55,
          "severity": "error",
          "message": "Type 'string' is not assignable to type 'Result<User, Error>'"
        }
      ]
    }
  }
}

Agent 收到这些信息后,就能精确理解你的开发状态:你在哪个文件、选中了什么、终端报了什么错、git 在哪个分支——不需要你手动复制任何东西。


8. 进阶配置:多 Agent 路由、Workspace 感知、审批流

8.1 多 Agent 路由

你可以在 IDE 中配置多个 Agent,按任务类型切换:

// .vscode/settings.json — 多 Agent 配置
{
  "chat.agent.providers": [
    {
      "id": "openclaw-main",
      "name": "OpenClaw: Main Agent",
      "command": "openclaw",
      "args": ["acp", "--agent", "main"],
      "env": { "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}" }
    },
    {
      "id": "openclaw-reviewer",
      "name": "OpenClaw: Code Reviewer",
      "command": "openclaw",
      "args": ["acp", "--agent", "code-reviewer"],
      "env": { "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}" }
    },
    {
      "id": "openclaw-quick",
      "name": "OpenClaw: Quick (Haiku)",
      "command": "openclaw",
      "args": ["acp", "--agent", "quick"],
      "env": { "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}" }
    }
  ]
}
# 在 VS Code Chat 中切换:
@openclaw-main 帮我实现这个功能        ← Sonnet 4.5 主力模型
@openclaw-reviewer 审查我的 PR          ← 专门的代码审查 Agent
@openclaw-quick 这个错误是什么意思      ← Haiku 快速回答,省钱

8.2 Workspace 感知配置

让 Agent 在连接时自动理解项目结构:

// openclaw.json — ACP 的 workspace 配置
{
  "acp": {
    "workspace": {
      // Agent 连接时自动读取的上下文文件
      "autoLoadFiles": [
        "CLAUDE.md",
        ".conventions.md",
        "README.md",
        "package.json",
        "tsconfig.json"
      ],
      // 最大自动加载文件数(防止大型 monorepo 爆上下文)
      "maxAutoLoadFiles": 10,
      // 自动加载文件的最大 Token
      "maxAutoLoadTokens": 5000
    }
  }
}

8.3 IDE 端审批流

ACP 支持在 IDE 中审批 Agent 的危险操作——不需要切到 Telegram 或终端:

// openclaw.json — ACP 审批配置
{
  "tools": {
    "elevated": {
      "mode": "ask",
      "gates": ["exec", "write", "apply_patch"]
    }
  },
  "acp": {
    "approval": {
      // 审批在 IDE 中完成(而不是 Telegram 或终端)
      "uiMode": "ide",
      // 文件修改自动显示 Diff 视图
      "showDiffForEdits": true,
      // 命令执行显示预览
      "showCommandPreview": true,
      // 自动批准安全操作(只读操作不需要审批)
      "autoApproveReadOnly": true
    }
  }
}

IDE 端审批效果:

🤖 Agent 想要执行以下操作:

  📝 修改文件: src/utils/auth.ts
  ┌────────────────────────────────────────┐
  │ -  function getUserById(id: string) {  │
  │ +  function getUserById(              │
  │ +    id: string                        │
  │ +  ): Result<User, DatabaseError> {    │
  │    ...                                  │
  └────────────────────────────────────────┘

  [✅ 应用] [❌ 拒绝] [📝 修改后应用]

9. 调试技巧:从"连不上"到"没反应"

9.1 连接测试

# 1. 确认 Gateway 正在运行
openclaw doctor
# ✅ Gateway running

# 2. 手动测试 ACP Bridge
echo '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{}}' | \
  openclaw acp --gateway ws://127.0.0.1:18789

# 期望:收到 JSON-RPC 响应(initialized 消息)
# 如果超时或报错,说明 Gateway 连接有问题

# 3. 检查认证
openclaw acp --gateway ws://127.0.0.1:18789 --verbose 2>&1 | head -20
# 查看是否有 auth 相关的错误

# 4. 检查端口
ss -tlnp | grep 18789
# 确认 Gateway 在监听

9.2 常见问题排查表

症状 可能原因 解决方案
IDE 中看不到 OpenClaw Agent 选项 配置文件语法错误 检查 JSON 语法;确认配置在正确的 settings 文件中
选择 Agent 后一直"连接中" Gateway 未运行 / 地址错误 运行 openclaw doctor;检查 --gateway 地址
连接成功但发消息无响应 Agent 名称不存在 检查 --agent 参数是否匹配 openclaw.json 中的 Agent 名称
连接后立即断开 认证失败 检查 OPENCLAW_GATEWAY_TOKEN 环境变量是否正确设置
响应到一半中断 Gateway 崩溃 / 内存不足 查看 Gateway 日志;增加 Docker 内存限制
文件修改未生效 工作区路径错误 检查 --workspace 参数是否指向正确的项目目录
Agent 看不到打开的文件 IDE 扩展版本过低 更新 IDE 和 ACP 扩展到最新版本
Tailscale 远程连接失败 WSS 证书问题 使用 wss:// 而非 ws://;确认 Tailscale Serve 已配置

9.3 日志调试

# 启用 ACP Bridge 的详细日志
openclaw acp --gateway ws://127.0.0.1:18789 --verbose --log-level debug

# 查看 Gateway 端的 ACP 相关日志
grep -i "acp\|agent.*client\|bridge" ~/.openclaw/logs/*.log | tail -50

# VS Code 开发者控制台(Help → Toggle Developer Tools → Console)
# 搜索 "openclaw" 或 "acp" 相关的日志

9.4 万能调试 Prompt

💬 你(在 IDE Chat 中):
  请进行自我诊断:
  1. 告诉我你是通过什么协议连接的(ACP / WebSocket / 其他)
  2. 你能看到我当前打开的文件吗?如果能,列出文件名
  3. 你能看到我的工作区路径吗?
  4. 你能执行命令吗?试着运行 "echo hello"
  5. 你当前的 Agent 名称和使用的模型是什么?

10. 完整配置汇总

VS Code 完整配置

// .vscode/settings.json
{
  "chat.agent.providers": [
    {
      "id": "openclaw-main",
      "name": "OpenClaw: Main",
      "command": "openclaw",
      "args": [
        "acp",
        "--gateway", "ws://127.0.0.1:18789",
        "--agent", "main",
        "--workspace", "${workspaceFolder}"
      ],
      "env": {
        "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}"
      }
    },
    {
      "id": "openclaw-quick",
      "name": "OpenClaw: Quick (Haiku)",
      "command": "openclaw",
      "args": [
        "acp",
        "--gateway", "ws://127.0.0.1:18789",
        "--agent", "quick",
        "--workspace", "${workspaceFolder}"
      ],
      "env": {
        "OPENCLAW_GATEWAY_TOKEN": "${env:OPENCLAW_GATEWAY_TOKEN}"
      }
    }
  ]
}

openclaw.json ACP 相关配置

// ~/.openclaw/openclaw.json — ACP 完整配置
{
  "gateway": {
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "${OPENCLAW_GATEWAY_TOKEN}",
      "allowTailscale": true
    }
  },

  "acp": {
    "workspace": {
      "autoLoadFiles": [
        "CLAUDE.md",
        ".conventions.md",
        "README.md",
        "package.json"
      ],
      "maxAutoLoadFiles": 10,
      "maxAutoLoadTokens": 5000,
      "excludePatterns": [
        "**/.env", "**/.env.*", "**/secrets/**",
        "**/*.pem", "**/*.key"
      ]
    },
    "approval": {
      "uiMode": "ide",
      "showDiffForEdits": true,
      "showCommandPreview": true,
      "autoApproveReadOnly": true
    }
  },

  "tools": {
    "elevated": {
      "mode": "ask",
      "gates": ["exec", "write", "apply_patch"]
    }
  },

  "agents": {
    "list": [
      {
        "name": "main",
        "model": {
          "primary": "anthropic/claude-sonnet-4-5",
          "thinkingBudget": { "type": "tokens", "maxTokens": 5000 }
        }
      },
      {
        "name": "quick",
        "model": {
          "primary": "anthropic/claude-haiku-3-5",
          "thinkingBudget": { "type": "tokens", "maxTokens": 1000 }
        }
      },
      {
        "name": "code-reviewer",
        "model": {
          "primary": "anthropic/claude-sonnet-4-5",
          "thinkingBudget": { "type": "tokens", "maxTokens": 8000 }
        }
      }
    ]
  }
}

🎯 五个关键 Takeaway

  1. ACP = IDE 和 Agent 之间的高速公路 —— 不再需要在编辑器和 Telegram/终端之间反复切换,Agent 直接嵌入你的开发环境
  2. ACP Bridge 通过 stdio 通信 —— 这使它与任何支持子进程通信的 IDE 兼容(VS Code、Zed、Neovim、JetBrains……)
  3. IDE 上下文自动传递 —— Agent 能看到你打开的文件、选中的代码、终端输出、Git 状态,不需要手动复制粘贴
  4. 多 Agent 路由 —— 在 IDE 中注册多个 Agent(Main / Quick / Reviewer),按任务类型切换,兼顾效果和成本
  5. 安全审批在 IDE 内完成 —— 文件修改显示 Diff、命令执行显示预览,在编辑器中一键批准或拒绝

📚 参考资料

如果觉得有帮助,欢迎 点赞 👍 收藏 ⭐ 关注 🔔,有问题评论区见!


本文为原创内容,转载请注明出处。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐