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