Agent coordination

ACP 代理程式 — 設定

如需概覽、操作手冊與概念說明,請參閱 ACP 代理程式

本頁涵蓋 acpx 執行框架設定、MCP 橋接器的外掛設定,以及權限設定。

僅在設定 ACP/acpx 路徑時使用本頁。若要設定原生 Codex app-server 執行階段,請參閱 Codex 執行框架。若要設定 OpenAI API 金鑰或 Codex OAuth 模型供應商,請參閱 OpenAI

Codex 有兩種 OpenClaw 路徑:

路徑 設定/命令 設定頁面
原生 Codex app-server /codex ...openai/gpt-* 代理程式參照 Codex 執行框架
明確指定 Codex ACP 轉接器 /acp spawn codexruntime: "acp", agentId: "codex" 本頁

除非明確需要 ACP/acpx 行為,否則請優先使用原生路徑。

acpx 執行框架支援(目前)

內建 acpx 執行框架別名(來自鎖定版本的 acpx 相依套件):

別名 封裝
claude Claude Code
codex Codex 命令列介面
copilot GitHub Copilot 命令列介面
cursor Cursor 命令列介面cursor-agent acp
droid Factory Droid
fast-agent fast-agent
gemini Gemini 命令列介面
iflow iFlow 命令列介面
kilocode Kilocode
kimi Kimi 命令列介面
kiro Kiro 命令列介面
mux Mux
opencode OpenCode
openclaw OpenClaw ACP 橋接器(原生 openclaw acp
pi Pi 程式設計代理程式
qoder Qoder 命令列介面
qwen Qwen Code
trae Trae 命令列介面

factory-droidfactorydroid 也會解析為內建的 droid 轉接器。

OpenClaw 使用 acpx 後端時,除非 acpx 設定定義了自訂代理程式別名,否則請優先對 agentId 使用這些值。 如果本機 Cursor 安裝仍將 ACP 公開為 agent acp,請在 acpx 設定中覆寫 cursor 代理程式命令,而不要變更內建預設值。

直接使用 acpx 命令列介面時,也可透過 --agent <command> 指定任意轉接器,但這個原始的逃生出口是 acpx 命令列介面功能(並非一般的 OpenClaw agentId 路徑)。

模型控制取決於轉接器能力。Codex ACP 模型參照會在啟動前由 OpenClaw 正規化。其他執行框架需要 ACP models 加上 session/set_model 支援;如果執行框架既未公開該 ACP 能力,也沒有 自己的啟動模型旗標,OpenClaw/acpx 就無法強制選擇模型。

必要設定

核心 ACP 基準設定:

json5
{  acp: {    enabled: true,    // 選用。預設為 true;設為 false 可暫停 ACP 分派,同時保留 /acp 控制功能。    dispatch: { enabled: true },    backend: "acpx",    defaultAgent: "codex",    allowedAgents: [      "claude",      "codex",      "copilot",      "cursor",      "droid",      "gemini",      "iflow",      "kilocode",      "kimi",      "kiro",      "openclaw",      "opencode",      "qwen",    ],    stream: {      deliveryMode: "live",    },  },}

討論串繫結設定由支援的頻道轉接器共用:

json5
{  session: {    threadBindings: {      enabled: true,      idleHours: 24,      maxAgeHours: 0,      spawnSessions: true,    },  },}

如果繫結討論串的 ACP 衍生功能無法運作,請先確認轉接器功能旗標:

  • Discord:session.threadBindings.spawnSessions=true

目前對話繫結不需要建立子討論串。它需要有效的對話內容,以及公開 ACP 對話繫結的頻道轉接器。

請參閱設定參考

acpx 後端的外掛設定

套件安裝會使用官方 @openclaw/acpx 執行階段外掛來支援 ACP。 使用 ACP 執行框架工作階段前,請先安裝並啟用:

bash
openclaw plugins install @openclaw/acpxopenclaw config set plugins.entries.acpx.enabled true

原始碼簽出版本也可在 pnpm install 之後使用本機工作區外掛。

請先執行:

text
/acp doctor

如果你已停用 acpx、透過 plugins.allowplugins.deny 拒絕它,或想要 切回套件外掛,請使用明確的套件路徑:

bash
openclaw plugins install @openclaw/acpxopenclaw config set plugins.entries.acpx.enabled true

開發期間安裝本機工作區:

bash
openclaw plugins install ./path/to/local/acpx-plugin

接著確認後端健康狀態:

text
/acp doctor

acpx 執行階段啟動探測

acpx 外掛直接內嵌 ACP 執行階段(不需設定個別的 acpx 二進位檔或 版本)。預設會在閘道啟動期間註冊內嵌後端,並在閘道 ready 訊號前等待啟動探測。只有對刻意停用啟動探測的指令碼或環境,才設定 OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=0OPENCLAW_SKIP_ACPX_RUNTIME_PROBE=1。執行 /acp doctor 可明確進行 隨選探測。

當路徑或旗標值應保持為單一 argv 權杖時,可使用結構化引數覆寫個別 ACP 代理程式命令:

json
{  "plugins": {    "entries": {      "acpx": {        "enabled": true,        "config": {          "agents": {            "claude": {              "command": "node",              "args": ["/path/to/custom adapter.mjs", "--verbose"]            }          }        }      }    }  }}
  • agents.<id>.command 是該 ACP 代理程式的可執行檔或現有命令字串。
  • agents.<id>.args 為選用。OpenClaw 將每個陣列項目傳入目前的 acpx 命令字串登錄檔前,會先以 shell 引號括住。

請參閱外掛

自動下載轉接器

acpx 會在首次使用時透過 npx 自動下載 ACP 轉接器(例如 Claude 和 Codex ACP 橋接器)。你不需要手動安裝轉接器套件,OpenClaw 本身也沒有個別的 postinstall 步驟。如果 轉接器下載或衍生失敗,/acp doctor 會回報失敗。

外掛工具 MCP 橋接器

預設情況下,ACPX 工作階段不會向 ACP 執行框架公開由 OpenClaw 外掛註冊的工具。

如果你希望 Codex 或 Claude Code 等 ACP 代理程式能呼叫已安裝的 OpenClaw 外掛工具(例如記憶回想/儲存),請啟用專用橋接器:

bash
openclaw config set plugins.entries.acpx.config.pluginToolsMcpBridge true

其作用如下:

  • 在 ACPX 工作階段啟動程序中注入名為 openclaw-plugin-tools 的內建 MCP 伺服器。
  • 公開已由安裝且啟用的 OpenClaw 外掛註冊的外掛工具。
  • 將作用中的 ACP 工作階段身分傳遞給外掛工具工廠,讓代理程式範圍工具維持在該代理程式的命名空間中。
  • 維持此功能需明確啟用,且預設關閉。

安全性與信任注意事項:

  • 這會擴大 ACP 執行框架的工具介面範圍。
  • ACP 代理程式只能存取已在閘道中啟用的外掛工具。
  • 請將此視為與允許這些外掛在 OpenClaw 本身執行相同的信任邊界。
  • 啟用前請檢查已安裝的外掛。

自訂 mcpServers 仍會如以往運作。內建外掛工具橋接器是額外的選用便利功能,並非一般 MCP 伺服器設定的替代方案。

OpenClaw 工具 MCP 橋接器

預設情況下,ACPX 工作階段也不會透過 MCP 公開內建 OpenClaw 工具。當 ACP 代理程式需要 cron 等特定內建工具時,請啟用個別的核心工具橋接器:

bash
openclaw config set plugins.entries.acpx.config.openClawToolsMcpBridge true

其作用如下:

  • 在 ACPX 工作階段啟動程序中注入名為 openclaw-tools 的內建 MCP 伺服器。
  • 公開所選的內建 OpenClaw 工具。初始伺服器會公開 cron
  • 維持核心工具公開功能需明確啟用,且預設關閉。

執行階段作業逾時設定

acpx 外掛預設為內嵌執行階段啟動與控制作業提供 120 秒。這可讓 Gemini 命令列介面等速度較慢的執行框架有足夠時間 完成 ACP 啟動與初始化。如果主機需要不同的作業時間限制,請覆寫此值:

bash
openclaw config set plugins.entries.acpx.config.timeoutSeconds 180

執行階段輪次使用 OpenClaw 代理程式/執行逾時,包括 /acp timeoutsessions_spawn 不接受個別呼叫的逾時覆寫;操作人員應使用 agents.defaults.subagents.runTimeoutSeconds。變更 timeoutSeconds 後,請重新啟動閘道。

健康探測代理程式設定

/acp doctor 或啟動探測檢查後端時,隨附的 acpx 外掛會探測一個執行框架代理程式。如果已設定 acp.allowedAgents,則預設為 第一個允許的代理程式;否則預設為 codex。如果部署 需要使用不同的 ACP 代理程式進行健康檢查,請明確設定探測代理程式:

bash
openclaw config set plugins.entries.acpx.config.probeAgent claude

變更此值後,請重新啟動閘道。

權限設定

ACP 工作階段以非互動方式執行,不提供 TTY 來核准或拒絕檔案寫入與 shell 執行權限提示。acpx 外掛提供兩個設定鍵,用於控制權限的處理方式:

這些 ACPX 工具框架權限與 OpenClaw 執行核准彼此獨立,也與 Claude 命令列介面 --permission-mode bypassPermissions 等命令列介面後端廠商略過旗標分開。ACPX approve-all 是 ACP 工作階段在工具框架層級的緊急解鎖開關。

如需瞭解 OpenClaw tools.exec.mode、Codex Guardian 核准與 ACPX 工具框架權限之間更廣泛的比較,請參閱 權限模式

permissionMode

控制工具框架代理程式無須提示即可執行哪些作業。

行為
approve-all 自動核准所有檔案寫入與 Shell 命令。
approve-reads 僅自動核准讀取;寫入與執行需要提示。
deny-all 拒絕所有權限提示。

nonInteractivePermissions

控制在原本應顯示權限提示,但沒有可用的互動式終端介面時會發生什麼情況(ACP 工作階段一律如此)。

行為
fail PermissionPromptUnavailableError 中止工作階段。(預設)
deny 靜默拒絕權限並繼續(優雅降級)。

設定

透過外掛設定:

bash
openclaw config set plugins.entries.acpx.config.permissionMode approve-allopenclaw config set plugins.entries.acpx.config.nonInteractivePermissions fail

變更這些值後,請重新啟動閘道。

相關內容

Was this useful?
On this page

On this page