智能体开发者经常面临发版时重建变更说明的困境:队友错过 breaking change,用户不知道该不该升级,而开发者在六周后重建“这版到底改了啥”。Commit message 服务代码,而 changelog 服务被代码改变了生活的人。如果等到发版时凭记忆补写,记忆早已模糊哪些改动要紧。changelog-capture 插件旨在解决这个问题,它要求在代码变更发生时,以结构化的方式记录面向用户的条目。
是什么¶
这是一个工作流插件,位于 chenneyzhuang/changelog-capture,维护者为 ChenneyZhuang。它的核心功能是在代码 diff 还在手边时,捕获面向用户的条目。条目采用“Who/What/How to upgrade”的格式,明确区分 Added/Changed/Fixed/Breaking,并在发布时与实际 diff 进行验证,确保日志不会声称代码未做的事情。
安装与启用¶
使用以下命令安装插件:
npx skills add ChenneyZhuang/changelog-capture
安装后,该插件会随当前 DSH 进程运行。各 agent 的具体兼容性路径请参考项目中的 COMPATIBILITY.md 文件。
核心功能¶
- 变更时捕获:在 diff 还在手边时记录,避免遗忘。
- 用户可见条目:条目结构固定为 Who(受影响的用户)、What(行为描述)、How to upgrade(升级操作)。
- 分类明确:将变更分为 Added、Changed、Fixed 和 Breaking 四类。Breaking 变更必须置于列表顶部。
- 验证机制:在发布时,每个条目需与实际 diff 进行核对。
- 去噪:只有当变更影响用户行为时才记录,内部重构若无外部可见差异则不记录。
典型用法¶
插件要求条目采用特定的格式。例如,对于 CSV 导入功能的变更:
### Changed — CSV import now maps date columns automatically (was: manual mapping)
Who: everyone importing CSV exports from other tools
Upgrade: re-run the import preview once; check the mapped dates before confirming
适用场景与注意¶
该插件适合需要维护清晰用户可见变更记录的项目。
在使用前,请务必检查源码与许可证(MIT)。插件以当前 dsh 进程权限运行,其 diff 对账的完整性取决于 git 历史的完整性。对于被 squash 或 amend 的历史,需要真正的变更清单。此外,“User-facing”的判断是主观的,内部 API 变更若未影响 SDK 用户,可能暂时无条目,直到被报告。
总结¶
通过在变更发生时即时记录,该插件将发版说明的生成成本降至最低,避免了六周后重建变更历史的混乱。更多细节与源码,请访问插件目录或 GitHub 仓库。