OpenCode ACP 通道插件:在 OpenClaw 里用 ACP 调用 OpenCode

前言

在 OpenClaw 里做代码类任务时,常见做法是让主 Agent 自己读仓库、改文件,或手工切换到另一套编码工具。两边会话不贯通时,上下文容易断,权限与并发也不好统一管。

下面介绍 SkillHub 上的 OpenCode ACP 通道插件(坐标 @user_2e438cd6/opencode-acp-v5,版本 1.0.0)。它按 OpenClaw v2026.5+ 的 ACP 通道规范,把 OpenClaw 与 OpenCode 接在一起:在 OpenClaw 侧用 /acp 命令创建会话、续聊和收尾,由 ACP 后端与 OpenCode 协作执行代码任务。SkillHub 分类为 dev-programming,标签 requires_api_key=false(安装本 Skill 本身不要求额外 API Key)。

这是什么

一句话:为 OpenClaw 提供 ACP(Agent Client Protocol)通道,通过官方 acpx 运行时与自带的 OpenCode ACP 后端,在聊天线程里调用 OpenCode。

  • 分发与维护:社区源(source: community),发布者 user_2e438cd6;SkillHub 技能页标注作者为「戈壁老王」。包内 skill.yaml 作者字段为王俊聪。
  • 形态:符合通用 SKILL.md 的 Skill 包,同时包含 OpenClaw 插件源码、install.sh / install.js 安装脚本,以及 opencode-acp-backend 后端子工程。
  • 环境要求(包内 skillhub.json / README 一致):OpenClaw ≥ 2026.5.0、Node.js ≥ 18、需安装 @openclaw/acpx 插件。

核心功能

以下能力均来自包内 SKILL.md、skillhub.json 与 README,未超出文档表述:

  1. 会话创建:在 OpenClaw 中通过 /acp spawn opencode 创建指向 OpenCode 的 ACP 会话;支持 --mode persistent 持久化模式、--thread auto 绑定当前聊天线程。
  2. 会话续聊与状态:支持 /acp steer 向指定会话发送后续指令;支持 /acp status 查看状态;支持 /acp close 关闭会话(含 close all 等用法,见 skillhub.json 的 usage 字段)。
  3. 生命周期管理:插件侧维护会话创建、列表、终止、steer 等 JSON-RPC 能力;安装脚本会在用户目录生成 OpenCode ACP 后端(默认 ~/opencode-acp-backend),默认监听 localhost:8080(可通过环境变量 ACP_PORT、ACP_HOST 等调整,见后端入口逻辑)。
  4. 权限策略:skillhub.json 预置开发/生产两套 permissionMode 与 nonInteractivePermissions 示例;README 提供写入 ~/.config/openclaw/openclaw.json 的 json5 片段(插件项 opencode-acp)。
  5. OpenCode 侧:README 写明提供 ACP 后端实现、acpx 运行时相关配置,以及 JSON-RPC stdio 通信支持(与 TCP 后端并存于同一安装包结构)。

安装与启用

分两层理解:把 Skill 装进 Agent 的技能目录(便于 AI 按 SKILL.md 操作),以及在 OpenClaw 主机上安装插件与后端(真正打通通道)。

1. 通过 SkillHub 安装 Skill 包

先确认本机已有 skillhub CLI(安装方式见 SkillHub 安装说明)。安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。

在 OpenClaw 环境中,Skill 通常装到 OpenClaw 的 skills 目录;若你只在 Cursor 等客户端里引用文档,常见路径为 ~/.cursor/skills/(以你当前 Agent 文档为准)。

skillhub install opencode-acp-v5 --namespace user_2e438cd6 --dir <你的 skills 目录>

SkillHub 页面也给出了等价表述:按 https://skillhub.cn/install/skillhub.md 安装 @user_2e438cd6/opencode-acp-v5。

2. 在 OpenClaw 上安装 acpx 与本插件

SKILL.md 中的最小步骤如下。先做 acpx,再装 OpenCode ACP 插件包(npm 包名在元数据中为 @openclaw/opencode-acp-plugin)。

openclaw plugins install @openclaw/acpx
openclaw config set plugins.entries.acpx.enabled true
openclaw plugins install @openclaw/opencode-acp-plugin

