本页内容

本页内容

代理协调

ACP代理故障排除

故障排查

症状 可能原因 修复
ACP runtime backend is not configured 后端插件丢失、禁用或被 plugins.allow 阻止。 安装并启用后端插件,设置白名单后将 acpx 包含在 plugins.allow 中,然后运行 ​​/acp doctor。
ACP is disabled by policy (acp.enabled=false) ACP 全局已禁用。 设置 acp.enabled=true。
ACP dispatch is disabled by policy (acp.dispatch.enabled=false) 已禁用从普通线程消息到自动分发。 设置 acp.dispatch.enabled=true 以恢复自动线程路由;显式的 sessions_spawn({ runtime: "acp" }) 调用仍然有效。
ACP agent "<id>" is not allowed by policy 代理不在允许列表中。 使用允许的 agentId,或更新 acp.allowedAgents。
/acp doctor 启动后立即报告后端未就绪 后端插件丢失、禁用、被 allow/deny 策略阻止,或其配置的可执行文件不可用。 Install/enable 后端插件,重新运行 /acp doctor,并检查后端安装或策略错误(如果仍然不正常)。
未找到harness命令 适配器 CLI 未安装,外部插件丢失,或者非 Codex 适配器的首次运行 npx 获取失败。 在网关主机上运行 /acp doctor、install/prewarm 适配器,或显式配置 acpx 代理命令。
harness中未找到模型 模型 ID 对于另一个 provider/harness 有效,但对于此 ACP 目标无效。 使用该harness列出的模型、在harness中配置模型或忽略覆盖。
harness中的供应商身份验证错误 OpenClaw 正常,但目标 CLI/provider 未登录。 登录或提供网关主机环境上所需的提供程序密钥。
Unable to resolve session target: ... 错误的 key/id/label 代币。 运行 /acp sessions,复制精确的 key/label,然后重试。
--bind here requires running /acp spawn inside an active ... conversation --bind here 在没有活动可绑定对话的情况下使用。 移动到目标 chat/channel 并重试,或使用未绑定的生成。
Conversation bindings are unavailable for <channel>. 适配器缺少当前会话 ACP 绑定能力。 在支持的情况下使用 /acp spawn ... --thread ...,配置顶层 bindings[],或移动到受支持的频道。
--thread here requires running /acp spawn inside an active ... thread --thread here 在线程上下文之外使用。 移动到目标线程或使用 --thread auto/off.
Only <user-id> can rebind this channel/conversation/thread. 其他用户拥有当前活动绑定目标。 由所有者重新绑定,或使用不同的会话或线程。
Thread bindings are unavailable for <channel>. 适配器缺乏线程绑定功能。 使用 --thread off 或移至受支持的 adapter/channel.
Sandboxed sessions cannot spawn ACP sessions ... ACP 运行时位于主机侧;请求者会话处于沙盒中。 在沙盒会话中使用 runtime="subagent",或从非沙盒会话运行 ACP spawn。
sessions_spawn sandbox="require" is unsupported for runtime="acp" ... 为 ACP 运行时请求了 sandbox="require"。 如需沙盒隔离,请使用 runtime="subagent";或者从非沙盒会话中使用 sandbox="inherit" 来使用 ACP。
Cannot apply --model ... did not advertise model support 目标适配器未公开通用的 ACP 模型切换能力。 使用声明了 ACP models/session/set_model 的适配器,使用 Codex ACP 模型引用,或如果该适配器有自己的启动标志,则直接在适配器中配置模型。
绑定会话缺少 ACP 元数据 Stale/deleted ACP 会话元数据。 使用 /session unbind 分离,然后使用 /acp spawn --bind here 或 /acp spawn --thread here 重新创建。
ACP 输入请求被拒绝或取消 form/URL 格式错误、超出 field/choice 限制、使用不受支持的约束或所属回合结束。 读取可见的拒绝原因,使用标准原始形式或有效的 HTTP(S) URL 重试,并在应答时保持原始回合处于活动状态。
PermissionPromptUnavailableError: Permission prompt unavailable in non-interactive mode permissionMode 在非交互式 ACP 会话中阻止 writes/exec。 设置plugins.entries.acpx.config.permissionMode为approve-all;默认混合重新加载会自动应用插件更改。参见权限配置。
ACP 会话提前失败且输出很少 权限提示被permissionMode/nonInteractivePermissions.阻止 检查网关日志中是否有 AcpRuntimeError。如需完全权限,请设置permissionMode=approve-all;对于正常降级,请设置 nonInteractivePermissions=deny。
ACP 会话完成工作后无限期停止 harness处理已完成,但 ACP 会话未报告完成情况。 更新OpenClaw;当前 acpx 清理会在关闭和网关启动时收集 OpenClaw- 拥有的陈旧包装器和适配器进程。
适配器看到 <<<BEGIN_OPENCLAW_INTERNAL_CONTEXT>>> 内部事件封装越过了 ACP 边界。 更新 OpenClaw 并重新运行完成流程;外部适配器应只接收纯粹的完成提示。

已知的提供者故障包括恢复指导,即使harness没有返回辅助回复。无法识别的故障保留通用消息;原始提供商诊断保留在日志中。如果警告表明工具操作可能已运行,请在重试之前检查其结果。

超大harness消息

默认情况下,acpx 后端将来自harness的每个传入 ACP 消息限制为 64 MiB 原始字节。如果运行因 ACP_MESSAGE_TOO_LARGE 或 ACP message exceeded ACPX_MAX_ACP_MESSAGE_BYTES 失败,请减少harness输出或将网关进程环境中的 ACPX_MAX_ACP_MESSAGE_BYTES 设置为更大的字节数。将其设置为 0 允许无限传入消息大小。

更改环境后重新启动网关,以便新的harness连接使用该限制。对于直接 acpx CLI 会话,关闭现有的暖所有者并启动新会话;热情的业主保留其启动设置。

本页有帮助吗?