dsh-watcher: DeepSeek Harness 插件 API 变更自动比对与影响分析工具

前言

DeepSeek Harness (DSH) 处于高频迭代期,插件 API 经常发生破坏性变更。官方通常不维护 CHANGELOG.md,社区 Discussions 中的说明依赖人工撰写,存在覆盖不全和滞后的问题。

dsh-watcher 是一个 API 面自动比对引擎,用于升级前一条命令看清依赖的 API 与配置字段是否变更、变更范围及具体影响。它以官方仓库的 git 历史和 docs/cordis-api / docs/subsystems 文档层作为事实源,提供 AST 级别的差异分析。

核心功能

dsh-watcher 提供以下核心能力:
* AST-level breaking-change diff:对插件 API 面进行语法级别的破坏性变更检测。
* Plugin impact analysis:分析变更对你的插件源码产生的具体影响。
* Daily feedback radar:汇总官方 Discussions 和全站 issues/PR 的每日摘要。
* Agent skill:提供升级前比对的规程,Agent 可按规程执行。
* CI watch:支持 CI 环境,定期监控官方仓库并自动生成报告。

安装与启用

作为 DSH 插件安装,主进程入口会将随包的 skill 注册到 ctx.skills:

dsh plugin --profile web add github:2DogsLee/dsh-watcher

前置条件:
* 本地需要有 DeepSeek Harness 官方仓库的 checkout,路径需包含 docs/cordis-api 和 docs/subsystems。
* 本插件仅包含规程,实际运行的脚本需要克隆本仓库。

启用方式:
安装后重启 DSH。当需要升级 DSH 或插件报接口错误时,Agent 可按规程先运行比对再修改代码。

典型用法

  1. 配置官方仓库路径(一次性配置):
    $env:DSH_CHECKOUT = "D:\path\to\deepseek-harness-checkout"
  1. 执行版本比对:
    ./scripts/diff-api.ps1 -From dsh-v0.1.7-rc.2 -To dsh-v0.2.0-rc.2
  1. 查看报告:
    • 人类阅读:archive/0.1.7-rc.2_to_0.2.0-rc.2/report.md
    • 机器读取:archive/0.1.7-rc.2_to_0.2.0-rc.2/report.json

破坏性判定启发式

当前采用保守启发式规则,宁报 warning 不漏报 breaking。主要判定信号如下:

信号 级别
包被删除 / 从 workspace 移除 breaking
导出符号被删除 breaking
docs/cordis-api / docs/subsystems 文档删除或改名 breaking
插件配置字段被删除 / 配置包从 config-catalog 移除 breaking
settings schema 字段删除/改名 breaking
官方新增 upgrade-guide 条目 warning
文档大改(>30% 行变化) warning
exports map / 包级变化需人工确认 warning
新增包/导出/文档/配置字段 info

注意事项

  • 保守策略:该工具旨在减少漏报,因此可能会产生部分误报。如遇误报,建议通过提 issue 反馈以收紧规则。
  • 环境要求:比对与扫描脚本需要完整克隆本仓库,Skill 仅包含规程说明。
  • 许可证:MIT License。
羽毛球分组比赛记分
小程序二维码

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

小夜