1. 痛点拆解:子会话不是「多开聊天」
(1)身份与权限:容器内 UID/GID 与宿主机编辑的配置文件所有者不一致时,子进程打开 openclaw.json 会直接 EACCES,表现为「Gateway 看似起来但 spawn 全失败」。(2)工具集契约:minimal/messaging 档会刻意裁掉 runtime / filesystem 工具组,Telegram 等通道里出现「Tool not found」往往不是模型问题。(3)thinking 与无输出:心跳或 cron 触发的子 Agent 若仍开启 thinking,部分模型会把「可交付文本」留在内部 reasoning 通道,上游 announce 收到空串,看起来像「无回复」。(4)fallback 持久化:主模型短暂不可用后,部分版本会把 fallback 写回配置,导致「恢复后仍永远走备用模型」——需要人工回滚并清理会话快照。
2. 症状对照表:先归类再动手
| 现象 | 优先怀疑 | 最小验证 |
|---|---|---|
| spawn 日志报 EACCES | 配置文件属主/权限 | 容器内 UID 与文件权限、挂载只读 |
| 工具名在 UI 里灰掉或报错 | tools.profile 过窄 | 临时切到 coding/full 复现是否消失 |
| 定时任务「成功」但通道无消息 | thinking 或空 announce | 对该 job 关闭 thinking,检查 announce 输入长度 |
| 主模型「突然永远变成备用」 | fallback 写回配置 | 比对 openclaw.json 与备份/ Git 历史 |
3. 落地五步走:从复现到固化
第一步:冻结复现路径——同一通道、同一子代理路由规则、同一模型,去掉「偶尔才触发」的变量。第二步:打印有效身份——在 spawn 入口记录 uid/gid 与配置文件真实路径(不是你以为的路径)。第三步:单列工具白名单——把需要的工具组从 profile 文档里勾成清单,避免「全开 full」掩盖真实最小集。第四步:对定时任务单独一份配置片段——thinking off、输出长度上限、announce 模板固定。第五步:在远程 Mac 或 Docker 上做「冷启动」回归——重启 Gateway 后第一轮 spawn 是否仍成功,避免只在热会话里假绿。
4. 可引用检查项(运维向)
- 容器化部署时,建议将配置目录挂载为与进程用户一致的所有者,或在入口脚本中显式
chown,避免「宿主机 root 编辑、容器内 1000 读」的经典坑。 - 对无人值守任务,将 thinking 设为 off(而非「低」),并记录一次对比日志,确认空输出率是否归零。
- 若主备切换发生,建议保留最近一次已知良好的
openclaw.json副本,并在变更后做一次「主模型恢复」演练。
5. 何时把 OpenClaw 迁到远程 Mac 做「角色隔离」?
| 信号 | 建议 |
|---|---|
| 本机要同时跑重图形/剪辑与多子代理 | 推理与网关迁远程;本机只留轻量客户端 |
| 需要固定公网入口与 7×24 spawn | 专用节点 + 监控;避免笔记本合盖断链 |
| 团队共享同一 Gateway 与技能目录 | 独立机器做配额与审计,减少个人机环境漂移 |
6. FAQ
问:sessions_spawn 和 MCP 工具冲突吗?不天然冲突,但上下文与工具 schema 总量会叠加;若同时开多子代理,注意 Token 预算与 Gateway 重载顺序,参见 MCP 篇。问:为什么「本地一切正常,远程就不行」?九成是路径、权限与环境变量差异,而不是模型。问:要不要为了排错永久开 full profile?仅用于定位;上线应回到最小可用工具集,降低安全面。
排错时建议把观察窗口写成可对比的三元组:① Gateway 日志里 spawn 返回码与耗时;② 同一请求在交互会话 vs 子会话中的工具列表差异;③ announce 层收到的字符串长度(是否为 0)。若 ③ 长期为 0 而 ① 显示成功,优先怀疑 thinking/模板而非模型能力。另可记录「每周因 spawn/权限导致的非计划人工介入次数」——若超过 3 次,应把环境固化(容器 entrypoint、systemd/launchd、专用节点)提上日程,而不是继续堆提示词。
7. 深度分析:子代理是「运维问题」而不是「提示词问题」
2026 年 OpenClaw 一类系统在单会话 demo 时极其顺滑,但一旦引入 spawn、路由与多通道,失败模式会从「模型胡言」切换为「进程没权限、工具没加载、输出没交付」。这与传统微服务里「配置漂移」同源:每多一层子进程,就多一层必须被显式声明的契约。团队若只在个人笔记本上调试,很容易把「我的环境能跑」误认为产品态;而远程 Mac 节点提供的价值之一,正是固定 UID、固定路径、固定 launchd/容器重启策略,让 spawn 行为可复现。
纯本地或混用笔记本跑 OpenClaw 子代理,短期可行,但会在三方面持续消耗团队:合盖/休眠断链、路径随用户而变、图形与推理争用统一内存——这些不是换模型能根治的。Apple Silicon 远程 Mac 在图形栈、Metal 与长期后台稳定性上更贴近「网关 + 子代理」的运行假设;按使用时长租用节点,可以先验证 spawn 拓扑再决定是否采购固定机器。若你希望把 Gateway 与重 spawn 从日常创作机拆出去,获得可审计、可重启、可复现的环境,租赁 MACGPU 的远程 Mac是比反复手工 chown 与改提示词更省总拥有成本的一条路径。