跳转到内容

update

安全更新 CoderClaw 并在 stable/beta/dev 渠道之间切换。

如果你通过 npm/pnpm 安装(全局安装,无 git 元数据),更新通过 更新 中的包管理器流程进行。

Terminal window
coderclaw update
coderclaw update status
coderclaw update wizard
coderclaw update --channel beta
coderclaw update --channel dev
coderclaw update --tag beta
coderclaw update --no-restart
coderclaw update --json
coderclaw --update
  • --no-restart:成功更新后跳过重启 Gateway 网关服务。
  • --channel <stable|beta|dev>:设置更新渠道(git + npm;持久化到配置中)。
  • --tag <dist-tag|version>:仅为本次更新覆盖 npm dist-tag 或版本。
  • --json:打印机器可读的 UpdateRunResult JSON。
  • --timeout <seconds>:每步超时时间(默认 1200 秒)。

注意:降级需要确认,因为旧版本可能会破坏配置。

显示当前更新渠道 + git 标签/分支/SHA(对于源码检出),以及更新可用性。

Terminal window
coderclaw update status
coderclaw update status --json
coderclaw update status --timeout 10

选项:

  • --json:打印机器可读的状态 JSON。
  • --timeout <seconds>:检查超时时间(默认 3 秒)。

交互式流程,用于选择更新渠道并确认是否在更新后重启 Gateway 网关(默认重启)。如果你选择 dev 但没有 git 检出,它会提供创建一个的选项。

当你显式切换渠道(--channel ...)时,CoderClaw 也会保持安装方式一致:

  • dev → 确保存在 git 检出(默认:~/coderclaw,可通过 CODERCLAW_GIT_DIR 覆盖),更新它,并从该检出安装全局 CLI。
  • stable/beta → 使用匹配的 dist-tag 从 npm 安装。

渠道:

  • stable:检出最新的非 beta 标签,然后构建 + doctor。
  • beta:检出最新的 -beta 标签,然后构建 + doctor。
  • dev:检出 main,然后 fetch + rebase。

高层概述:

  1. 需要干净的工作树(无未提交的更改)。
  2. 切换到所选渠道(标签或分支)。
  3. 获取上游(仅 dev)。
  4. 仅 dev:在临时工作树中预检 lint + TypeScript 构建;如果最新提交失败,回退最多 10 个提交以找到最新的干净构建。
  5. Rebase 到所选提交(仅 dev)。
  6. 安装依赖(优先使用 pnpm;npm 作为备选)。
  7. 构建 + 构建控制界面。
  8. 运行 coderclaw doctor 作为最终的”安全更新”检查。
  9. 将插件同步到当前渠道(dev 使用捆绑的扩展;stable/beta 使用 npm)并更新 npm 安装的插件。

coderclaw --update 会重写为 coderclaw update(便于 shell 和启动脚本使用)。