DeepSeek Harness plugin

dsh-changelog

自动生成发布说明(移植自 @noice-tech/pi-changelog)

Jump to install

Source facts

Repository
GongYuanCaiJi/dsh-changelog
Latest update
Aug 15, 2026
Category
Development & Runtime
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/GongYuanCaiJi/dsh-changelog
Plugin: dsh-changelog
Author: GongYuanCaiJi

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-changelog

简体中文 | [English](#english)

![License](./LICENSE) ![DSH](https://github.com/deepseek-ai/deepseek-harness) ![上游](https://www.npmjs.com/package/@noice-tech/pi-changelog)

> 一句话:打一句 /unreleased 预览未发布的改动,或 /release-notes <版本> 从 git 历史自动生成发布说明——公开文案和内部来源审计分开存放,敏感信息不进公开文件。

移植自 @noice-tech/pi-changelog(MIT,1.3.0), 三个提示词逐字保留,只把 .pi/ 路径改成 dsh 的 .dsh/ 约定。

✨ 功能

  • 📝 从 git 历史生成发布说明 —— /release-notes <version|from..to> 解析 GitHub Release、PR 与提交,写出公开文案
  • 🔍 预览未发布改动 —— /unreleased 审计最近一个 tag 以来的合并 PR,不创建 tag、release、commit、分支或文件
  • 🎨 仓库专属文风 —— /setup-release-notes-style 生成 .dsh/release-notes-style.md,让发布说明贴合你的产品受众与语气
  • 🔒 隐私安全 —— 公开文案排除链接、PR 号、commit 哈希、私有 URL 与内部备注;来源审计单独写进 .dsh/tmp/,不进公开文件
  • 🧭 来源优先级明确 —— Public summaryContext → Release body → PR title → commit message,逐级回退

📸 效果

在任意有真实提交历史的仓库里(示意输出,格式与上游提示词一致;以 deepseek-harness 的提交为例):

> /unreleased

Unreleased preview since 0.1.0-rc.4

Release recommendation: yes
Public candidates: 10
Internal/skipped: 12
Needs cleanup: 3

## Public candidates

- 移除首次启动的全屏 beta 提示,遥测保持默认关闭
  Source: #2470 feat/remove-beta-notice
- 统一 Web UI 引导弹窗流程
  Source: #2503 agent/onboarding-modal-flow
- Web UI 新增英文引导文案
  Source: #2512 codex/2503-english-onboarding-copy
- …

📦 安装

本包尚未发布到 npm,用 GitHub 源安装:

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

安装时会通过 prepare 脚本自动构建 dist/。若 pnpm 拦下构建步骤,在 profile 的 pnpm-workspace.yaml 里把本包加进 allowBuilds

从本地目录安装(需要先自行构建):

git clone https://github.com/GongYuanCaiJi/dsh-changelog.git
cd dsh-changelog && npm install        # 触发 prepare,产出 dist/
dsh plugin --profile <你的 profile> add ../dsh-changelog

🚀 用法

/unreleased                        # 预览最近一个 tag 以来的发布候选
/release-notes 1.2.3               # 生成 1.2.3 的发布说明(写入 release-notes/1.2.3.md)
/release-notes 1.2.0..1.2.3        # 生成一个版本区间的发布说明
/setup-release-notes-style [笔记]   # 创建或精炼 .dsh/release-notes-style.md
  • /unreleased/release-notes 需要已认证的 GitHub CLIgh auth login
  • /release-notes 会创建或覆盖其输出文件,.dsh/tmp/ 应保持 gitignore 且不发布

<details> <summary>移植说明(对上游 <code>@noice-tech/pi-changelog@1.3.0</code>)</summary>

逐字保留: 三个提示词文件(prompts/release-notes.mdsetup-release-notes-style.mdunreleased.md)。 其中 unreleased.md 与上游逐字相同(cmp 可验);另外两个只改了路径引用 —— 把 Pi 的状态目录约定 .pi/ 换成 dsh 的 .dsh/(例如 .dsh/tmp/pi-changelog/release-notes-sources/.dsh/release-notes-style.md)。这一点你可以自己验 —— [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md) 钉住了上游 tarball 的 integrity / shasum 与逐字文件的 SHA-256,附可直接复制的比对命令。

适配层(新增,上游无对应物): 入口改为 Cordis namespace 形状;三个提示词注册为 commands 服务上的 slash 命令;命令触发时把提示词原文($ARGUMENTS 替换为你的输入)经 agent.followup 交给 agent 执行。 /commit/commit-config 属于上游打包依赖 @noice-tech/pi-commit (独立包,另售),不在本移植范围内。

已知限制: agent 收到的提示词是英文的 —— 那是上游原文,逐字保留未做翻译。

</details>

🛠 开发

npm install      # 触发 prepare,产出 dist/
npm test         # 构建后跑单元测试(node --test)

端到端验收(用一次性 profile,用完删除):

P=verify-$(date +%s)-$$
dsh plugin --profile "$P" add .
dsh --profile "$P"

📄 License

MIT。上游 @noice-tech/pi-changelog Copyright (c) 2026 Noice Tech,本移植 Copyright (c) 2026 GongYuanCaiJi。见 [LICENSE](./LICENSE)。

感谢 noice-tech/noice-pi 的原作者 —— 如果这个插件对你有用,也请去给上游仓库点个 star

---

English

![License](./LICENSE) ![DSH](https://github.com/deepseek-ai/deepseek-harness) ![Port of](https://www.npmjs.com/package/@noice-tech/pi-changelog)

> One line: type /unreleased to preview unreleased changes, or /release-notes <version> to generate release notes from git history — public copy and private source audit are written separately, so sensitive details never leak into the public file.

A port of @noice-tech/pi-changelog (MIT, 1.3.0) to DeepSeek Harness. The three upstream prompts are kept verbatim; only the .pi/ path convention was changed to dsh's .dsh/.

✨ Features

  • 📝 Release notes from git history/release-notes <version|from..to> inspects GitHub releases, PRs, and commits, then writes public copy
  • 🔍 Preview unreleased changes/unreleased audits merged PRs since the latest tag without creating tags, releases, commits, branches, or files
  • 🎨 Repo-specific voice/setup-release-notes-style writes .dsh/release-notes-style.md so notes match your product's audience and tone
  • 🔒 Privacy-safe — public copy excludes links, PR numbers, commit hashes, private URLs, and internal notes; the source audit goes to .dsh/tmp/ only
  • 🧭 Explicit source priorityPublic summaryContext → Release body → PR title → commit message

📸 Effect

In any repo with real commit history (illustrative output, format per the upstream prompt; example commits from deepseek-harness):

> /unreleased

Unreleased preview since 0.1.0-rc.4

Release recommendation: yes
Public candidates: 10
Internal/skipped: 12
Needs cleanup: 3

## Public candidates

- Remove the full-screen beta notice on first launch; telemetry stays off by default
  Source: #2470 feat/remove-beta-notice
- Unify web UI onboarding dialogs
  Source: #2503 agent/onboarding-modal-flow
- Add English onboarding copy to the web UI
  Source: #2512 codex/2503-english-onboarding-copy
- …

📦 Install

This package is not on npm yet — install from GitHub:

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

The prepare script builds dist/ during installation. If pnpm blocks the build step, add this package to allowBuilds in the profile's pnpm-workspace.yaml.

From a local checkout (build it first):

git clone https://github.com/GongYuanCaiJi/dsh-changelog.git
cd dsh-changelog && npm install        # runs prepare, produces dist/
dsh plugin --profile <your-profile> add ../dsh-changelog

🚀 Usage

/unreleased                        # preview release candidates since the latest tag
/release-notes 1.2.3               # write release notes for 1.2.3 (release-notes/1.2.3.md)
/release-notes 1.2.0..1.2.3        # write release notes for a range
/setup-release-notes-style [notes] # create or refine .dsh/release-notes-style.md
  • /unreleased and /release-notes require an authenticated GitHub CLI (gh auth login)
  • /release-notes creates or overwrites its output files; keep .dsh/tmp/ ignored and unpublished

<details> <summary>Port notes (vs upstream <code>@noice-tech/pi-changelog@1.3.0</code>)</summary>

Kept verbatim: the three prompt files (prompts/release-notes.md, setup-release-notes-style.md, unreleased.md). unreleased.md is byte-identical to upstream (verify with cmp); the other two change only path references — Pi's state-dir convention .pi/ becomes dsh's .dsh/ (e.g. .dsh/tmp/pi-changelog/release-notes-sources/ and .dsh/release-notes-style.md). You can verify this yourself — [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md) pins the upstream tarball's integrity / shasum and the byte-identical files' SHA-256, with copy-paste comparison commands.

Adapter (new, no upstream counterpart): Cordis namespace entry; the three prompts are registered as slash commands on the commands service; invoking a command delivers the prompt text ($ARGUMENTS substituted with your input) to the agent via agent.followup. /commit and /commit-config belong to the upstream's bundled dependency @noice-tech/pi-commit (a separate package) and are out of scope for this port.

Known limitation: the prompts the agent receives are in English — that is upstream text, kept verbatim and untranslated.

</details>

🛠 Development

npm install      # runs prepare, produces dist/
npm test         # build + unit tests (node --test)

End-to-end acceptance (disposable profile, deleted after use):

P=verify-$(date +%s)-$$
dsh plugin --profile "$P" add .
dsh --profile "$P"

📄 License

MIT. Upstream @noice-tech/pi-changelog Copyright (c) 2026 Noice Tech; this port Copyright (c) 2026 GongYuanCaiJi. See [LICENSE](./LICENSE).

Thanks to the authors of noice-tech/noice-pi — if this plugin is useful to you, please also star the upstream repository.