← 返回
未分类 Key

Acp Harness Delegation

通过 ACP runtime 委托 acpx-enabled harness(Claude Code / Codex 等)的标准协议。触发词:调用 Claude Code、通过 acp 调用、通过 acpx 调用、delegation to claude/codex、Coordinator 调用 Executor。
通过 ACP 运行时委托 acpx 支持的 harness(Claude Code、Codex 等)的标准协议。触发词:调用 Claude Code、通过 ACP 调用、通过 acpx 调用、delegation to claude/codex、Coordinator 调用 Executor。
chaoyang78
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 318
下载
💾 1
安装
1
版本
#latest

概述

Acpx Harness Delegation

通过 ACP runtime 委托 acpx-enabled harness(Claude Code / Codex 等)的标准协议。

触发条件(满足其一)

  • "调用 Claude Code"
  • "通过 acp 调用"
  • "通过 acpx 调用"
  • "delegation to claude"
  • "delegation to codex"
  • "Coordinator 调用 Executor"
  • "spawn acpx harness"
  • "用 acp 调用外部 agent"
  • "通过 ACP 委托 harness"

核心调用方式

✅ 标准 sessions_spawn(结果自动推回父 channel)

sessions_spawn({
  runtime: "acp",
  agentId: "claude",       // 或 codex / pi / opencode / gemini / kimi
  mode: "session",          // 关键:持久 session,不是 run
  thread: true,             // 关键:结果通过 parent channel 推送回来
  label: "executor",        // 固定 label,复用 session
  task: "任务描述"
})

效果:结果直接出现在 Coordinator 的聊天里,不需要跨 session 查。

❌ 错误方式(不要用)

// 错误1:mode="run" 是 fire-and-forget,无法获取返回结果
sessions_spawn({ runtime: "acp", agentId: "claude", mode: "run", task: "..." })

// 错误2:sessions_send 跨 session 访问会被 visibility 限制
sessions_send({ sessionKey: "agent:claude:acp:...", message: "..." })
// → 报错:forbidden / Session visibility restricted

// 错误3:visibility=all 有安全风险,不推荐
// → CVE-2026-27004 相关风险

调用前必须满足的 3 个前提

1️⃣ 认证:ANTHROPIC_API_KEY 必须存在

acpx 调用 Claude adapter 时,runtime 会广告 authMethods,如果找不到凭据则报错 RUNTIME: Authentication required

检查方式:

echo $ANTHROPIC_API_KEY

配置方式(二选一):

方式 A:环境变量(推荐用于测试)

export ANTHROPIC_API_KEY=sk-...
# 然后调用

方式 B:acpx 配置文件(推荐用于生产)

~/.acpx/config.json 添加:

{
  "authCredentials": {
    "ANTHROPIC_API_KEY": "sk-你的key"
  }
}

> 注意:authPolicy: "skip" 只能跳过认证检查,不能替代凭据。如果 Claude adapter 要求 API key 而找不到,会直接失败。

2️⃣ acpx 全局权限配置

~/.acpx/config.json 必须包含:

{
  "defaultPermissions": "approve-all",
  "nonInteractivePermissions": "deny",
  "authPolicy": "skip"
}

这个配置让 acpx 在自动化环境下自动批准所有操作,不弹确认框。

3️⃣ Session 可用性验证(可选但推荐)

如果之前调用过同一个 label,可能需要先验证 session 是否健康:

acpx sessions list

如果看到某个 session 显示 needs reconnect,先修复:

acpx sessions ensure <session-name>
# 或重建
acpx sessions new claude

完整调用流程(推荐写入你的 Coordinator Agent prompt)

当需要调用 Claude Code 执行任务时:

1. 前置检查:确认 ANTHROPIC_API_KEY 环境变量存在
   (如果不存在,回复:"请先配置 ANTHROPIC_API_KEY 环境变量")

2. 调用 spawn:
   sessions_spawn(
     runtime="acp",
     agentId="claude",
     mode="session",
     thread=true,
     label="executor",
     task="具体任务描述"
   )

3. 等待结果:结果会通过 thread 自动推送回当前 channel
   不要使用 sessions_send 去跨 session 查结果

4. 如果结果未返回,检查:
   - acpx sessions list → 是否有 needs reconnect
   - echo $ANTHROPIC_API_KEY → API key 是否有效

已知问题记录

🔍 unknown option '--cwd' 排查

已验证: OpenClaw acpx runtime.ts(2026.3.13)构造命令时 --cwd 是放在 agent 之前的,顺序正确:

acpx --format json --json-strict --cwd /path claude prompt --session ...

如果仍看到这个错误: 说明调用方不是 OpenClaw runtime,而是外部脚本直接调用 acpx claude --cwd /path。检查那个脚本,把 --cwd 移到 claude 之前:

✅ acpx --cwd /path claude "prompt"
❌ acpx claude --cwd /path "prompt"

错误处理对照表

错误信息根因解决方法
------------------------
unknown option '--cwd'OpenClaw acpx runtime bug,参数构造顺序错误等待 OpenClaw 修复;当前可在 agent config 里 workaround
agent needs reconnectacpx session 记录在但进程断了acpx sessions ensure sessions new
RUNTIME: Resource not foundsession id 失效不要复用旧 id,用新的 spawn
RUNTIME: Authentication required找不到 API keyANTHROPIC_API_KEY 环境变量或 authCredentials
forbidden / Session visibility restrictedsessions_send 跨 session 被限制改用 thread=true 模式,结果自动推回

Session 复用说明

使用固定 label 的好处:

  • 第一次调用:创建 session
  • 后续调用:自动 reconnect 到已有 session,保留上下文
  • Session 有 30 天归档清理 + 500 条上限

不需要手动管理 session 生命周期,只要 label 固定,acpx 会自动处理。


关键澄清

  • --dangerously-skip-permissions 是 Claude Code CLI 的参数,不是 acpx 的参数
  • acpx 的正确权限控制是 defaultPermissions 配置项(见上方配置)
  • mode:"session" + thread:true 是唯一可靠的结果返回方式
  • 不要用 visibility=all,有安全风险

相关文件

  • Skill 配置:~/.openclaw/skills/acp-harness-delegation/SKILL.md
  • Harness 列表:~/.openclaw/skills/acp-harness-delegation/references/harness-list.md
  • acpx 全局配置:~/.acpx/config.json
  • Claude API Key 配置:~/.acpx/config.jsonauthCredentials 字段

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 19:22 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Wechat Freepublish

chaoyang78
用于将微信公众号草稿 media_id 正式提交发布
★ 0 📥 272

Opencli

chaoyang78
使用本地安装的 OpenCLI 源码路径 `/Users/ShiXin/Documents/Workspace/github-project/opencli` 作为主要的 opencli技能,在用户执行时加载...
★ 0 📥 581

Memory Lancedb Pro Skill Main

chaoyang78
此技能用于配合 memory-lancedb-pro,一款适用于 OpenClaw AI 代理的生产级长期记忆 MCP 插件。用于安装时...
★ 0 📥 304