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/ 路徑進行了適配。

參考資料

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

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

小夜