更新

适用范围

使用本页面当:

  • 更新 Moltbot
  • 更新后出现问题

Moltbot 快速迭代(“1.0"之前)。将更新视为发布基础架构:更新 → 运行检查 → 重启(或使用 moltbot update,它会重启)→ 验证。

推荐:重新运行网站安装程序(就地升级)

首选的更新路径是从网站重新运行安装程序。它 检测现有安装,就地升级,并在需要时运行 moltbot doctor

curl -fsSL https://clawd.bot/install.sh | bash

注意事项:

  • 如果您不想再次运行入门向导,请添加 --no-onboard
  • 对于源码安装,使用:
    curl -fsSL https://clawd.bot/install.sh | bash -s -- --install-method git --no-onboard
    安装程序在仓库干净时才会 git pull --rebase
  • 对于全局安装,脚本在底层使用 npm install -g moltbot@latest

更新前

  • 了解您的安装方式:全局(npm/pnpm)vs 从源码(git clone)。
  • 了解您的网关运行方式:前台终端 vs 受监管服务(launchd/systemd)。
  • 快照您的配置:
    • 配置:~/.moltbot/moltbot.json
    • 凭据:~/.moltbot/credentials/
    • 工作区:~/clawd

更新(全局安装)

全局安装(选择一个):

npm i -g moltbot@latest
pnpm add -g moltbot@latest

我们推荐 Bun 用于网关运行时(WhatsApp/Telegram 错误)。

要切换更新频道(git + npm 安装):

moltbot update --channel beta
moltbot update --channel dev
moltbot update --channel stable

使用 --tag <dist-tag|version> 进行一次性安装标记/版本。

有关频道语义和发行说明,请参阅开发频道

注意:在 npm 安装上,网关在启动时记录更新提示(检查当前频道标记)。通过 update.checkOnStart: false 禁用。

然后:

moltbot doctor
moltbot gateway restart
moltbot health

注意事项:

  • 如果您的网关作为服务运行,moltbot gateway restart 优于终止 PID。
  • 如果您固定到特定版本,请参阅下面的"回滚 / 固定”。

更新(moltbot update

对于源码安装(git 副本),首选:

moltbot update

它运行一个安全的更新流程:

  • 需要一个干净的工作树。
  • 切换到选定的频道(标记或分支)。
  • 针对配置的上游获取 + 重新建立基准(dev 频道)。
  • 安装依赖项、构建、构建控制 UI 并运行 moltbot doctor
  • 默认重启网关(使用 --no-restart 跳过)。

如果您通过 npm/pnpm 安装(无 git 元数据),moltbot update 将尝试通过您的包管理器更新。如果它无法检测安装,请改用"更新(全局安装)"。

更新(控制 UI / RPC)

控制 UI 具有更新并重启(RPC:update.run)。它:

  1. 运行与 moltbot update 相同的源更新流程(仅 git 副本)。
  2. 写入带有结构化报告的重启哨兵(stdout/stderr 尾部)。
  3. 重启网关并向最后一个活动会话发送报告。

如果重新建立基准失败,网关将中止并在不应用更新的情况下重启。

更新(从源码)

从仓库副本:

首选:

moltbot update

手动(大致等效):

git pull
pnpm install
pnpm build
pnpm ui:build # 首次运行时自动安装 UI 依赖项
moltbot doctor
moltbot health

注意事项:

  • 当您运行打包的 moltbot 二进制文件(dist/entry.js)或使用 Node 运行 dist/ 时,pnpm build 很重要。
  • 如果您在没有全局安装的情况下从仓库副本运行,请对 CLI 命令使用 pnpm moltbot ...
  • 如果您直接从 TypeScript 运行(pnpm moltbot ...),通常不需要重新构建,但配置迁移仍然适用→ 运行 doctor。
  • 在全局和 git 安装之间切换很容易:安装另一种风格,然后运行 moltbot doctor,以便网关服务入口点被重写为当前安装。

始终运行:moltbot doctor

Doctor 是"安全更新"命令。它故意无聊:修复 + 迁移 + 警告。

注意:如果您在源码安装(git 副本)上,moltbot doctor 将提议先运行 moltbot update

它通常会做的事情:

  • 迁移已弃用的配置键 / 旧配置文件位置。
  • 审计 DM 策略并警告有风险的"开放"设置。
  • 检查网关健康状况并可以提议重启。
  • 检测并将旧的网关服务(launchd/systemd;旧 schtasks)迁移到当前的 Moltbot 服务。
  • 在 Linux 上,确保 systemd 用户持久化(以便网关在注销后继续运行)。

详情:Doctor

启动 / 停止 / 重启网关

CLI(适用于任何操作系统):

moltbot gateway status
moltbot gateway stop
moltbot gateway restart
moltbot gateway --port 18789
moltbot logs --follow

如果您受监管:

  • macOS launchd(应用捆绑的 LaunchAgent):launchctl kickstart -k gui/$UID/com.moltbot.gateway(如果设置了则使用 com.moltbot.<profile>
  • Linux systemd 用户服务:systemctl --user restart moltbot-gateway[-<profile>].service
  • Windows (WSL2):systemctl --user restart moltbot-gateway[-<profile>].service
    • launchctl/systemctl 仅在安装了服务时有效;否则运行 moltbot gateway install

运行手册 + 精确服务标签:网关运行手册

回滚 / 固定(当出现问题时)

固定(全局安装)

安装一个已知良好的版本(将 <version> 替换为最后一个工作的版本):

npm i -g moltbot@<version>
pnpm add -g moltbot@<version>

提示:要查看当前发布的版本,运行 npm view moltbot version

然后重启 + 重新运行 doctor:

moltbot doctor
moltbot gateway restart

按日期固定(源码)

从日期中选择一个提交(例如:“截至 2026-01-01 的 main 状态”):

git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"

然后重新安装依赖项 + 重启:

pnpm install
pnpm build
moltbot gateway restart

如果您想稍后返回最新版本:

git checkout main
git pull

如果您卡住了

  • 再次运行 moltbot doctor 并仔细阅读输出(它通常告诉您修复方法)。
  • 检查:故障排除
  • 在 Discord 中询问:https://channels.discord.gg/clawd