Introduction

In the DSH workflow, extracting information from git history to generate public-facing release notes while retaining internal audit logs is a common version-control requirement. dsh-changelog is ported from @noice-tech/pi-changelog and provides a Git-based release notes generation solution that can automatically handle copywriting and privacy isolation.

Core Features

  • Generate release notes from git history: The plugin parses GitHub Releases, PRs, and commit information, and automatically drafts the public copy.
  • Preview unreleased changes: Use the /unreleased command to audit PRs merged since the last tag. It only generates a preview and does not create a tag, release, or file.
  • Repository-specific style: Use /setup-release-notes-style to generate .dsh/release-notes-style.md, making release notes fit the product’s audience and tone.
  • Privacy safety: Public copy automatically excludes links, PR numbers, commit hashes, private URLs, and internal notes. Source audit data is stored separately in the .dsh/tmp/ directory and is not included in public files.
  • Explicit source priority: Generation logic follows the fallback priority strategy: Public summary → Context → Release body → PR title → commit message.

Installation

This package has not been published to npm yet, so it must be installed from the GitHub source.

dsh plugin --profile <你的 profile> add github:GongYuanCaiJi/dsh-changelog

Typical Usage

After installation, you can use the following commands in DSH:

/unreleased                        # 预览最近一个 tag 以来的发布候选
/release-notes 1.2.3               # 生成指定版本的发布说明
/release-notes 1.2.0..1.2.3        # 生成版本区间的发布说明
/setup-release-notes-style [笔记]   # 创建或精炼仓库专属的文风配置

Note:
* /unreleased and /release-notes require an authenticated GitHub CLI (run gh auth login).
* /release-notes will create or overwrite the output file. The .dsh/tmp/ directory should remain gitignored and should not be published.

Applicable Scenarios and Notes

This plugin is suitable for developers who need to automate release notes generation within DSH. The plugin runs with the permissions of the current DSH process; it is recommended to review the source code before installation.

  • Prompt language: The prompts received by the agent are in the original English and have not been translated.
  • Path conventions: The plugin follows the DSH .dsh/ path convention and has adapted the upstream .pi/ paths accordingly.

References