dsh-lens-lite:DeepSeek Harness 的編輯後診斷

前言

在 DSH 的智能體流程裏,write、edit 這類工具調用成功後,模型未必能立刻看到類型錯誤或 lint 問題。dsh-lens-lite 做的事情是把編輯後診斷接進 DSH:在受關注的工具調用成功後運行你配置的檢查器,並把檢查結果作爲 notice 形式的 plugin context 提供給模型。

這是什麼

dsh-lens-lite 是一個面向 DeepSeek Harness 的編輯後診斷插件。可確認的倉庫 owner 是 ben7am1n,許可證爲 MIT。

它不內置檢查器命令;哪些檢查器可用,取決於你本地工具鏈實際安裝了什麼。插件負責在合適的時機運行這些檢查器,並把結果作爲上下文帶回給模型。

核心行爲

dsh-lens-lite 的行爲邊界比較明確:

  • 只在受關注的工具調用成功後運行,默認監聽 write、edit、str_replace_editor。
  • 根據編輯文件的擴展名,併發運行所有聲明該擴展名的檢查器。
  • 如果所有檢查器都以配置的 clean code 退出且沒有輸出,不附加額外上下文。
  • 從不否決調用,也從不重寫調用。
  • 如果下游 listener 已經 blocked 這次調用,就跳過 linting。
  • 尊重工具調用的取消信號;檢查器自身超時時會終止其整個進程樹。
  • 檢查結果以 notice 形式的 plugin context 返回。

安裝與啓用

先安裝插件:

dsh plugin --profile web add dsh-lens-lite

安裝後,在 profile 的 cordis.patch.yml 中覆蓋插件行,改成你工具鏈實際可用的檢查器。

典型用法

資料中給出的示例映射如下:

tsc      .ts .tsx                   npx --no-install tsc --noEmit
eslint   .ts .tsx .js .jsx
ruff     .py
go-vet   .go

argv 支持佔位符:

{file}
{relFile}
{dir}

配置與故障表現

配置錯誤會在插件加載時直接失敗。資料中列出的加載期錯誤包括:

  • argv 爲空。
  • 檢查器未聲明擴展名。
  • 檢查器未讀取任何 stream。
  • 檢查器重名。
  • 非正數 bound。

環境失敗不會讓已經成功的編輯失敗,而是變成 finding:

checker unavailable
checker timed out after Nms
checker failed to start

成本與注意

整倉檢查器會在每次編輯時運行。例如 npx tsc --noEmit 在大倉庫中可能給每次 write 增加數秒耗時。

運行前需要確認 Node 版本滿足要求:

^22.19.0 || >=24.0.0

插件會以當前 dsh 進程權限運行。安裝前建議檢查源碼和 MIT 許可證。DSH 社區目錄是獨立站點,不是 DeepSeek 或幻方的官方應用商店。

本地開發

資料中給出的開發命令:

pnpm install --ignore-workspace
pnpm run typecheck
pnpm test
pnpm run build

鏈接

GitHub: https://github.com/ben7am1n/dsh-lens-lite
目錄頁:未在已覈實資料中給出,建議在 DSH 社區目錄檢索 dsh-lens-lite
羽毛球分组比赛记分
小程序二维码

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

小夜