dsh-code-reference:DSH 代碼參考檢索與複用調查插件

前言

DSH(DeepSeek Harness)走“一切皆插件”的路線,社區目錄是獨立站點,不與 DeepSeek / 幻方構成官方從屬關係。做需求澄清之後,模型有時會直接進入寫代碼階段。dsh-code-reference 想在這一步前插入一個調查動作:先查看本地代碼、本地系統畫像和開源平臺中的可複用候選,再向用戶呈現候選清單與價值權衡,由用戶決定是複用、改造,還是直接開發。

這是什麼

dsh-code-reference 是 DeepSeek Harness(DSH)的代碼參考檢索與工程規範插件,維護者爲 victorzhong0110,許可證爲 MIT。

它不是自動決策器,而是候選發現器:匹配度和架構相似度只作爲啓發式候選信號,用於生成候選清單。數據模型、邊界與非功能需求兼容性,仍需人工確認。

該插件拆分爲 code-ref-core、code-ref-tools、code-ref-decision 三個小插件,通過 codeRef 服務協作。當前狀態是可靠的 beta,可用於企業內部試點;距離穩定 GA,主要還差真實 DSH 環境端到端測試、長期兼容性驗證和更多實際項目反饋。

核心功能

複用調查

在釐清需求之後,插件會調查本地與開源的可複用代碼,並把候選清單和價值權衡呈現給用戶,同時詢問是否需要複用。用戶可以選擇複用某個候選、改造,或不復用直接開發。也可以配置爲不詢問、直接優先複用。

架構級複用

插件支持架構級複用:掃描本地已有業務系統,判斷新系統整體架構能否直接複用。它使用 15 類業務能力詞典與本地系統畫像做相似度排序。reuse_survey 會把相似度 ≥60 的本地系統列爲骨架候選;是否採納,需要人工確認。

工具

插件提供以下工具:

  • reuse_survey
  • architecture_reuse_search
  • local_code_reuse_search
  • github_reference_search
  • github_repo_reference
  • gitlab_reference_search
  • gitee_reference_search
  • npm_reference_search
  • reuse_value_assessment
  • code_architecture_review

複用價值決策

複用價值決策分爲四檔:

  • reuse:直接複用
  • adapt:改造複用
  • dependency:引入依賴
  • rewrite:從零實現

插件會基於複用總成本是否低於從零實現,給出候選評估。

遠程檢索

插件支持 GitHub、npm、GitLab.com、Gitee 遠程檢索與依賴選型。

政策約束

插件支持工作區公司政策和部署級政策:

  • 工作區政策:.code-reference-policy.json
  • 部署級政策:DSH_CODE_REFERENCE_POLICY

工作區 .code-reference-policy.json 屬於倉庫內容,不可信。部署級政策 DSH_CODE_REFERENCE_POLICY 是不可放寬的上限,工作區政策只能收緊。

安裝與啓用

固定版本安裝

安裝時不要跟隨 main 分支,建議固定到正式 Release 的 tag 或 commit。下面的示例安裝固定到 v4.2.1:

git clone --branch v4.2.1 --depth 1 https://github.com/victorzhong0110/dsh-code-reference.git
dsh plugin --profile web add ./dsh-code-reference

第一條命令下載固定版本的倉庫,第二條命令把本地插件目錄添加到 DSH web profile。

校驗文件完整性

在倉庫根目錄執行以下命令,校驗文件完整性:

shasum -a 256 -c SHA256SUMS

提高 GitHub API 配額

未認證的 GitHub 搜索 API 約 10 次/分鐘。設置環境變量可提高配額:

export DSH_GITHUB_TOKEN=ghp_xxxxxxxx
# 或
export GITHUB_TOKEN=ghp_xxxxxxxx

Token 用於提高 GitHub 搜索配額,不會附加給 npm 等其他域名。請勿把 Token 寫入政策文件,也不要提交進 git。

運行單元測試

在倉庫內運行以下命令:

node --test test/core.test.mjs test/decision.test.mjs

典型用法

小任務直接修改

改單個按鈕、修復空指針或拼寫缺陷、變量重命名等小型改動,如果預估 <50 行且不引入新組件/新項目,可以不觸發調查與詢問,直接修改。

程序化跳過調查

需要程序化強制跳過時,給 reuse_survey 傳 scope=skip,返回 mode=minor-skip,不調查不詢問:

reuse_survey: scope="skip"

默認詢問

reuse_survey 調查後,會呈現系統骨架、本地候選、開源候選、不復用直接開發等選項,由用戶決定。

不詢問模式

可以把公司政策配置爲不詢問、直接優先複用:

reuseMode: "auto"

也可以給工具傳 ask=false,跳過詢問直接採用評估推薦:

reuse_survey: ask=false

架構骨架候選

reuse_survey 會把相似度 ≥60 的本地系統列爲骨架候選。選定骨架後,仍需確認數據模型、邊界與非功能需求兼容性。

適用場景與注意

適合誰

  • 企業內部已有本地代碼庫或業務系統,希望在 DSH 會話中先做複用調查。
  • 需要同時查看 GitHub、npm、GitLab.com、Gitee 的開源候選。
  • 需要以政策約束許可證、語言、測試要求、遠程檢索行爲。

安全與邊界

  • 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證,固定版本並校驗文件完整性。
  • 遠程檢索結果爲第三方開源項目,複用必須遵守其許可證。
  • 遠程搜索會把需求關鍵詞發往 GitHub/npm;本地源文件不會發送給任何檢索平臺,但命中路徑、最長 160 字符的代碼片段及系統畫像會進入當前 Agent/模型上下文。
  • 系統不做強制攔截,不會阻止寫文件;複用與否由用戶與模型協商決定。
  • 詢問等待上限爲 90 秒。reuse_survey 返回 answer.status 爲 unanswered(未回答/超時)時,模型不得開始寫代碼,須先報告調查結果等待用戶決定。

決策規則

  • 許可證未知默認阻斷。
  • 許可證不在白名單則排除依賴。
  • 語言在黑名單則候選不可用。
  • 要求測試但候選無測試,則複用降級爲改造 + 補測試。

當前狀態

當前是可靠的 beta,可用於企業內部試點。距離穩定 GA,主要差真實 DSH 環境端到端測試、長期兼容性驗證和更多實際項目反饋。

結尾

dsh-code-reference 的價值,是把“要不要複用”從臨場判斷變成一套可解釋的流程:先調查本地與開源候選,再評估價值權衡,最後由用戶決定複用、改造或直接開發。

目錄頁:已覈實事實未提供可確認鏈接,建議以社區目錄或倉庫實際發佈爲準。
GitHub:https://github.com/victorzhong0110/dsh-code-reference

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

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

小夜