很多用户装好 OpenClaw、用得好好的,重启一次电脑或服务器,就发现 AI 助手不见了——Telegram 机器人不回复,定时任务停止,什么都不动了。

原因很简单:没有配置开机自启动。

本文覆盖 macOS、Linux、Windows 三个平台,每一种都有完整的配置步骤,照着做,重启之后 OpenClaw 自动恢复运行,不需要手动干预。

最简单的方式:安装时就配置好

如果你还没有安装 OpenClaw,或者愿意重新运行引导向导,最简单的方式是在 onboard 命令中加上 --install-daemon 参数,一步到位完成安装和开机自启动注册:

openclaw onboard --install-daemon

这条命令会根据你的操作系统自动选择合适的后台服务机制(macOS 用 launchd,Linux 用 systemd),并完成所有注册步骤。

如果你已经安装过 OpenClaw 但没有配置自启动,也可以单独补充注册:

openclaw gateway install --force
openclaw gateway restart

运行后用 openclaw doctor 确认守护进程状态是否正常。

如果上面这两条命令已经解决了你的问题,恭喜,可以不用往下看了。如果还有问题,或者想深入理解各平台的机制,继续读下面的内容。

macOS:launchd LaunchAgent

macOS 使用 launchd 作为系统和用户级服务管理器,OpenClaw 的开机自启动通过注册 LaunchAgent 实现——用户登录后自动启动,用户注销后自动停止。

方法一:通过 OpenClaw CLI 注册(推荐)

openclaw gateway install --force
openclaw gateway restart

CLI 会自动在 ~/Library/LaunchAgents/ 目录下创建对应的 plist 配置文件,并通过 launchctl 加载。

验证是否已注册成功:

openclaw gateway status

输出中应包含 daemon: launchdrunning: true

方法二:手动创建 LaunchAgent plist(备选)

如果 CLI 方式遇到问题,可以手动创建配置文件。新建文件:

~/Library/LaunchAgents/ai.openclaw.gateway.plist

内容如下(将 /usr/local/bin/openclaw 替换为 which openclaw 的实际输出路径):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>ai.openclaw.gateway</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/openclaw</string>
    <string>gateway</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>StandardOutPath</key>
  <string>/tmp/openclaw-gateway.log</string>
  <key>StandardErrorPath</key>
  <string>/tmp/openclaw-gateway-error.log</string>
</dict>
</plist>

保存后,加载这个 LaunchAgent:

launchctl load ~/Library/LaunchAgents/ai.openclaw.gateway.plist

验证是否在运行:

launchctl list | grep openclaw

看到 ai.openclaw.gateway 在列表中即为成功。

macOS 常见问题

Q:电脑从睡眠中唤醒后 OpenClaw 没有响应?
LaunchAgent 在用户已登录的情况下通常能从睡眠中正常恢复。如果长期无响应,运行 openclaw gateway restart 手动恢复,并检查日志:

cat /tmp/openclaw-gateway-error.log

Q:用 Mac Mini 作为全天候服务器,如何防止自动睡眠打断服务?

sudo pmset -a sleep 0 displaysleep 0
sudo pmset -a autorestart 1

Q:重启后 OpenClaw 没有自动启动?
确认 LaunchAgent 是否正确注册:

launchctl list | grep openclaw

如果没有输出,重新运行 openclaw gateway install --force

Linux:systemd 用户服务

Linux 使用 systemd 管理服务,OpenClaw 默认注册为 systemd 用户服务(user service),而非系统服务(system service)。两者的区别在于权限范围:用户服务以普通用户权限运行,更安全;系统服务以 root 权限运行,OpenClaw 不需要也不推荐这样配置。

第一步:通过 CLI 注册 systemd 服务

openclaw gateway install --force
openclaw gateway restart

这会在 ~/.config/systemd/user/ 目录下创建 openclaw-gateway.service 文件。

第二步:启用用户驻留(关键步骤)

Linux systemd 用户服务默认在用户注销后停止。要让 OpenClaw 在你断开 SSH 后继续运行,必须执行这条命令

sudo loginctl enable-linger $USER

这条命令只需要执行一次,永久生效。它告诉 systemd:即使该用户未登录,也要保持其用户服务运行。

验证和管理命令

# 查看服务状态
systemctl --user status openclaw-gateway

# 手动启动
systemctl --user start openclaw-gateway

# 手动停止
systemctl --user stop openclaw-gateway

# 重启
systemctl --user restart openclaw-gateway

# 查看实时日志
journalctl --user -u openclaw-gateway -f

# 查看最近1小时的日志
journalctl --user -u openclaw-gateway --since "1 hour ago"

正常运行时,systemctl --user status openclaw-gateway 的输出应包含:

Active: active (running) since ...

Linux 常见问题

Q:SSH 断开后服务停止了,但我已经运行了 loginctl enable-linger?
确认 linger 是否真的生效:

loginctl show-user $USER | grep Linger
# 应输出 Linger=yes

