桌面端当前直接消费 sibling claude-code 产出的新内核 dist/kernel.js package surface。
当前它还是 sibling 目录,不是独立 git 仓库;.github/workflows/release.yml 已按独立仓库形态准备好,后续提仓即可直接启用。
当前以 sibling 内核包 ../claude-code 的版本号为真源。桌面端版本建议始终与内核包保持一致:
node ./scripts/sibling-version.cjs sync
node ./scripts/sibling-version.cjs check- 先构建并同步内核产物:
bun run kernel:build- 再构建桌面端前端:
bun run buildbun run kernel:build 会先在 ../claude-code 执行 build,再把包含 kernel.js、kernel-runtime.js、CLI 入口和 chunk-* 的整套 dist 同步到 electron/vendor/hare-code-kernel/dist。Electron 主进程运行时优先导入 sibling ../claude-code/dist/kernel.js,打包发布时使用 vendor 内核产物。
如果 desktop 未来提成独立仓库,不再有 sibling ../claude-code,可以改用已发布包来供应本地 vendor 内核产物:
bun run kernel:build:package默认会按当前桌面端版本优先查找 sibling 目录里的 claude-code-<version>.tgz;如果当前工作区存在 sibling ../claude-code,脚本会先重新 build 并刷新这个本地 tgz,再从打包产物里抽出整套 dist 到 electron/vendor/hare-code-kernel/dist。如果本地没有该 tarball,则会自动从 GitHub Release 下载 claude-code-<version>.tgz。
如需指定发布仓库,可设置:
CLAUDE_CODE_RELEASE_REPO=go-hare/hare-code兼容旧环境变量:
HARE_CODE_RELEASE_REPO=go-hare/hare-code如果要在当前工作区模拟这条链,也可以指定本地 package spec:
node ./scripts/sync-hare-sdk.cjs --source=package --package-spec ..\\claude-code发布构建脚本:
bun run electron:build:release:win
bun run electron:build:release:mac
bun run electron:build:release:linux- 手动
compact目前仍未接通。桌面端现在会明确返回kernel_compact_session_context_unavailable,原因是 public kernel command execution 还拿不到当前 conversation 的 session message context。
node ./scripts/sibling-version.cjs check通过,当前 desktop 与 siblingclaude-code版本同为1.7.3。bun test electron/kernelChatSemanticEvents.test.js electron/kernelChatRuntimeHelpers.test.js src/utils/runtimeTaskEventLinking.test.ts src/utils/desktopBackgroundTurnParity.test.ts通过,19 pass。- vendor
kernel.js/kernel-runtime.js已重新同步到当前 siblingdist, 且 sha256 一致。 bun run build通过。CSC_IDENTITY_AUTO_DISCOVERY=false ELECTRON_CACHE="$PWD/.cache/electron" ./node_modules/.bin/electron-builder --dir通过,生成release/mac-arm64/hare Desktop.app;这是一轮 unsigned / ad-hoc release smoke,不包含 notarization。