返回顶部
a

acp-routerACP路由器

Route plain-language requests for Pi, Claude Code, Codex, OpenCode, Gemini CLI, or ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
630
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

acp-router

ACP Harness Router

当用户意图为在Pi/Claude Code/Codex/OpenCode/Gemini/Kimi(ACP harness)中运行此操作时,不要使用子代理运行时或PTY抓取。通过ACP感知流程进行路由。

意图检测

当用户要求OpenClaw执行以下操作时触发此技能:

  • - 在Pi / Claude Code / Codex / OpenCode / Gemini中运行某些内容
  • 继续现有的harness工作
  • 将指令转发给外部编码harness
  • 以类似线程对话的方式保持外部harness对话

编码代理线程请求的强制预检:

  • - 在创建任何用于Pi/Claude/Codex/OpenCode/Gemini工作的线程之前,在同一轮次中先阅读此技能。
  • 阅读后,遵循下面的OpenClaw ACP运行时路径;不要使用message(action=thread-create)来生成ACP harness线程。

模式选择

选择以下路径之一:

  1. 1. OpenClaw ACP运行时路径(默认):使用sessions_spawn / ACP运行时工具。
  2. 直接acpx路径(传话游戏):通过exec使用acpx CLI直接驱动harness会话。

当以下任一条件成立时,使用直接acpx路径:

  • - 用户明确要求直接使用acpx驱动
  • ACP运行时/插件路径不可用或不健康
  • 任务只是将提示转发给harness,且不需要OpenClaw ACP生命周期功能

不要使用:

  • - subagents运行时来控制harness
  • /acp命令委托作为用户的要求
  • 当acpx可用时,对pi/claude/codex/opencode/gemini/kimi CLI进行PTY抓取

AgentId映射

当用户直接命名harness时,使用以下默认值:

  • - pi -> agentId: pi
  • claude或claude code -> agentId: claude
  • codex -> agentId: codex
  • opencode -> agentId: opencode
  • gemini或gemini cli -> agentId: gemini
  • kimi或kimi cli -> agentId: kimi

这些默认值与当前acpx内置别名匹配。

如果策略拒绝了所选ID,请清晰报告策略错误,并询问允许的ACP代理ID。

OpenClaw ACP运行时路径

必需行为:

  1. 1. 对于ACP harness线程生成请求,在调用工具之前,先在同一轮次中阅读此技能。
  2. 使用sessions_spawn,参数为:
- runtime: acp - thread: true - mode: session(除非用户明确想要一次性模式)
  1. 3. 对于ACP harness线程创建,不要使用带有action=thread-create的message;sessions_spawn是唯一的线程创建路径。
  2. 将请求的工作放入task中,以便ACP会话立即获取。
  3. 除非已知ACP默认代理,否则显式设置agentId。
  4. 当此路径直接工作时,不要要求用户运行斜杠命令或CLI。

示例:

用户:在线程中生成一个测试codex会话,并让它说你好

调用:

json
{
task: 说你好。,
runtime: acp,
agentId: codex,
thread: true,
mode: session
}

线程生成恢复策略

当用户要求在线程中启动编码harness时(例如启动一个codex/claude/pi/kimi线程),将其视为ACP运行时请求,并尝试端到端地满足它。

当ACP后端不可用时的必需行为:

  1. 1. 不要立即要求用户选择替代路径。
  2. 首先尝试自动本地修复:
- 确保插件本地固定的acpx已安装在extensions/acpx中 - 验证${ACPX_CMD} --version
  1. 3. 重新安装/修复后,重启网关并主动为用户运行该重启。
  2. 修复后重试ACP线程生成一次。
  3. 仅当修复+重试失败时,报告具体错误,然后提供回退选项。

提供回退时,保持ACP优先:

  • - 选项1:显示确切失败步骤后重试ACP生成
  • 选项2:直接acpx传话游戏流程

不要默认对这些请求使用子代理运行时。

ACPX安装和版本策略(直接acpx路径)

对于此仓库,直接acpx调用必须遵循与@openclaw/acpx扩展相同的固定策略。

  1. 1. 优先使用插件本地二进制文件,而非全局PATH:
- ./extensions/acpx/node_modules/.bin/acpx
  1. 2. 从扩展依赖中解析固定版本:
