平台概览
Linux 应用
Gateway 网关在 Linux 上完全受支持。Node 是推荐运行时。 不建议将 Bun 用于 Gateway 网关(WhatsApp/Telegram 错误)。
原生 Linux 配套应用已在计划中。如果你想帮助构建一个,欢迎贡献。
初学者快速路径(VPS)
- 安装 Node 24(推荐;Node 22 LTS,目前为
22.16+,仍可兼容使用) npm i -g openclaw@latestopenclaw onboard --install-daemon- 从你的笔记本电脑运行:
ssh -N -L 18789:127.0.0.1:18789 <user>@<host> - 打开
http://127.0.0.1:18789/,并使用已配置的共享密钥进行身份验证(默认是令牌;如果你设置了gateway.auth.mode: "password",则使用密码)
完整的 Linux 服务器指南:Linux 服务器。分步 VPS 示例:exe.dev
安装
Gateway 网关
Gateway 网关服务安装(CLI)
使用以下任一命令:
openclaw onboard --install-daemon
或:
openclaw gateway install
或:
openclaw configure
出现提示时选择 Gateway 网关服务。
修复/迁移:
openclaw doctor
系统控制(systemd 用户单元)
OpenClaw 默认安装 systemd 用户服务。对于共享或始终在线的服务器,请使用系统服务。openclaw gateway install 和
openclaw onboard --install-daemon 已经会为你渲染当前规范单元;只有在需要自定义系统/服务管理器设置时,才需要手动编写。完整服务指南位于 Gateway 网关运行手册。
最小设置:
创建 ~/.config/systemd/user/openclaw-gateway[-<profile>].service:
[Unit]
Description=OpenClaw Gateway (profile: <profile>, v<version>)
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
[Install]
WantedBy=default.target
启用它:
systemctl --user enable --now openclaw-gateway[-<profile>].service
内存压力和 OOM 终止
在 Linux 上,当主机、VM 或容器 cgroup 内存耗尽时,内核会选择一个 OOM 牺牲进程。Gateway 网关可能是一个较差的牺牲目标,因为它拥有长期存在的会话和渠道连接。因此,OpenClaw 会尽可能倾向于先终止临时子进程,而不是 Gateway 网关。
对于符合条件的 Linux 子进程启动,OpenClaw 会通过一个简短的 /bin/sh 包装器启动子进程,该包装器会将子进程自身的 oom_score_adj 提高到 1000,然后 exec 真正的命令。这是一个非特权操作,因为子进程只是在提高自身被 OOM 终止的可能性。
覆盖的子进程表面包括:
- 由 supervisor 管理的命令子进程,
- PTY shell 子进程,
- MCP stdio server 子进程,
- OpenClaw 启动的浏览器/Chrome 进程。
该包装器仅适用于 Linux,并且在 /bin/sh 不可用时会跳过。如果子进程环境设置了 OPENCLAW_CHILD_OOM_SCORE_ADJ=0、false、no 或 off,也会跳过。
验证子进程:
cat /proc/<child-pid>/oom_score_adj
覆盖的子进程预期值为 1000。Gateway 网关进程应保持正常分数,通常为 0。
这不能替代正常的内存调优。如果 VPS 或容器反复终止子进程,请增加内存限制、降低并发,或添加更强的资源控制,例如 systemd MemoryMax= 或容器级内存限制。