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。
羽毛球分组比赛记分
小程序二维码

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

小夜