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_surveyscope=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.statusunanswered(未回答/超时)时,模型不得开始写代码,须先报告调查结果等待用户决定。

决策规则

  • 许可证未知默认阻断。
  • 许可证不在白名单则排除依赖。
  • 语言在黑名单则候选不可用。
  • 要求测试但候选无测试,则复用降级为改造 + 补测试。

当前状态

当前是可靠的 beta,可用于企业内部试点。距离稳定 GA,主要差真实 DSH 环境端到端测试、长期兼容性验证和更多实际项目反馈。

结尾

dsh-code-reference 的价值,是把“要不要复用”从临场判断变成一套可解释的流程:先调查本地与开源候选,再评估价值权衡,最后由用户决定复用、改造或直接开发。

目录页:已核实事实未提供可确认链接,建议以社区目录或仓库实际发布为准。
GitHub:https://github.com/victorzhong0110/dsh-code-reference

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

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

Xiaoye