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