ACP 智能体会话
启动 ACP 会话¶
有两种方式启动 ACP 会话:
使用 `runtime: "acp"` 从代理回合或工具调用中启动 ACP 会话。
```json
{
"task": "Open the repo and summarize failing tests",
"runtime": "acp",
"agentId": "codex",
"thread": true,
"mode": "session"
}
```
Note
runtime 默认为 subagent,因此对于 ACP 会话,请显式设置 runtime: "acp"。如果省略 agentId,OpenClaw 在配置了 acp.defaultAgent 时会使用它。mode: "session" 需要 thread: true 以保持持久的绑定对话。
使用 /acp spawn 从聊天中获得显式的操作者控制。
/acp spawn codex --mode persistent --thread auto
/acp spawn codex --mode oneshot --thread off
/acp spawn codex --bind here
/acp spawn codex --thread here
关键标志:
--mode persistent|oneshot--bind here|off--thread auto|here|off--cwd <absolute-path>--label <name>
参见斜杠命令。
sessions_spawn 参数¶
userstring (path)- 该请求者的 requester_profile.id,当多个人共同引导此回合时必需。
taskstring (path) required- 发送给 ACP 会话的初始提示。
runtime"acp" (path) required- 对于 ACP 会话,必须为
"acp"。 agentIdstring (path)- ACP 目标 harness id。如果已设置,则回退到
acp.defaultAgent。 threadboolean (path) default:false- 在支持的情况下请求线程绑定流程。
mode"run" | "session" (path) default:run"run"是一次性的;"session"是持久的。如果thread: true且省略了mode,OpenClaw 可能根据 runtime 路径默认为持久行为。mode: "session"需要thread: true。cwdstring (path)- 所请求的 runtime 工作目录(由后端/runtime 策略验证)。如果省略,ACP 派生会在配置了目标代理工作区时继承该工作区;缺失的继承路径回退到后端默认值,而真实的访问错误会返回。
labelstring (path)- 面向操作者的标签,用于会话/横幅文本。
resumeSessionIdstring (path)- 恢复现有的 ACP 会话,而不是创建新会话。代理通过
session/load重放其对话历史。需要runtime: "acp"。 streamTo"parent" (path)"parent"会将初始 ACP 运行进度摘要作为系统事件流式传回请求者会话。OpenClaw 将完整的中继历史记录在子代理的 SQLite 状态中,并在子会话结束时将其移除。父级进度流默认显示助手评论和 ACP 状态进度,除非设置streaming.progress.commentary=false。Discord 父级进度需要显式设置streaming.mode: "progress";未设置的 Discord 流式传输将保持静默。状态进度仍然遵循acp.stream.tagVisibility,因此除非显式启用,plan等标签将保持隐藏。
ACP sessions_spawn 运行使用 agents.defaults.subagents.runTimeoutSeconds 作为默认的子回合限制。该工具不接受每次调用的超时覆盖(runTimeoutSeconds/timeoutSeconds 会以 config-the-default 错误被拒绝)。
modelstring (path)- 用于 ACP 子会话的显式模型覆盖。Codex ACP 派生会在
session/new之前将 OpenAI 引用(如openai/gpt-5.4)规范化为 Codex ACP 启动配置;斜杠形式(如openai/gpt-5.4/high)还会设置 Codex ACP 推理强度。省略时,sessions_spawn({ runtime: "acp" })会使用目标代理的subagents.model,然后是agents.defaults.subagents.model,再然后是目标代理的显式model.primary。如果均未配置,则让 ACP harness 使用其自身的默认模型。原生子代理派生不会继承 ACP 代理的 harness 主模型;它们改用原生子代理设置或原生默认值。其他 harness 必须声明 ACP 模型控制才能进行显式选择。如果没有这些控制,显式选择将失败;继承的默认值可能会被省略,以便 harness 可以使用其自身的默认值。 thinkingstring (path)- 显式的思考/推理强度。对于 Codex ACP,
minimal映射为低强度,low/medium/high/xhigh直接映射,off则省略推理强度启动覆盖。显式值优先于model中的推理后缀,包括off。省略时,ACP 派生会使用现有的子代理思考默认值、已配置目标代理的thinkingDefault,以及所选模型的逐模型params.thinking。目标代理的agents.entries.<agent>.models["provider/model"]设置会覆盖共享的agents.defaults.models["provider/model"]设置。
派生绑定与线程模式¶
| 模式 | 行为 |
|---|---|
here |
就地绑定当前活动会话;如果没有活动会话则失败。 |
off |
不创建当前会话绑定。 |
备注:
--bind here是“让此频道或聊天由 Codex 提供支持”这一操作的最简路径。--bind here不会创建子线程。--bind here仅在支持当前会话绑定的频道上可用。- 在同一次
/acp spawn调用中不能同时使用--bind和--thread。
| 模式 | 行为 |
|---|---|
auto |
在活动线程中:绑定该线程。在线程之外:在支持时创建/绑定一个子线程。 |
| 模式 | 行为 |
|---|---|
here |
要求当前处于活动线程中;如果不在线程中则失败。 |
off |
无绑定。会话以未绑定状态启动。 |
说明:
- 在非线程绑定界面中,默认行为实际上为
off。 - 线程绑定的生成需要频道策略支持:
- Discord/Telegram:
session.threadBindings.spawnSessions=true - 当希望固定当前对话而不创建子线程时,使用
--bind here。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw