rescue-gateway

为 OpenClaw 配置稳定可维护的 Rescue Gateway。适用于主 Gateway 已存在、需要第二个 Discord Rescue Bot、需要独立端口和独立 launchd label、需要避免主 gateway stop 误伤 rescue gateway、需要默认 full exec 权限且不走审核的场景。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "rescue-gateway" with this command: npx skills add cchaojiejes/openclaw-rescue-gateway-skill

Rescue Gateway 2.0

当主 Gateway 故障时,Rescue Gateway 提供独立入口。此版本的目标不是“能跑起来”,而是“能长期维护,不和主 Gateway 互相干扰”。

适用场景

  • 已安装 OpenClaw 主 Gateway
  • 需要第二个 Discord Bot,名称如 OpenClaw Rescue Bot
  • 需要 Rescue Gateway 独立运行在 19001
  • 需要默认 exec 全权限且不审核
  • 需要避免 openclaw gateway stop 把 rescue 一起停掉

结论先行

Rescue Gateway 的推荐落地方式是:

  • 配置目录使用官方 profile:~/.openclaw-rescue/openclaw.json
  • CLI 使用官方 profile:openclaw --profile rescue ...
  • 服务不用官方默认 label ai.openclaw.rescue
  • 服务改用独立 launchd label:ai.openclaw.gateway.rescue

原因:

  • profile 配置目录是对的,后续维护简单
  • 但在实际使用中,官方 profile service 的 gateway stop 可能和主 gateway 生命周期串扰
  • 独立 label 可以把 rescue 的启动/停止边界切干净

目录和端口

项目主 GatewayRescue Gateway
Config~/.openclaw/openclaw.json~/.openclaw-rescue/openclaw.json
State~/.openclaw~/.openclaw-rescue
Workspace~/.openclaw/workspace~/.openclaw-rescue/workspace
Port1878919001
launchd labelai.openclaw.gatewayai.openclaw.gateway.rescue

端口必须至少错开 20。OpenClaw 会派生浏览器和调试端口,不能重叠。

Rescue Config

优先做法:以主配置为模板,写入 ~/.openclaw-rescue/openclaw.json

关键要求:

  • channels.discord.token 使用 Rescue Bot token
  • gateway.port 使用 19001
  • agents.defaults.workspace 使用 ~/.openclaw-rescue/workspace
  • agents.list[0].agentDir 使用 ~/.openclaw-rescue/agents/rescue/agent
  • tools.exec.security = "full"
  • tools.exec.ask = "off"
  • agents.defaults.elevatedDefault = "full"
  • plugins.entries.acpx.enabled = true
  • plugins.entries.acpx.config.permissionMode = "approve-all"

最小关键片段:

{
  "agents": {
    "defaults": {
      "elevatedDefault": "full",
      "workspace": "/Users/YOUR_NAME/.openclaw-rescue/workspace"
    },
    "list": [
      {
        "id": "rescue",
        "workspace": "/Users/YOUR_NAME/.openclaw-rescue/workspace",
        "agentDir": "/Users/YOUR_NAME/.openclaw-rescue/agents/rescue/agent",
        "subagents": { "allowAgents": ["*"] }
      }
    ]
  },
  "bindings": [
    {
      "agentId": "rescue",
      "match": { "channel": "discord" }
    }
  ],
  "tools": {
    "profile": "full",
    "exec": {
      "security": "full",
      "ask": "off"
    }
  },
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_RESCUE_BOT_TOKEN"
    }
  },
  "gateway": {
    "port": 19001,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "YOUR_RESCUE_GATEWAY_TOKEN"
    }
  },
  "plugins": {
    "entries": {
      "acpx": {
        "enabled": true,
        "config": {
          "permissionMode": "approve-all"
        }
      }
    }
  }
}

Rescue Agent Auth

Rescue agent 使用独立 agentDir,不会自动继承主 agent 的认证。

如果 rescue bot 能登录 Discord,但回复时报:

  • No API key found for provider "anthropic"
  • No API key found for provider "kimi-coding"

就把主 agent 的认证复制过去:

cp ~/.openclaw/agents/main/agent/auth-profiles.json \
  ~/.openclaw-rescue/agents/rescue/agent/auth-profiles.json

chmod 600 ~/.openclaw-rescue/agents/rescue/agent/auth-profiles.json

Rescue LaunchAgent

不要用官方默认 profile service label。

使用自定义 plist:

  • 路径:~/Library/LaunchAgents/ai.openclaw.gateway.rescue.plist
  • label:ai.openclaw.gateway.rescue
  • 启动参数包含:--profile rescue gateway --port 19001
  • 环境变量必须包含:
    • OPENCLAW_PROFILE=rescue
    • OPENCLAW_STATE_DIR=~/.openclaw-rescue
    • OPENCLAW_CONFIG_PATH=~/.openclaw-rescue/openclaw.json
    • OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue

关键原因:

  • 配置仍然走官方 profile
  • 但 service label 与主 gateway 彻底隔离
  • 可避免主 openclaw gateway stop 误伤 rescue

启动与验证

加载 rescue:

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.rescue.plist
launchctl enable gui/$(id -u)/ai.openclaw.gateway.rescue
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway.rescue

验证:

OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway status

tail -f ~/.openclaw-rescue/logs/gateway.log

成功标志:

[discord] logged in to discord as XXXXX (OpenClaw Rescue Bot)

日常命令

主 gateway:

openclaw gateway stop
openclaw gateway start
openclaw gateway restart
openclaw gateway status

rescue gateway:

OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway stop

OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway start

OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway restart

OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway status

如果只是 emergency 操作,直接用 launchctl 也可以:

launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.rescue.plist
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.rescue.plist

诊断顺序

  1. 先看配置是否有效
openclaw --profile rescue config validate
  1. 再看 service
OPENCLAW_LAUNCHD_LABEL=ai.openclaw.gateway.rescue \
openclaw --profile rescue gateway status
  1. 再看日志
tail -f ~/.openclaw-rescue/logs/gateway.log
tail -f ~/.openclaw-rescue/logs/gateway.err.log

Changelog

2.0.0

  • 配置目录从 ~/.openclaw/openclaw-rescue.json 收口到官方 profile 路径 ~/.openclaw-rescue/openclaw.json
  • rescue workspace 从 ~/.openclaw/workspace-rescue 收口到 ~/.openclaw-rescue/workspace
  • 明确要求复制主 agent auth-profiles.json 到 rescue agentDir
  • 增加默认无审核执行配置:
    • tools.exec.security = "full"
    • tools.exec.ask = "off"
    • agents.defaults.elevatedDefault = "full"
    • plugins.entries.acpx.config.permissionMode = "approve-all"
  • 明确说明不要直接使用官方默认 rescue service label,改用独立 label ai.openclaw.gateway.rescue
  • 新增主/rescue 分离的日常命令

1.0.0 的缺陷

  • 使用 ~/.openclaw/openclaw-rescue.json,没有和官方 profile 目录对齐,后续 CLI 管理不统一
  • 使用 ~/.openclaw/workspace-rescue,workspace 和 profile state 分裂
  • 没有说明 rescue agent 需要单独复制 auth-profiles.json,导致模型认证缺失
  • 没有配置默认 exec 全权限和免审核,导致实际运行仍会弹审批
  • plugins.entries.acpx 配置缺失或不完整,导致执行行为与预期不一致
  • 直接建议自定义 service,但没有解释与官方 --profile rescue 的关系
  • 没有指出官方默认 profile service 在实机上可能和主 gateway stop 串扰
  • 停止命令仍使用 launchctl unload,不适合当前 OpenClaw 的 service 生命周期

已知现实约束

  • openclaw gateway stop 只适合主 gateway
  • rescue 若要完全避免被误停,必须配合自定义 label ai.openclaw.gateway.rescue
  • openclaw --profile rescue ... 仍然用于 rescue 的配置、状态和 CLI 操作

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Agent Guardian

Agent体验守护系统。解决AI助手常见体验问题:长时间无响应、任务卡死、中英文混用、状态不透明。包含看门狗监控、智能状态汇报、即时状态查询、语言一致性过滤、消息队列追踪。适用于所有渠道(QQ/微信/Telegram/飞书/Discord等)。当用户抱怨"等太久没回复"、"回复中英文混着"、"不知道在干什么"时使...

Registry SourceRecently Updated
Automation

Proactive Agent V2

Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autono...

Registry SourceRecently Updated
Automation

Palaia

Local, crash-safe persistent memory for OpenClaw agents. Replaces built-in memory-core with semantic search, projects, and scope-based access control. After...

Registry SourceRecently Updated
1381
iret77