Loading... # OpenClaw 升级操作记录 # 一、事件概述 ## 1. 事件背景 clawdbot 项目已正式更名为 openclaw,当前系统运行的 clawdbot@2026.1.24-3 需要升级到最新版本 openclaw@2026.2.6-3。 ## 2. 升级原因 - 项目更名为 openclaw,需要跟进官方更新 - 新版本包含功能改进和安全增强 - Gateway 认证机制变更,强制要求 token 认证 # 二、升级前状态 ## 1. 系统信息 | 项目 | 值 | |------|-----| | 软件版本 | clawdbot@2026.1.24-3 | | 配置目录 | ~/.clawdbot | | 服务名称 | clawdbot-gateway.service | | 命令 | clawdbot | | Gateway 地址 | 127.0.0.1:18789 | ## 2. 运行状态 - Gateway 服务:运行中 - Telegram 通道:已配置 - 模型配置:GLM-4.7 # 三、升级步骤 ## 1. 停止现有服务 ```bash clawdbot gateway stop ``` ## 2. 卸载旧版本并安装新版本 ```bash npm uninstall -g clawdbot npm install -g openclaw ``` 安装输出: ``` removed 677 packages in 3s added 672 packages in 2m ``` ## 3. 清理旧服务 ```bash systemctl --user disable --now clawdbot-gateway.service rm -f ~/.config/systemd/user/clawdbot-gateway.service ``` ## 4. 安装新服务 ```bash openclaw gateway install ``` 安装输出: ``` Installed systemd service: /home/lab/.config/systemd/user/openclaw-gateway.service ``` ## 5. 配置 Gateway 认证 openclaw 强制要求 gateway 认证,需要生成 token 并添加到配置。 ### 5.1 生成随机 token ```bash openssl rand -hex 32 ``` 生成结果: ``` a49460dea98f0462f27672f6474ff8fdd0b982f36b4e2ac13fa9ac010b9af6e8 ``` ### 5.2 修改配置文件 编辑 ~/.openclaw/openclaw.json,在 gateway 配置中添加 auth 设置: ```json "gateway": { "mode": "local", "auth": { "mode": "token", "token": "a49460dea98f0462f27672f6474ff8fdd0b982f36b4e2ac13fa9ac010b9af6e8" } } ``` ## 6. 启动服务 ```bash openclaw gateway start ``` ## 7. 验证状态 ```bash openclaw gateway status openclaw doctor ``` # 四、升级后状态 ## 1. 系统信息 | 项目 | 旧值 | 新值 | |------|-----|------| | 软件版本 | clawdbot@2026.1.24-3 | openclaw@2026.2.6-3 | | 配置目录 | ~/.clawdbot | ~/.openclaw | | 服务名称 | clawdbot-gateway.service | openclaw-gateway.service | | 命令 | clawdbot | openclaw | | Gateway 地址 | 127.0.0.1:18789 | 127.0.0.1:18789 | ## 2. 运行状态验证 ``` Service: systemd (enabled) Runtime: running (pid 3381300, state active, sub running, last exit 0, reason 0) RPC probe: ok Listening: 127.0.0.1:18789 ``` ``` Telegram: ok (@clawd_laipi_bot) (1786ms) Agents: main (default) Heartbeat interval: 30m (main) ``` # 五、重要变更 ## 1. Gateway 认证强制要求 新版本 openclaw 强制要求所有 gateway 连接使用认证,即使是本地 loopback 模式。这是安全性改进。 **变更影响**:必须在 openclaw.json 中配置 gateway.auth.token,否则 gateway 无法启动。 ## 2. 配置兼容性 - 旧配置自动从 ~/.clawdbot 迁移到 ~/.openclaw - clawdbot.json 自动重命名为 openclaw.json - 现有配置(模型、通道、插件等)保持兼容 # 六、问题与解决 ## 1. 问题一:Gateway 启动失败 ### 现象 ``` Gateway auth is set to token, but no token is configured. Set gateway.auth.token (or OPENCLAW_GATEWAY_TOKEN), or pass --token. ``` ### 原因 openclaw 强制要求 gateway 认证,但配置文件中没有设置 token。 ### 解决方案 在 ~/.openclaw/openclaw.json 中添加 gateway.auth.token 配置。 ## 2. 问题二:配置目录混乱 ### 现象 升级过程中同时存在 .clawdbot 和 .openclaw 目录。 ### 原因 npm 卸载 clawdbot 时删除了配置目录符号链接,导致 openclaw 重新创建目录。 ### 解决方案 手动复制旧配置到新目录,或运行 openclaw doctor 让系统自动检测并提示。 # 七、升级流程图 ```mermaid graph TD A[开始升级] --> B[停止 clawdbot gateway] B --> C[卸载 clawdbot] C --> D[安装 openclaw] D --> E[删除旧 systemd 服务] E --> F[安装新 systemd 服务] F --> G[生成认证 token] G --> H[配置 gateway.auth] H --> I[启动 openclaw gateway] I --> J[验证服务状态] J --> K{状态正常?} K -->|是| L[升级完成] K -->|否| M[排查问题] M --> H ```  # 八、清理建议 升级完成后,可选择性删除旧配置目录和服务文件: ```bash # 删除旧配置目录 rm -rf ~/.clawdbot # 验证新配置目录 ls -la ~/.openclaw/ ``` # 九、经验总结 ## 1. 做得好的地方 - 按照标准流程逐步执行升级 - 及时记录问题并排查解决 - 保留了配置文件备份 ## 2. 需要注意的地方 - openclaw 强制要求 gateway 认证,升级前需准备好 token - 配置目录变化需要更新相关脚本和文档 - systemd 服务名称变更,需更新自动启动配置 ## 3. 建议 - 升级前备份配置文件 - 在测试环境先验证升级流程 - 更新相关文档和脚本中的命令引用 *** ## 参考资料 1. [OpenClaw Official Documentation](https://docs.openclaw.ai/) 2. [Clawdbot to OpenClaw Migration Guide](https://docs.openclaw.ai/migration) 最后修改:2026 年 02 月 08 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