skillhub.json 还要求 ACP 总开关与后端类型,推荐一并确认(可通过 openclaw config set 或编辑 ~/.config/openclaw/openclaw.json):

  • 必需:plugins.entries.acpx.enabled=true,acp.enabled=true,acp.backend=acpx
  • 推荐:plugins.entries.opencode-acp.enabled=true,acp.defaultAgent=opencode,acp.allowedAgents 包含 opencode、main、ops

包内 install.sh 或 npm install 触发的 install.js 会:检测 OpenClaw 与 Node 版本、安装并启用 acpx、写入基础 openclaw.json(会备份已有配置为 openclaw.json.backup)、在 ~/opencode-acp-backend 生成后端工程与 start.sh。若你已有自定义配置,安装前请先备份。

3. 启动 OpenCode ACP 后端

安装脚本完成后,需在本机启动后端(README 与安装脚本「后续步骤」一致):

cd ~/opencode-acp-backend
./start.sh

再用 OpenClaw 内命令自检:

/acp doctor

README 中「ACP backend not available」场景建议用 curl http://localhost:8080/health 检查后端是否可达(健康检查路径来自 README 故障排除小节)。

典型用法

在 OpenClaw 对话或命令行中,按包内文档可复现的流程如下。

创建持久会话并绑定当前线程:

/acp spawn opencode --mode persistent --thread auto

查看状态、发送指令、关闭会话:

/acp status
/acp steer <session-id> "创建一个 React 组件"
/acp close <session-id>

高级示例(skillhub.json)还包括对会话发送「分析代码库」类 steer,以及 /acp close all。

开发环境权限片段(写入 plugins.entries.opencode-acp.config,摘自 README):

{
  "plugins": {
    "entries": {
      "opencode-acp": {
        "enabled": true,
        "config": {
          "opencode": {
            "permissionMode": "approve-all",
            "nonInteractivePermissions": "deny"
          }
        }
      }
    }
  }
}

生产环境可将 permissionMode 设为 approve-reads,nonInteractivePermissions 设为 fail(与 skillhub.json 的 permissions.environments 一致)。

适用场景与注意

适合谁

  • 已在用 OpenClaw v2026.5+,并希望主对话里用 ACP 统一调度 OpenCode 做改码、重构、功能实现的用户。
  • 需要持久 ACP 会话、与当前聊天线程绑定,并用 /acp steer 连续下达任务的场景。

限制与注意

  1. 运行时绑定 OpenClaw:核心能力是 OpenClaw 插件与 ACP 后端,不是单独给 Cursor / Claude Code 用的通用 MCP;仅把 Skill 装进 ~/.cursor/skills/ 不会自动启用通道,仍需 OpenClaw 与后端进程。
  2. 依赖与版本:未安装 OpenClaw 或 Node 低于 18 时,install.sh / install.js 会直接退出并提示。
  3. 配置覆盖:自动安装会写入或覆盖 ~/.config/openclaw/openclaw.json 的基础模板,生产环境请合并配置而非盲目覆盖。
  4. 并发与会话上限:出现 “Maximum concurrent sessions reached” 时,README 建议例如 openclaw config set acp.maxConcurrentSessions 15。
  5. 非交互权限:若报 “Permission prompt unavailable in non-interactive mode”,README 建议调整 acpx 的 permissionMode(如 approve-all),需按你的安全策略取舍。
  6. 文档链接:README 末尾引用的 INSTALLATION_GUIDE.md 等文件在当前 Skill 包内未附带,详细步骤以本包 SKILL.md、README.md、install.sh 为准。

SkillHub 抓取元数据(2026-10-23 核对):评分 100000,下载 754,社区源;页面地址见文末。

结尾

OpenCode ACP 通道插件把 OpenClaw 的 /acp 命令面与 OpenCode 的执行能力对齐到同一套 ACP 规范里,并附带后端安装脚本与权限配置示例。若你的栈已是 OpenClaw + OpenCode,值得用 SkillHub 装包并按文档完成 acpx、插件与后端三步。

  • SkillHub 技能页:https://www.skillhub.cn/skills/user_2e438cd6/opencode-acp-v5
  • API 坐标页:https://api.skillhub.cn/user_2e438cd6/opencode-acp-v5
  • 安装说明:https://skillhub.cn/install/skillhub.md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