Files
bot/docs/zh-CN/install/development-channels.md
zeekay acaeda400a Eradicate OpenClaw — resolve merge conflicts and finish the rebrand
Three coordinated things:

1. Resolve the committed upstream/main merge conflicts. 94 files were
   sitting with raw <<<<<<< HEAD ... >>>>>>> upstream/main blocks. Every
   conflict had HanzoBot/Bot on HEAD and OpenClaw on upstream. Resolved
   by keeping HEAD everywhere — 540 conflict blocks.

2. Rewrite remaining OpenClaw text refs.
     OPENCLAW   → HANZO_BOT
     OpenClaw   → HanzoBot          (PascalCase type identifiers)
     openclaw   → bot               (codebase convention — botToken,
                                    botUsername etc.; avoids invalid
                                    hyphenated JS identifiers)
     openclaw[_]/openclaw[A-Z] → bot[_]/bot[A-Z]   (compound)
     ai.openclaw.x → ai.hanzo.bot.x  (JVM package path)

3. Delete or rename openclaw-named file paths (116 of them). Dead
   duplicates with a Bot-named canonical from the partial migration:
   deleted. Otherwise renamed.
     ai/openclaw/**           → deleted (ai/hanzo/bot/** canonical)
     Sources/OpenClaw*/       → deleted (Sources/Bot* canonical)
     Tests/OpenClawIPCTests/  → deleted (Tests/BotIPCTests canonical)
     OpenClawKit/             → deleted (BotKit canonical)
     openclaw-tools.*.ts      → deleted (bot-tools.*.ts canonical)
     openclaw-root.ts etc.    → deleted (bot-root.ts canonical)
     types.openclaw.ts        → deleted (types.bot.ts canonical)
     extensions/*/openclaw.plugin.json → renamed hanzo-bot.plugin.json
     docs/start/openclaw.md   → renamed hanzo-bot.md (+ zh-CN)
     docs/assets/openclaw-*.png, whatsapp-openclaw*.jpg → deleted
     scripts/.../openclaw-*   → deleted (bot/hanzo-bot parallels)
     openclaw.mjs             → deleted (hanzo-bot.mjs is package.bin)

Then patched 65 broken JS/TS import strings where hanzo-bot had ended
up inside an import path ('./types.hanzo-bot.js' → './types.bot.js'
etc., since the on-disk filename uses the brand-neutral bot- prefix).

Pre-existing lint debt cleaned up to get oxlint --type-aware to 0/0:
removed the dead i18n test that referenced a path no longer existing;
defined the missing DIDConfig and WalletConfig types in types.base.ts
(they were imported but never declared); dropped unused imports;
collapsed redundant type assertion and a tautological meta.bot lookup
that the openclaw→bot rename made redundant.

The a2ui.bundle.js generated artifact is kept at its pre-rebrand
contents — it gets regenerated by 'pnpm canvas:a2ui:bundle' from
sources I cannot rebuild in this commit; the source side is clean.

Verified: 0 occurrences of openclaw (case-insensitive) in tree source
content, 0 file or directory paths with openclaw in the name; oxlint
--type-aware src test reports 0/0.
2026-05-11 17:56:29 -07:00

2.5 KiB
Raw Permalink Blame History

read_when, summary, title, x-i18n
read_when summary title x-i18n
你想在 stable/beta/dev 之间切换
你正在标记或发布预发布版本
stable、beta 和 dev 渠道:语义、切换和标签 开发渠道
generated_at model provider source_hash source_path workflow
2026-02-03T10:07:21Z claude-opus-4-5 pi 2b01219b7e705044ce39838a0da7c7fa65c719809ab2f8a51e14529064af81bf install/development-channels.md 15

开发渠道

最后更新:2026-01-21

HanzoBot 提供三个更新渠道:

  • stable:npm dist-tag latest。
  • beta:npm dist-tag beta(测试中的构建)。
  • dev:main 的移动头(git)。npm dist-tag:dev(发布时)。

我们将构建发布到 beta,进行测试,然后将经过验证的构建提升到 latest, 版本号不变——dist-tag 是 npm 安装的数据源。

切换渠道

Git checkout:

hanzo-bot update --channel stable
hanzo-bot update --channel beta
hanzo-bot update --channel dev
  • stable/beta 检出最新匹配的标签(通常是同一个标签)。
  • dev 切换到 main 并在上游基础上 rebase。

npm/pnpm 全局安装:

hanzo-bot update --channel stable
hanzo-bot update --channel beta
hanzo-bot update --channel dev

这会通过相应的 npm dist-tag(latest、beta、dev)进行更新。

当你使用 --channel 显式切换渠道时,HanzoBot 还会对齐安装方式:

  • dev 确保有一个 git checkout(默认 ~/hanzo-bot,可通过 BOT_GIT_DIR 覆盖), 更新它,并从该 checkout 安装全局 CLI。
  • stable/beta 使用匹配的 dist-tag 从 npm 安装。

提示:如果你想同时使用 stable + dev,保留两个克隆并将 Gateway 网关指向 stable 那个。

插件和渠道

当你使用 hanzo-bot update 切换渠道时,HanzoBot 还会同步插件来源:

  • dev 优先使用 git checkout 中的内置插件。
  • stable 和 beta 恢复 npm 安装的插件包。

标签最佳实践

  • 为你希望 git checkout 落在的发布版本打标签(vYYYY.M.D 或 vYYYY.M.D-<patch>)。
  • 保持标签不可变:永远不要移动或重用标签。
  • npm dist-tag 仍然是 npm 安装的数据源:
    • latest → stable
    • beta → 候选构建
    • dev → main 快照(可选)

macOS 应用可用性

Beta 和 dev 构建可能不包含 macOS 应用发布。这没问题:

  • git 标签和 npm dist-tag 仍然可以发布。
  • 在发布说明或变更日志中注明"此 beta 无 macOS 构建"。