dsh-changelog: 自动生成发布说明

前言

在 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/ 路径进行了适配。

参考资料

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