- node -e console.log(require(./extensions/acpx/package.json).dependencies.acpx)
  1. 3. 如果二进制文件缺失或版本不匹配,安装插件本地固定版本:
- cd extensions/acpx && npm install --omit=dev --no-save acpx@
  1. 4. 使用前验证:
- ./extensions/acpx/node_modules/.bin/acpx --version
  1. 5. 如果安装/修复更改了ACPX工件,重启网关并提供运行重启。
  2. 除非用户明确要求全局安装,否则不要运行npm install -g acpx。

设置并复用:

bash
ACPXCMD=./extensions/acpx/nodemodules/.bin/acpx

直接acpx路径(传话游戏)

使用此路径驱动harness会话,无需/acp或子代理运行时。

规则

  1. 1. 使用调用${ACPX_CMD}的exec命令。
  2. 每次对话复用稳定的会话名称,以便后续提示保持在同一个harness上下文中。
  3. 优先使用--format quiet以获得干净的助手文本,以便转发回用户。
  4. 仅当用户想要一次性行为时,才使用exec(一次性)。
  5. 当任务范围依赖于仓库上下文时,保持工作目录显式(--cwd)。

会话命名

使用确定性名称,例如:

  • - oc--

其中conversationId在可用时为线程ID,否则为频道/对话ID。

命令模板

持久会话(如果缺失则创建,然后提示):

bash
${ACPX_CMD} codex sessions show oc-codex- \
|| ${ACPX_CMD} codex sessions new --name oc-codex-

${ACPX_CMD} codex -s oc-codex- --cwd --format quiet

一次性:

bash
${ACPX_CMD} codex exec --cwd --format quiet

取消进行中的轮次:

bash
${ACPX_CMD} codex cancel -s oc-codex-

关闭会话:

bash
${ACPX_CMD} codex sessions close oc-codex-

acpx中的Harness别名

  • - pi
  • claude
  • codex
  • opencode
  • gemini
  • kimi

acpx中的内置适配器命令

默认值为:

  • - pi -> npx pi-acp
  • claude -> npx -y @zed-industries/claude-agent-acp
  • codex -> npx @zed-industries/codex-acp
  • opencode -> npx -y opencode-ai acp
  • gemini -> gemini
  • kimi -> kimi acp

如果~/.acpx/config.json覆盖了agents,这些覆盖将替换默认值。

失败处理

  • - acpx: command not found:
- 对于线程生成的ACP请求,立即在extensions/acpx中安装插件本地固定的acpx - 安装后重启网关,并主动提供自动运行重启 - 然后重试一次 - 除非策略明确要求,否则不要先请求安装权限 - 除非明确要求,否则不要安装全局acpx
  • - 适配器命令缺失(例如未找到claude-agent-acp):
- 对于线程生成的ACP请求,首先通过移除损坏的~/.acpx/config.json代理覆盖来恢复内置默认值 - 然后在提供回退前重试一次 - 如果用户想要基于二进制文件的覆盖,则安装配置的适配器二进制文件
  • - NOSESSION:运行${ACPXCMD} sessions new --name ,然后重试提示。
  • 队列繁忙:要么等待完成(默认),要么在明确需要异步行为时使用--no-wait。

输出转发

转发给用户时,返回来自acpx命令结果的最终助手文本

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 acp-router-1776164523 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 acp-router-1776164523 技能

通过命令行安装

skillhub install acp-router-1776164523

下载

⬇ 下载 acp-router v1.0.0(免费)

文件大小: 3.54 KB | 发布时间: 2026-4-15 12:58

v1.0.0 最新 2026-4-15 12:58
Initial release of acp-router skill.

- Routes plain-language requests for Pi, Claude Code, Codex, OpenCode, Gemini CLI, or ACP harness work into correct ACP runtime or direct acpx-driven sessions.
- Provides clear guidelines on intent detection, session spawn, agentId mapping, and error recovery.
- Enforces ACP runtime path for thread creation with `sessions_spawn`; direct acpx path (“telephone game”) supported as fallback.
- Details robust install, versioning, and repair policies for plugin-local acpx.
- Outlines session management, fallback procedures, and clean user output handling for both ACP and acpx flows.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部