dsh-simplify:在改動範圍內審查和簡化代碼的 DSH 插件

前言

在 DSH(DeepSeek Harness)裏做本地編碼輔助時,一個常見訴求是:改完代碼後,只希望 agent 清理剛改過的部分,而不是順手重寫無關文件。

dsh-simplify 就是圍繞這個場景做的插件。它先通過 git diff 定位最近改動的文件和行號範圍,再讓 agent 在這個範圍內就清晰度、一致性與可維護性提出改進。

DSH 的插件生態強調「一切皆插件」,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。下面介紹 dsh-simplify 的定位、安裝和用法。

這是什麼

dsh-simplify 是一個 DeepSeek Harness 插件,由 GongYuanCaiJi 維護,許可證爲 MIT。

它移植自 pi-simplify。上游的提示詞與 git diff 解析邏輯逐字保留,只適配 DeepSeek Harness 的 API 差異。

它解決的核心問題是:改完代碼後,讓 agent 只審查最近改動的代碼,並在改動行範圍內做簡化或清理,不擴展到無關代碼。

核心功能

下面幾個能力決定了它的使用邊界。

1、只審查改動行。通過 git diff 定位改動的文件與行號範圍;agent 可以讀周圍代碼當背景,但編輯嚴格限制在改動行內。

2、支持四種範圍。未提交改動、已 staged、與任意 ref 比較、指定文件。

3、改後驗證。審查結束前會運行既有測試,確認沒有改壞。

4、遵循項目約定。自動遵循項目裏的 CLAUDE.md / AGENTS.md。

5、路徑參數安全。參數逐個 POSIX 單引號轉義,空白與引號文件名安全。

安裝與啓用

先確認你要安裝到的 DSH profile。安裝命令如下:

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

安裝時會通過 prepare 腳本自動構建 dist/。如果你的環境裏 pnpm 攔下構建步驟,需要在 profile 的 pnpm-workspace.yaml 裏把本包加進 allowBuilds。

運行環境要求:

  • engines 要求 node >=20
  • peerDependencies 要求 @deepseek-ai/cordis ^4.0.1
  • peerDependencies 要求 @deepseek-ai/dsh-llm ^0.1.0-rc.6

如果你從本地目錄安裝,需要先自行構建,再按 DSH 插件安裝流程添加該目錄。

典型用法

插件提供 /simplify 命令。下面按範圍說明:

/simplify                      # 審查所有未提交的改動
/simplify --staged             # 只審查已 staged 的改動
/simplify --ref=<ref>          # 與指定 ref 比較,例如 --ref=main、--ref=HEAD~3
/simplify <file...>            # 只審查指定文件

例如,審查與 main 的差異時,可以使用:

/simplify --ref=main

適用場景與注意

它比較適合本地改完代碼後做一輪受限審查:只看本次改動、只改本次改動行、審查結束前運行既有測試。

注意以下限制:

  • agent 收到的提示詞是英文的,這是上游原文,逐字保留未做翻譯。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • 審查結束前會運行既有測試,確認沒有改壞。

上游 pi-simplify 的版權爲 Copyright (c) 2026 Matt Devy,本移植的版權爲 Copyright (c) 2026 GongYuanCaiJi。

獲取鏈接

  • GitHub:https://github.com/GongYuanCaiJi/dsh-simplify
  • 社區目錄頁:https://www.skillhub.cn/plugins/GongYuanCaiJi/dsh-simplify

經過上面的安裝和配置,dsh-simplify 可以作爲一個局部、可驗證的改後審查入口,用在需要控制 agent 修改範圍的日常開發流程裏。

羽毛球分组比赛记分
小程序二维码

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

小夜