Merge 17925251e298d30e717454aa8d0ed9cb69c7de86 into 5e417b44e1540f528d2ae63e3e20229a902d1db2

This commit is contained in:
Xiaofan Wu 2026-03-21 02:54:05 +00:00 committed by GitHub
commit 127d3bfb23
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 9 deletions

View File

@ -1,5 +1,5 @@
---
summary: "Use ACP runtime sessions for Pi, Claude Code, Codex, OpenCode, Gemini CLI, and other harness agents"
summary: "Use ACP runtime sessions for Pi, Claude Code, Codex, Kiro, OpenCode, Gemini CLI, and other harness agents"
read_when:
- Running coding harnesses through ACP
- Setting up thread-bound ACP sessions on thread-capable channels
@ -11,7 +11,7 @@ title: "ACP Agents"
# ACP agents
[Agent Client Protocol (ACP)](https://agentclientprotocol.com/) sessions let OpenClaw run external coding harnesses (for example Pi, Claude Code, Codex, OpenCode, and Gemini CLI) through an ACP backend plugin.
[Agent Client Protocol (ACP)](https://agentclientprotocol.com/) sessions let OpenClaw run external coding harnesses (for example Pi, Claude Code, Codex, Kiro, OpenCode, and Gemini CLI) through an ACP backend plugin.
If you ask OpenClaw in plain language to "run this in Codex" or "start Claude Code in a thread", OpenClaw should route that request to the ACP runtime (not the native sub-agent runtime).
@ -444,6 +444,7 @@ Current acpx built-in harness aliases:
- `pi`
- `claude`
- `codex`
- `kiro`
- `opencode`
- `gemini`
- `kimi`
@ -464,7 +465,7 @@ Core ACP baseline:
dispatch: { enabled: true },
backend: "acpx",
defaultAgent: "codex",
allowedAgents: ["pi", "claude", "codex", "opencode", "gemini", "kimi"],
allowedAgents: ["pi", "claude", "codex", "kiro", "opencode", "gemini", "kimi"],
maxConcurrentSessions: 8,
stream: {
coalesceIdleMs: 300,

View File

@ -1,25 +1,25 @@
---
name: acp-router
description: 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.
description: Route plain-language requests for Pi, Claude Code, Codex, Kiro, 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.
user-invocable: false
---
# ACP Harness Router
When user intent is "run this in Pi/Claude Code/Codex/OpenCode/Gemini/Kimi (ACP harness)", do not use subagent runtime or PTY scraping. Route through ACP-aware flows.
When user intent is "run this in Pi/Claude Code/Codex/Kiro/OpenCode/Gemini/Kimi (ACP harness)", do not use subagent runtime or PTY scraping. Route through ACP-aware flows.
## Intent detection
Trigger this skill when the user asks OpenClaw to:
- run something in Pi / Claude Code / Codex / OpenCode / Gemini
- run something in Pi / Claude Code / Codex / Kiro / OpenCode / Gemini
- continue existing harness work
- relay instructions to an external coding harness
- keep an external harness conversation in a thread-like conversation
Mandatory preflight for coding-agent thread requests:
- Before creating any thread for Pi/Claude/Codex/OpenCode/Gemini work, read this skill first in the same turn.
- Before creating any thread for Pi/Claude/Codex/Kiro/OpenCode/Gemini work, read this skill first in the same turn.
- After reading, follow `OpenClaw ACP runtime path` below; do not use `message(action="thread-create")` for ACP harness thread spawn.
## Mode selection
@ -39,7 +39,7 @@ Do not use:
- `subagents` runtime for harness control
- `/acp` command delegation as a requirement for the user
- PTY scraping of pi/claude/codex/opencode/gemini/kimi CLIs when `acpx` is available
- PTY scraping of pi/claude/codex/kiro/opencode/gemini/kimi CLIs when `acpx` is available
## AgentId mapping
@ -48,6 +48,7 @@ Use these defaults when user names a harness directly:
- "pi" -> `agentId: "pi"`
- "claude" or "claude code" -> `agentId: "claude"`
- "codex" -> `agentId: "codex"`
- "kiro" or "kiro cli" -> `agentId: "kiro"`
- "opencode" -> `agentId: "opencode"`
- "gemini" or "gemini cli" -> `agentId: "gemini"`
- "kimi" or "kimi cli" -> `agentId: "kimi"`
@ -88,7 +89,7 @@ Call:
## Thread spawn recovery policy
When the user asks to start a coding harness in a thread (for example "start a codex/claude/pi/kimi thread"), treat that as an ACP runtime request and try to satisfy it end-to-end.
When the user asks to start a coding harness in a thread (for example "start a codex/claude/pi/kiro/kimi thread"), treat that as an ACP runtime request and try to satisfy it end-to-end.
Required behavior when ACP backend is unavailable:
@ -182,6 +183,7 @@ ${ACPX_CMD} codex sessions close oc-codex-<conversationId>
- `pi`
- `claude`
- `codex`
- `kiro`
- `opencode`
- `gemini`
- `kimi`
@ -193,6 +195,7 @@ Defaults are:
- `pi -> npx pi-acp`
- `claude -> npx -y @zed-industries/claude-agent-acp`
- `codex -> npx @zed-industries/codex-acp`
- `kiro -> kiro-cli acp`
- `opencode -> npx -y opencode-ai acp`
- `gemini -> gemini`
- `kimi -> kimi acp`

View File

@ -6,6 +6,7 @@ const ACPX_BUILTIN_AGENT_COMMANDS: Record<string, string> = {
codex: "npx @zed-industries/codex-acp",
claude: "npx -y @zed-industries/claude-agent-acp",
gemini: "gemini",
kiro: "kiro-cli acp",
opencode: "npx -y opencode-ai acp",
pi: "npx pi-acp",
};