KNLCXY/dsh-release ↗★ 0

dsh-release

One-call release pipeline for DeepSeek Harness plugin repos: bump versions everywhere, run tests, pack and hash, commit and tag, open the GitHub release, publish to npm (token / staged / OIDC trusted publishing) and verify that all three copies are byte-identical. 适合插件开发者,用于自动化版本升级、测试、打包及发布到npm。

Package
dsh-release
Compatibility
Unverified
Harness peer range
^0.1.5-rc.2 || ^0.2.0-rc.1
Cordis peer range
^4.0.2
Version
0.1.1
License
MIT
Last updated
Oct 24, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:KNLCXY/dsh-release

配置 OIDC(一次的事)

release({ action: "setup-ci", repo: "…/repo/dsh-websift" })

会写一份 .github/workflows/release.yml(含 id-token: write、并会把 runner 自带的 npm 升到 trusted publishing 要求的 ≥ 11.5.1),然后告诉你 npm 侧要敲的命令:

npm trust github  --file release.yml --repo / --allow-publish

⚠️ 这一步必须交互式 2FA:bypass 2FA 的令牌从 2026-08 起做不了 trusted publishing 配置 (实测 npm trust list dsh-websift 直接 403)。网页入口: https://www.npmjs.com/package//access → Trusted Publishing。 workflow 文件名必须一字不差(含 release.yml 这个扩展名),否则 OIDC 校验会失败。

配好之后 channel 自动选 ci:本地只推 tag,npm 由 CI 发。

配置

运行时配置写在 ~/.dsh/storages/release/settings.json,优先级高于 cordis.patch.yml 里的出厂默认:

{
  "gitPath": "",
  "npmCli": "",
  "npmVersion": "",
  "githubToken": "",
  "profile": "",
  "access": "public",
  "verifyTimeoutMs": 240000
}

GET http://127.0.0.1:/_release/settings 可以看到当前探到的 git 与存储位置。