Temporal管编排与耐久执行,OpenClaw管出站工具与审计边界:把二者缝在远程 Mac上时,先固定 Worker 身份心跳语义,再让网关只看见你允许的那几个工具名,失败时用短摘要回写,而不是把整段模型原文写进历史。

若你已读过《Agno 网关白名单与超时熔断》,可把其中「分层墙钟超时」映射到活动的 start_to_close_timeout;编排侧与成本阈值还可对照《LlamaIndex Workflows 远程成本矩阵》。可观测字段落盘习惯见《GenAI 可观测矩阵》,便于把 run_id 与网关请求对齐。

Worker 身份 · 重试策略 · 机密注入 · 网关回环与隧道 · 总结与购买

Worker 身份:可复现的第一步

  1. 在远程机创建专用 Unix 用户与工作目录,安装 Python 3.11+temporalio,与命名空间端点同一区域以降低 RTT。
  2. 构造 Worker 时写入 identity 字符串,建议前缀含环境名、队列名短码与主机名,便于 Cloud UI 过滤。
  3. 为每次发布设置 build_id(镜像 digest 或 git rev-parse --short),与部署流水线一致,避免「幽灵 Worker」占队列。
  4. task_queue 与 Starter/Schedule 侧完全一致;多租户时用队列名隔离,勿在代码里硬编码他人队列。

完成后再装 Node 22[email protected],执行 openclaw doctor,把网关基址、证书路径与代理变量修正到可通过健康探针。

重试策略:活动超时、心跳与失败形态

  1. 为调用 OpenClaw 工具链的活动设置 start_to_close_timeout,数值应大于「网关单次墙钟上限 + 一次重试裕量」,否则 Temporal 先杀活动而网关仍可能成功。
  2. 在长循环或等待外部回调处调用 activity.heartbeat,载荷只带进度计数或游标,避免大对象;heartbeat_timeout 取小于调度容忍、大于正常心跳间隔,防止网络抖动误判宕机。
  3. 工作流级重试保持保守;活动内对网关 401/Schema 拒绝抛不可重试 ApplicationError(non_retryable=True),对瞬时 429/连接复位使用默认指数退避。
  4. 验收:人为拔掉网关一秒,确认活动按预期重试;再制造 Schema 错误,确认不会无限重试刷爆配额。

机密注入:令牌不进仓库、不进默认历史字段

  1. launchd plist 或进程管理器的 EnvironmentVariables 中注入 OPENCLAW_GATEWAY_TOKEN、Temporal 云命名空间证书路径等;CI 则用密钥管理器写到运行时环境,而非写入 workflow 输入默认值。
  2. 活动代码内用 os.environ 读取;轮换令牌后滚动 Worker 进程使新进程继承新环境。
  3. 需要把工具调用关联到业务单号时,用 Activity 输入或 Search Attributes 承载业务 ID,勿把 Bearer 字符串写进 workflow 更新或可见日志。

网关 loopback 与隧道模式说明

本机回环(loopback):Worker 与 OpenClaw 网关进程同机时,活动 HTTP 客户端指向 127.0.0.1 或本机 Unix 套接字等价物,出站不经过公网,适合「远程 Mac 即信任边界」;防火墙策略最简单,只要本机端口不对外监听即可。

隧道模式:当编排机、Temporal Worker 与网关在拓扑上分离时,用 SSH 反向隧道、WireGuard 或服务网格 Sidecar,把「远端网关的 localhost」映射到 Worker 进程可解析的 DNS 名;此时仍应在 OpenClaw 侧做工具白名单与租户 scope,隧道只解决可达性,不替代鉴权。

  1. 在 Dashboard 为租户签发短效 Bearer,并在网关策略中显式放行活动将调用的工具名(其余默认拒绝)。
  2. 若经 HTTP tools/invoke,核对路径前缀与 doctor 输出一致,避免 Worker 打到旧端口。

失败摘要回传:在活动 except 中组装 JSON,含 error_classmessagecorrelation_idretryable;工作流侧以自定义 query 返回只读摘要、向父编排发 signal,或写入 Search Attributes/侧车键,使运维在 UI 只看到短摘要。整段模型原文应落对象存储或受控日志,而非默认 workflow history 大块文本。

总结与购买引导

先把 Worker 身份、队列与 build_id钉死,再对齐 心跳与超时和网关墙钟,最后用白名单 + 机密环境变量 + 隧道或回环收口出站。需要可签字、可通宵浸泡的远程苹果硅节点跑上述组合时,打开首页查看机型与区域,用套餐定价做机时预算,在购买页下单(均无需登录即可浏览),细则与工单入口见帮助中心