如果显示 Linger=no,重新执行 sudo loginctl enable-linger $USER

Q:虚拟机(VMware/VirtualBox)中 systemd 报错?
VM 环境中 systemd 用户会话有时未完整初始化,尝试:

systemctl --user daemon-reload
systemctl --user enable openclaw-gateway
systemctl --user start openclaw-gateway

Q:想查看 systemd 服务文件的内容?

cat ~/.config/systemd/user/openclaw-gateway.service

最小有效的 systemd 服务文件结构供参考:

[Unit]
Description=OpenClaw Gateway
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/home/你的用户名/.nvm/versions/node/v24.x.x/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

注意 ExecStart 中的路径需要替换为 which openclaw 的实际输出。

Windows:WSL2 + systemd 方案

OpenClaw 不支持在原生 Windows 环境(PowerShell/CMD)中运行,推荐通过 WSL2 部署。在 WSL2 中,配置方式与 Linux 完全相同,但开机自启动需要额外处理:WSL2 本身不会在 Windows 开机时自动启动,需要借助 Windows 任务计划程序来触发。

第一步:在 WSL2 中完成 Linux 的 systemd 配置

按照上文 Linux 部分的步骤,在 WSL2 Ubuntu 环境中完成 systemd 服务注册和 loginctl enable-linger

第二步:通过 Windows 任务计划程序实现开机自启

以管理员身份打开 PowerShell,运行以下命令创建开机触发的计划任务:

$action = New-ScheduledTaskAction -Execute "wsl.exe" `
  -Argument "-d Ubuntu -- bash -c 'systemctl --user start openclaw-gateway'"

$trigger = New-ScheduledTaskTrigger -AtLogOn

$settings = New-ScheduledTaskSettingsSet `
  -ExecutionTimeLimit ([TimeSpan]::Zero) `
  -RestartCount 3 `
  -RestartInterval (New-TimeSpan -Minutes 1)

Register-ScheduledTask -TaskName "OpenClaw-WSL2-Autostart" `
  -Action $action `
  -Trigger $trigger `
  -Settings $settings `
  -RunLevel Highest `
  -Force

这个计划任务会在每次 Windows 用户登录时,自动在 WSL2 中启动 OpenClaw 的 systemd 服务。

验证 Windows 计划任务

重启 Windows 后,打开 WSL2 终端,运行:

systemctl --user status openclaw-gateway

如果显示 active (running),说明自启动配置成功。

Windows 常见问题

Q:WSL2 中的 OpenClaw 控制面板如何在 Windows 浏览器中访问?
WSL2 的 localhost 自动映射到 Windows 的 localhost,直接在 Windows 浏览器中打开 http://127.0.0.1:18789 即可访问,无需额外配置。

Q:不想用任务计划程序,有其他方法吗?
可以将以下内容保存为 start-openclaw.bat,放入 Windows 启动文件夹(Shell:startup):

wsl -d Ubuntu -- bash -c "systemctl --user start openclaw-gateway" &

但这种方式不如任务计划程序稳定,不推荐用于生产环境。

三平台对比速查表

平台 服务机制 自启动注册命令 关键额外步骤
macOS launchd LaunchAgent openclaw gateway install --force 设备用 Mac Mini 需禁用睡眠
Linux systemd 用户服务 openclaw gateway install --force sudo loginctl enable-linger $USER(必须)
Windows (WSL2) WSL2 + systemd Linux 步骤 + 任务计划程序 需额外创建 Windows 计划任务触发 WSL2

通用验证流程:重启后如何确认自启动正常?

无论哪个平台,重启后按以下步骤验证:

# 第一步:检查 Gateway 是否在运行
openclaw gateway status

# 第二步:全面健康检查
openclaw doctor

# 第三步:发一条测试消息(在 Telegram/WhatsApp 中发)
# 如果 OpenClaw 有回复,说明一切正常

# 第四步:查看日志(如有异常)
openclaw logs --follow

如果 Gateway 没有自动启动,手动运行一次,再检查守护进程注册是否正确:

openclaw gateway start
openclaw gateway install --force
openclaw gateway restart

推荐的最终状态

配置完成后,你的 OpenClaw 应该满足以下所有条件:

  • ✅ 系统重启后自动启动,无需手动操作
  • ✅ SSH 断开或用户注销后服务持续运行(Linux 需要 loginctl enable-linger)
  • ✅ 进程崩溃后自动重启(launchd 和 systemd 的 Restart=always 保证)
  • ✅ 断电重启后自动恢复(macOS 需配置 pmset autorestart)
  • openclaw doctor 全绿,无报错

达到以上状态,你的 OpenClaw 就真正实现了 24小时无人值守运行,Heartbeat 心跳任务和 Cron 定时任务也才能真正发挥作用。

想了解更多配置细节,访问 OpenClaw官网中文版(通过浏览器翻译访问 openclaw.ai)或官方文档 docs.openclaw.ai

本文内容基于 OpenClaw 官方文档、crewclaw.com 等公开资料整理,信息截至2026年3月28日。