OpenClaw通过ACPX调用Claude Code实现飞书操作CC

背景:

我组织了一组Agent,模拟一家软件公司开发一个新的系统,最多有47个Agent。

一般我只跟CEO沟通,让他组织其他Agent进行开发。

问题:

在OpenClaw的主机上,我还安装了Claude Code,并配置了不同的API Key。我从token消耗看,大部分开发都任务都在OpenClaw里面进行,虽然有coding agent,但基本没有使用claude。

关键是OpenClaw开发的时候不仅token消耗大,而且效果还不够好,遇到技术问题,我还得手动开启Claude Code,让CC帮我解决问题。

解决方案:让OpenClaw能主动/自动调用Claude Code。

ACP和ACPX的基础概念

ACP:Agent Client Protocol

官方介绍是:The Agent Client Protocol (ACP) standardizes communication between code editors (interactive programs for viewing and editing source code) and coding agents (programs that use generative AI to autonomously modify code).

翻译过来:Agent 客户端协议(ACP)标准化了代码编辑器(用于查看和编辑源代码的交互式程序)与编码代理(使用生成式 AI 自主修改代码的程序)之间的通信。

当我们用Claude Code的命令行工具时,感觉不到ACP。但当我们用VS Code或IDEA时,由这些IDE调用Claude Code时,应该就有ACP的影子(具体实现可以不管)。

其他一切客户端,比如OpenClaw的聊天界面,想与Claude Code交互时,也可以用到ACP协议。这就引出ACPX。

ACPX:

ACPX(AgentClientProtocolX)是一个无头CLI客户端,通过结构化协议实现AI助手间的协作通信,支持OpenClaw与ClaudeCode等代理间的标准化、双向任务委派、会话共享与并行工作流。这是官方的说法,可能有点绕。

当你全部看完这篇文章,并完成操作支后,就会感觉,通过ACPX,可以直接调用Claude,就像调用其他的智能体一样。你通过聊天界面,不是在跟OpenClaw的某个智能体聊天,而是直接与Claude聊天,让Claude Code操作你的电脑,帮你做任何事。这间接实现了通过飞书控制Claude Code操作电脑。

总结来说:ACPX 是 ACP 的具体实现。

在OpenClaw中的安装步骤

acpx包括2个工具,一个是acpx插件(openclaw的集成层),一个时acpx的npm包(实际功能实现层)。两个都装了,OpenClaw 才能无缝使用 acpx 的 ACP(Agent Client Protocol)功能。

安装OpenClaw的acpx插件

复制代码
openclaw plugins install @openclaw/acpx
# 安装到这个目录中~/.npm-global/lib/node_modules/openclaw/dist/extensions/acpx/
# 使用openclaw plugins list 可以查看到插件信息

安装好插件后,还需要做配置,建议如下:

复制代码
  "plugins": {
    "allow": [
      "acpx"
    ],
    "entries": {
      "acpx": {
        "enabled": true,
        "config": {
          "command": "acpx",
          "permissionMode": "approve-all" # 如果不这样,Claude code会获取不到权限,导致什么页干不了
        }
      }
    }
  },
  "acp": {
    "enabled": true,
    "backend": "acpx",
    "defaultAgent": "claude",
    "allowedAgents": [ # 根据自己情况配置
      "claude",
      "codex",
      "cursor",
      "gemini",
      "pi"
    ]
  },

安装acpx,参考的时acpx的github

复制代码
# 安装到 ~/.npm-global/lib/node_modules/acpx
npm install -g acpx@latest
# 安装 claude 的skill,这条命令在~/.claude下面安装acpx的skill
npx acpx@latest --skill install acpx

ACP使用指引

ACPX无法在OpenClaw的网页版聊天窗口中使用,要在飞书中使用。

所以我在飞书的机器人聊天窗口输入如下命令,建立一个持久保持的会话。此时我的这个机器人,就直连上OpenClaw所在机器的Claude Code上了。所有我们之前交流的信息,CC都不知道。除非明确传递给了Claude Code。

开启会话

复制代码
/acp spawn claude --mode persistent --thread auto

效果:

在飞书中输入/acp status,会得到如下反馈:

复制代码
session: agent:claude:acp:cee86339-9f98-4269-9fec-477a3a5bca6d 
backend: acpx 
agent: claude 
acpx session id: f8d9115f-3e61-4ea1-a552-a54898378698 
acpx record id: f8d9115f-3e61-4ea1-a552-a54898378698 
sessionMode: persistent 
state: idle 
runtimeOptions: cwd=/home/band/.openclaw/workspace 
capabilities: session/set_config_option, session/set_mode, session/status 
lastActivityAt: 2026-04-05T14:59:26.563Z 
runtime: status=dead acpxRecordId=f8d9115f-3e61-4ea1-a552-a54898378698 acpxSessionId=f8d9115f-3e61-4ea1-a552-a54898378698 pid=30446 
runtimeDetails: {"action":"status_snapshot","status":"dead","pid":30446,"summary":"queue owner unavailable","model":"default","availableModels":["default","sonnet[1m]","opus[1m]","haiku"],"acpxRecordId":"f8d9115f-3e61-4ea1-a552-a54898378698","acpxSessionId":"f8d9115f-3e61-4ea1-a552-a54898378698"}

在网页聊天窗口,能找到和Claude Code对应的会话,但是在飞书上发的消息,这里都看不到。在这个会话中,发消息,也是发给Claude Code,Claude Code也能处理。但是问题就是飞书渠道和网页渠道都收不到彼此的消息,只有Claude Code都能收到。

关闭会话

复制代码
# 在飞书窗口发送
/acp close

# 收到回复
✅ Closed ACP session agent:claude:acp:cee86339-9f98-4269-9fec-477a3a5bca6d. Removed 1 binding.

之后在飞书聊天,又是跟原来的OpenClaw Agent了。

参考信息:

ACP:https://github.com/agentclientprotocol/

OpenClaw官网关于apc-agents的说明:https://docs.openclaw.ai/tools/acp-agents

acpx github地址:https://github.com/openclaw/acpx

https://www.choudalao.com/article/353

相关推荐
2501_933329552 小时前
AI驱动媒介宣发:Infoseek舆情系统的技术架构与公关实战
数据仓库·人工智能·重构·数据库开发
Hooray2 小时前
AI 时代的管理后台框架,应该是什么样子?
前端·vue.js·ai编程
云栖梦泽2 小时前
【AI】AI安全工具:常用AI安全检测工具的使用教程
大数据·人工智能·安全
JavaGuide2 小时前
万字详解 RAG 基础概念:什么是 RAG? 为什么需要?工作原理是?
后端·ai编程
海兰2 小时前
【AI网关】阿里开源的Higress(OpenAPI-to-MCP工具)
人工智能·架构·开源·银行系统
凤山老林2 小时前
Java 开发者零成本构建 RAG 知识库:Spring AI Alibaba + Ollama 搭建本地 RAG 知识库
java·人工智能·知识库·rag·spring ai
独断万古他化2 小时前
AI 赋能自动化测试实战:从用例生成到 CI/CD 全流程落地
人工智能·ci/cd·测试
笨笨饿2 小时前
34_数据结构_栈
c语言·开发语言·数据结构·人工智能·嵌入式硬件·算法
AI医影跨模态组学2 小时前
Adv Sci 复旦大学附属中山医院宋志坚&复旦大学上海肿瘤医院黄丹等团队:基于基础模型的多模态深度学习用于结直肠癌不完整模态的预后预测
人工智能·深度学习·论文·医学·医学影像