前言¶
在 DSH 工作流中,从 git 历史中提取信息并生成面向公众的发布说明,同时保留内部审计日志,是常见的版本管理需求。dsh-changelog 移植自 @noice-tech/pi-changelog,提供了一套基于 Git 的发布说明生成方案,能够自动处理文案撰写与隐私隔离。
核心功能¶
- 从 git 历史生成发布说明:插件会解析 GitHub Release、PR 与提交信息,自动撰写公开文案。
- 预览未发布改动:使用
/unreleased命令可审计最近一个 tag 以来的合并 PR,仅生成预览,不会创建 tag、release 或文件。 - 仓库专属文风:通过
/setup-release-notes-style生成.dsh/release-notes-style.md,使发布说明贴合产品的受众与语气。 - 隐私安全:公开文案会自动排除链接、PR 号、commit 哈希、私有 URL 与内部备注;来源审计单独存放在
.dsh/tmp/目录,不进入公开文件。 - 来源优先级明确:生成逻辑遵循
Public summary→Context→ Release body → PR title → commit message 的优先级回退策略。
安装¶
本包尚未发布到 npm,需通过 GitHub 源安装。
dsh plugin --profile <你的 profile> add github:GongYuanCaiJi/dsh-changelog
典型用法¶
安装后,可在 DSH 中使用以下命令:
/unreleased # 预览最近一个 tag 以来的发布候选
/release-notes 1.2.3 # 生成指定版本的发布说明
/release-notes 1.2.0..1.2.3 # 生成版本区间的发布说明
/setup-release-notes-style [笔记] # 创建或精炼仓库专属的文风配置
注意:
* /unreleased 和 /release-notes 需要已认证的 GitHub CLI(执行 gh auth login)。
* /release-notes 会创建或覆盖输出文件,.dsh/tmp/ 目录应保持 gitignore 且不发布。
适用场景与注意¶
本插件适合需要在 DSH 中自动化处理版本发布说明的开发者。插件以当前 dsh 进程权限运行,安装前建议检查源码。
- 提示词语言:agent 收到的提示词为英文原文,未做翻译。
- 路径约定:插件遵循 DSH 的
.dsh/路径约定,将上游的.pi/路径进行了适配。