
Dsh Web UI Release
Release and publish the dsh-web-ui monorepo (DSH Web GUI plugin family + skin...
Install
npx skills add ningbainb/deepseek-harness-desktop --skill dsh-web-ui-release -g -a claude-code -y- Repository
- ningbainb/deepseek-harness-desktop891
- Category
- Design
- Updated
- 5d ago
- License
- BSD-3-Clause
- Context cost
- Lightabout 1,184 tokens
- Runs scripts
- No, instructions only
What it does
Release and publish the dsh-web-ui monorepo (DSH Web GUI plugin family + skin collection), bump all packages to one unified version, commit and tag, push the vX.Y.Z tag that triggers the GitHub Actions publish pipeline, and verify the npm publish + GitHub Release. Covers post-release verification and bad-version recovery. Use when the user asks to 发布/发版/release/bump 版本/publish a new version of dsh-web-ui or any @linxin666/dsh-* package.
dsh-web-ui 发布(release / publish)
本技能固化 dsh-web-ui 全家桶的完整发版流程:全仓统一版本 → 提交 → 打 tag → 推送触发 GitHub Actions 发布管线(构建/测试/npm 发布/GitHub Release)→ 发布后验证。
仓库事实(先读,决定每一步怎么做)
- 仓库:zhu1090093659/dsh-web-ui(PUBLIC),本机路径 /Users/zcl/code/dsh-web-ui。
- 全家桶 23 个包:packages/dsh-(12 个)+ packages/skins/(11 个,含 skin-center)。
全部发布到 npm scope
@linxin666,registry 固定 registry.npmjs.org。 - 版本策略:全仓统一版本(tag vX.Y.Z = 每个 package.json 的 version,由管线强制校验)。
- npm 不允许重复发布同一版本号:已发布过的版本号(如 0.1.3/0.1.4/0.1.5)不可重发, 只能 bump 到下一个版本。
- 发布通道:本机通常没有 npm 登录态(
npm whoami401 属正常);npm 发布全部由 GitHub Actions 管线完成,使用仓库 secretNPM_TOKEN(npm automation token,@linxin666 scope)。 - 根 package.json 是 private(不发布);
pnpm -r publish自动跳过。 - 仓库禁 emoji(所有文件含提交信息与 tag 信息);CI 会校验。
0. 发版前检查(本地全绿才允许打 tag)
cd /Users/zcl/code/dsh-web-ui
git status --short # 明确本次要提交的内容,无意外文件
pnpm test # 全仓测试
pnpm test:scripts # 脚本测试(link-profile 等)
node scripts/aggregate.mjs --check # 聚合清单与磁盘一致(改过 aggregate.yml 时必须先重跑生成)
git log --oneline -5 # 确认包含本次全部改动、无未推送提交
皮肤相关变更(skin.json / 皮肤 bundle)额外跑:
node packages/dsh-skins/build.mjs # 重生成 dsh-skins/skins/ 载体,git status 确认无意外增删
版本 bump 后必须重建产物并同步 gallery 资产(版本信息影响 bundle 内容):
pnpm build # 全仓重建 lib 产物(含新版本号)
node scripts/gallery-build # 重新生成 gallery/(manifest.js/bundles.js 内嵌产物内容)
pnpm gallery:check # 必须通过;产物与 gallery 资产要同一次构建一起提交
1. 版本 bump(全仓统一)
find packages -name package.json -not -path '*/node_modules/*' \
-exec sed -i '' 's/"version": "[0-9][^"]*"/"version": "X.Y.Z"/' {} +
find packages -name package.json -not -path '*/node_modules/*' \
-exec grep -H '"version"' {} \; | grep -v '"version": "X.Y.Z"' # 必须无输出
pnpm-lock.yaml 不记录包版本,无需改动;聚合包依赖用 workspace:*,发布时由 pnpm 自动替换为 实际版本,无需手工改依赖链。
2. 提交与 tag
提交按两类拆分(保持历史可读):


