核心用法
graceful-restart 是专为 OpenClaw Gateway 设计的优雅重启工具。当用户说出"重启"或"restart"时自动触发,执行三步流程:设置一次性 cron 任务(默认 30 秒后)、执行 Gateway 重启、重启完成后自动向主会话发送消息以恢复上下文。
命令行调用支持 --task 指定续接任务、--delay 调整延迟时间(默认 10 秒)。技术实现上通过 --session main 与 --system-event 机制,将 cron 任务注入主会话,Gateway 重启后经 heartbeat 轮询交付,确保会话无缝衔接。
显著优点
- 上下文保全:彻底解决 Gateway 重启后任务中断、需手动唤醒的痛点
- 自动化恢复:无需用户干预即可自动续接之前任务
- 灵活配置:延迟时间和续接任务均可自定义
- 安全清理:
--delete-after-run确保一次性任务自动销毁,避免残留
潜在缺点与局限性
- 依赖 cron 系统:若 cron 服务异常,自唤醒机制失效
- 时间窗口风险:若 Gateway 重启耗时超过设定的延迟时间,消息可能丢失或乱序
- 单会话限制:仅支持主会话(main)恢复,多会话场景下其他会话上下文仍丢失
- 无状态确认:无法 100% 保证重启成功,极端情况下可能静默失败
适合人群
- 频繁修改配置需重启 Gateway 的开发者
- 运行长任务、对会话连续性要求高的自动化工作流用户
- 需要无人值守、自动恢复能力的生产环境运维
常规风险
- 误触发风险:"重启"为常见词汇,可能被意外触发
- 任务堆积:若短时间内多次重启,cron 任务可能堆积干扰
- 权限要求:需具备写入 cron 及重启 Gateway 的足够权限