前言¶
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_surveyarchitecture_reuse_searchlocal_code_reuse_searchgithub_reference_searchgithub_repo_referencegitlab_reference_searchgitee_reference_searchnpm_reference_searchreuse_value_assessmentcode_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