乐于分享
好东西不私藏

旧手机变身AI服务器|再部署OpenClaw

旧手机变身AI服务器|再部署OpenClaw

这是「旧手机变身AI服务器」系列第2篇。

上篇已经装好了Hermes Agent,这一篇讲怎么部署OpenClaw,让它和Hermes在同一台手机上和平共处。


先检查OpenClaw还在不在

先SSH进手机,执行:

openclaw --version
openclaw health
ls -la ~/.openclaw/
ls -la ~/.openclaw/extensions/

如果看到版本号,比如2026.3.24,说明OpenClaw本体还在。再检查数据和配置目录,确认核心都在。

如果openclaw命令找不到,说明OpenClaw没有正确安装,需要先参考官方文档完成安装。

如果OpenClaw挂了,先看日志

ps aux | grep openclaw
cat /tmp/openclaw-gateway.log
cat ~/.openclaw/logs/*.log 2>/dev/null

常见问题是:网关进程还在,但状态异常,飞书连接不上。日志里通常能看到token不一致或端口冲突问题。


解决端口冲突

OpenClaw默认网关端口是18789。如果这个端口被别的进程占用,或者上一次退出没有清理干净,再次启动就会冲突。

先检查端口占用:

ss -tlnp | grep 18789 2>/dev/null || netstat -tlnp | grep 18789 2>/dev/null

如果有残留进程,可以杀掉:

kill -9 <PID>

但更稳妥的做法是换一个端口,比如18800,避免每次都要检查旧端口。


修改OpenClaw网关配置

编辑~/.openclaw/openclaw.json:

# 先备份原配置
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

nano ~/.openclaw/openclaw.json

把网关端口改成18800:

{
  "gateway": {
    "port": 18800,
    "bind": "127.0.0.1",
    "auth": {
      "token": "<YOUR_GATEWAY_TOKEN>"
    },
    "remote": {
      "url": "ws://127.0.0.1:18800",
      "token": "<YOUR_GATEWAY_TOKEN>"
    }
  }
}

把<YOUR_GATEWAY_TOKEN>换成你自己定义的一个随机字符串,比如my-openclaw-token-2024。

坑点: gateway.auth.token和gateway.remote.token必须一致,否则OpenClaw网关会报token mismatch,健康检查失败。

另一个坑: bind不要写成0.0.0.0,否则任何能访问你手机的人都能尝试连接gateway。建议保持127.0.0.1,只允许本机访问。


后台启动网关

AidLux里没有完整的systemd,所以直接用&让网关在后台运行:

/usr/local/bin/openclaw gateway --port 18800 --bind loopback --force > /tmp/openclaw-gateway.log 2>&1 &

等待几秒后检查健康状态:

sleep 4
openclaw health

正常应该看到:

feishu: ok
agents: ok
gateway: ok

再检查网关状态:

openclaw gateway status

确认它指向ws://127.0.0.1:18800,并且RPC probe是ok。

如果health显示异常,先看/tmp/openclaw-gateway.log里的错误信息。


确认Hermes也能正常跑

与此同时,Hermes不需要常驻服务,但命令行要能直接调用:

hermes chat

如果两个都能用,说明它们已经在同一台设备上"和平共处"了。


简化后续命令

每次进终端都要打一长串命令很烦。在~/.bashrc里加两个辅助函数:

cp ~/.bashrc ~/.bashrc.bak
nano ~/.bashrc

在末尾追加:

# === openclaw/hermes auto-start helpers ===
openclaw() {
  if [ "$1" = "tui" ]; then
    if ! curl -s http://127.0.0.1:18800/health | grep -q '"status":"live"'; then
      echo "[openclaw] Gateway not running, starting..."
      /usr/local/bin/openclaw gateway --port 18800 --bind loopback --force > /tmp/openclaw-gateway.log 2>&1 &
      sleep 4
    fi
  fi
  /usr/local/bin/openclaw "$@"
}

hermes() {
  if [ $# -eq 0 ]; then
    /home/aidlux/.local/bin/hermes chat
  else
    /home/aidlux/.local/bin/hermes "$@"
  fi
}

保存后执行:

source ~/.bashrc

以后你只需要:

  • 输入openclaw tui自动检查网关并打开OpenClaw对话界面
  • 输入hermes直接打开Hermes聊天

坑: 如果.bashrc里有export PATH="\$HOME/.local/bin:\$PATH"这样的写法,PATH会被当成字面量,导致系统命令全部找不到。正确的写法是export PATH="$HOME/.local/bin:$PATH",没有反斜杠。


让AidLux允许后台运行

AidLux一旦被系统切换到后台,进程可能会被回收。为了避免反复重启:

  1. 进入安卓设置 → 应用 → AidLux → 电池
  2. 选择无限制或允许后台运行
  3. 关闭电池优化
  4. 在最近任务界面,把AidLux卡片锁定

总结

这一篇完成了:

  • 检查OpenClaw状态
  • 解决端口冲突问题
  • 修改配置并后台启动网关
  • 设置.bashrc辅助命令
  • 配置AidLux后台运行

下一篇会讲最关键的部分:让OpenClaw调用Hermes,实现飞书遥控发公众号。


往期推荐:

  • 旧手机变身AI服务器|先装好Hermes Agent[1]

点亮星标,第一时间收到AI生产力干货~


引用链接

[1]旧手机变身AI服务器|先装好Hermes Agent:

相关学习资料