dsh-code-reference

DSH PLUGIN记忆与知识

仓库 victorzhong0110/dsh-code-reference · npm dsh-code-reference

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH 代码参考检索与复用调查插件:开发前检索本地代码库与 GitHub/npm 开源项目,评估复用价值并询问用户,支持架构级复用。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 1
最近更新 2026-09-20 创建于 2026-08-14
README 13.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:victorzhong0110/dsh-code-reference#v4.3.0
兼容 DSH 版本0.2.0-rc.2 等 10 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-code-reference可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-code-reference:DeepSeek Harness 的代码复用调查插件

  • 本地代码库检索
  • 开源项目检索
  • 复用价值评估
  • 架构级复用
  • 询问用户决策

适用场景

GitHub 集成联网搜索文件读写

上游标签

agent-toolsai-codingcode-referencecode-reusedeepseek-harnessdshdsh-pluginllm-agentsopen-sourcereuse

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方victorzhong0110仓库 dsh-code-reference · 默认分支 main
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 1收录时的数值,非实时
创建 / 更新2026-08-14 · 2026-09-20最后推送 2026-09-20
本站收录2026-08-19首次进入本站目录的时间

README 全文

13.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-code-reference

DeepSeek Harness (DSH) 代码参考检索与工程规范插件:在厘清需求之后自动调查本地与开源的可复用代码,把"候选清单 + 价值权衡"呈现给用户并询问是否需要复用(可选择复用哪个候选/改造/不复用直接开发);也支持配置为不询问、直接优先复用。

除"内容级"复用(相似的函数/组件/项目)外,还支持架构骨架候选(常称「架构级复用」):用能力标签重叠扫描本地业务目录,提出「或许能当骨架」的候选。不是自动证明架构等价——是否采纳必须人工确认。

> 定位:候选发现器,不是自动决策器。 所有匹配度与架构相似度均为关键词/文件名/能力标签重叠的启发式信号,用于生成候选清单供用户选择;数据模型、边界与非功能需求兼容性必须由人工确认。

核心工作流

用户提出开发需求(新组件 / 新项目 / 大型重构)
→ 澄清需求(范围/语言/约束)
→ reuse_survey:自动调查(本地代码库 + 本地系统架构画像 + GitHub 等开源平台)并评估价值权衡
→ 向用户呈现候选清单 + 价值对比,询问是否复用
(用户选择:以本地系统为骨架 / 复用某个本地候选 / 复用某个开源项目 / 改造 / 直接开发)
→ 按用户选择执行(复用 → 改造 → 引入依赖 → 从零实现)
  • 小任务豁免(模型工作流规则):改单个按钮、修复空指针/拼写缺陷、变量重命名等小型改动(预估 <50 行且不引入新组件/新项目)不触发调查与询问,直接修改;需要程序化强制跳过时给 reuse_survey 传 scope=&quot;skip&quot;(返回 mode=&quot;minor-skip&quot;,不调查不询问)
  • 默认询问:reuse_survey 调查后弹出选项(系统骨架 / 本地候选 / 开源候选 / 不复用直接开发),用户决定
  • 可选不询问:公司政策文件配置 &quot;reuseMode&quot;: &quot;auto&quot;(或工具传 ask=false),跳过询问直接采用评估推荐(优先复用)
  • 不做强制拦截:系统不会阻止写文件,复用与否由用户与模型协商决定

工具清单

工具 用途
reuse_survey 主流程:调查(本地文件 + 本地系统架构 + 开源)→ 价值权衡 → 询问用户是否复用(或 auto 模式直接决策)
architecture_reuse_search 架构级复用:提取需求业务能力标签(15 类),扫描本地系统画像(能力矩阵/规模/语言),按架构相似度排序输出
local_code_reuse_search 本地代码库(公司/项目)中检索可复用的函数/类/组件/模块
github_reference_search GitHub 仓库检索(star 排序、许可证、README)
github_repo_reference GitHub 仓库元数据 + README + 关键文件
gitlab_reference_search GitLab.com 项目检索
gitee_reference_search Gitee(码云)仓库检索
npm_reference_search npm 包检索(依赖选型)
reuse_value_assessment 独立的价值评估:复用 vs 从零实现的成本对比决策
code_architecture_review 架构自检:循环依赖/超大模块/扇入扇出热点

架构级复用(v4 新增)

  • 15 类业务能力词典(中英文关键词):检索与索引 / 元数据与分类 / 用户与权限 / 审批与流程 / 导入导出与批处理 / 报表与统计 / 审计与日志 / 文档与存储 / 资源与借还 / 订单与交易 / 通知与消息 / API 与服务化 / 任务与待办 / 组织与机构 / 管理后台
  • 系统画像:扫描 root 下每个顶层业务目录,生成能力矩阵、文件数、行数、语言
  • 相似度 = 需求能力标签与系统能力标签的重叠比例,仅为候选信号;reuse_survey 将相似度 ≥60 的系统列为骨架候选,是否采纳需人工确认
  • 选定骨架后建议用 code_architecture_review 检查该系统依赖结构是否健康

复用价值判断标准

只有当复用的总成本(改造工作量 + 质量风险 + 集成成本)显著低于从零实现时才复用:

  • 量化维度:需求匹配度(0-100,内容 70% + 名称 30%)、代码规模/复杂度、注释比、测试覆盖信号、维护活跃度、许可证、star
  • 决策四档:reuse(直接复用)/ adapt(改造复用)/ dependency(引入依赖)/ rewrite(自制)
  • 阈值可调:reuseThreshold(默认70) / adaptThreshold(默认40) / remoteThreshold(默认50) / smallLines(300) / mediumLines(800) / maxComplexityPercent(12)

公司政策(.code-reference-policy.json)

自动查找顺序:显式 policyPath → 工作区根 → 本地候选目录向上 3 层。支持字段:

{
&quot;allowedLicenses&quot;: [&quot;MIT&quot;, &quot;Apache-2.0&quot;, &quot;BSD-2-Clause&quot;, &quot;BSD-3-Clause&quot;, &quot;ISC&quot;, &quot;MPL-2.0&quot;, &quot;Unlicense&quot;, &quot;0BSD&quot;],
&quot;blockedLanguages&quot;: [],
&quot;requireTests&quot;: false,
&quot;minCommentRatio&quot;: 0,
&quot;reuseMode&quot;: &quot;ask&quot;,
&quot;remoteSearch&quot;: true
}
  • reuseMode: &quot;ask&quot;(默认):调查后询问用户;&quot;auto&quot;:不询问,直接采用评估推荐决策(优先复用)
  • remoteSearch: true(默认):reuse_survey 同时检索 GitHub/npm(会把需求关键词发往对应平台);企业设 false 则只做本地调查
  • 政策检查进入评估:许可证不在白名单 → 排除依赖;许可证未知 → 默认阻断(已配置白名单时,未知许可证无法确认合规,必须人工确认后才能放行,绝不显示"已通过");语言在黑名单 → 候选不可用;要求测试但候选无测试 → 复用降级为"改造 + 补测试"

部署级政策(可信上限)

工作区自带的 .code-reference-policy.json 属于仓库内容,不可信:任何仓库都能往里面写 &quot;reuseMode&quot;: &quot;auto&quot; 或 &quot;remoteSearch&quot;: true。企业强制政策应通过部署级配置注入:

export DSH_CODE_REFERENCE_POLICY=/etc/dsh/code-reference-policy.json   # 部署级可信政策(JSON 文件路径)

部署级政策是不可放宽的上限,工作区政策只能收紧:

字段 合并规则
allowedLicenses 取交集(工作区不能扩大白名单)
blockedLanguages 取并集
requireTests 任一为 true 即 true
minCommentRatio 取最大值
reuseMode 任一为 ask 即 ask(工作区不能改成 auto)
remoteSearch 任一为 false 即 false(工作区不能打开外发)

部署级文件缺失或无法读取时,评估结果会给出明确提示(不静默降级)。未配置部署级政策时,行为与旧版一致(工作区政策直接生效)。

企业环境建议配置

仓库附带企业模板 .code-reference-policy.enterprise.json,复制为 .code-reference-policy.json 即可:

{
&quot;allowedLicenses&quot;: [&quot;MIT&quot;, &quot;Apache-2.0&quot;, &quot;BSD-2-Clause&quot;, &quot;BSD-3-Clause&quot;, &quot;ISC&quot;, &quot;MPL-2.0&quot;, &quot;Unlicense&quot;, &quot;0BSD&quot;],
&quot;blockedLanguages&quot;: [],
&quot;requireTests&quot;: true,
&quot;minCommentRatio&quot;: 0,
&quot;reuseMode&quot;: &quot;ask&quot;,
&quot;remoteSearch&quot;: false
}

配套实践:不要用 reuseMode: &quot;auto&quot;;把扫描根目录严格限定在当前仓库;只把它当"候选发现器",不信任绝对评分;企业环境请同时配置 DSH_CODE_REFERENCE_POLICY 部署级政策,且该文件只允许部署管理员修改。

GitHub API 限流与 Token

未认证的 GitHub 搜索 API 约 10 次/分钟。设置环境变量可显著提高配额(5000 次/小时):

export DSH_GITHUB_TOKEN=ghp_xxxxxxxx        # 或 GITHUB_TOKEN

插件会自动在 api.github.com 请求上附加 Authorization: Bearer,不会附加给 npm 等其他域名。Token 请勿写入政策文件或提交进 git(参见 SECURITY.md 威胁模型)。

测试与 CI

  • 单元测试:node --test test/core.test.mjs test/decision.test.mjs(67 个用例,node:test 零依赖)——core:纯函数、扫描边界(SKIP_DIRS/大小/fileBudget/扩展名)、远程 API mock(Token 携带与隔离、多档重试、端到端评估);decision:政策优先级(reuseMode/remoteSearch)、询问超时、no-candidates、auto-fallback、用户选择映射、scope=&quot;skip&quot; 程序化豁免、宿主加载冒烟
  • CI:GitHub Actions(Node 20/22,actions 按 commit SHA 固定)自动运行语法检查 + 单测 + 政策 JSON 校验

安装

一键安装(dsh plugin add,推荐新用户)

本仓库声明了 dsh.bundle manifest,可用 DSH 官方插件机制安装(任何目录下):

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

卸载:dsh plugin --profile web remove dsh-code-reference。也可通过 dsh-market 插件市场一键安装。

固定版本(推荐)

永远不要跟随 main 分支。固定到正式 Release 的 tag(带附件 plugins/*.mjs + SHA256SUMS):

# 方式 A:tag(如 v4.3.0)
git clone --branch v4.3.0 --depth 1 https://github.com/victorzhong0110/dsh-code-reference.git

# 方式 B:固定 commit
git clone https://github.com/victorzhong0110/dsh-code-reference.git
cd dsh-code-reference &amp;&amp; git checkout

校验文件完整性(仓库根目录 SHA256SUMS 或 Release 附件):

shasum -a 256 -c SHA256SUMS

部署级(推荐:所有会话 + 重启后持久生效)

  1. 把 plugins/ 下三个 .mjs 文件放到任意目录(如 ~/.dsh/plugins/code-reference/)
  2. 在 DSH 配置的 patch 层(如 ~/.dsh/profiles/web/cordis.patch.yml)追加:
- insert:
- id: code-ref-core
name: /绝对路径/core.mjs
- id: code-ref-tools
name: /绝对路径/tools.mjs
- id: code-ref-decision
name: /绝对路径/decision.mjs
  1. 重启 DSH,所有会话自动获得工具与复用调查流程

动态级(临时,重启失效)

在会话中用 cordis_define / cordis_run 加载本插件的 host 代码(适用于调试;部署后请勿同时运行,避免工具重名)。

架构(拆分为三个小插件,通过 codeRef 服务协作)

插件 职责 文件
code-ref-core 共享服务(HTTP 请求、本地扫描、系统画像与架构相似度、候选评估、政策、决策引擎;v4.1 起为依赖注入工厂 + 顶层纯函数,可单测) plugins/core.mjs
code-ref-tools 7 个检索/架构工具 + 架构自检 plugins/tools.mjs
code-ref-decision 复用价值评估 + 复用调查询问(含系统骨架候选)+ 工程规范提示词 plugins/decision.mjs

注意事项

  • 隐私:远程搜索会把需求关键词发往 GitHub/npm;本地扫描受 root 限制并跳过 node_modules/.git/dist/vendor/tests/site-packages 等目录。本地源文件不会发送给任何检索平台;命中路径、最长 160 字符的代码片段及系统画像会进入当前 Agent/模型上下文(详见 SECURITY.md 威胁模型)
  • 远程检索结果为第三方开源项目,复用必须遵守其许可证(license 字段)
  • 询问等待上限 90 秒(无真人应答的上下文会自动跳过询问并采用推荐决策)
  • reuse_survey 返回 answer.status=&quot;unanswered&quot;(未回答/超时)时,模型不得开始写代码,须先报告调查结果等待用户决定

反馈与贡献

当前状态:beta(可用于内部试点)。距离稳定 GA 主要差真实 DSH 环境长期端到端验证与更多实际项目反馈;不要把社区 Awesome 徽章理解成生产认证。

欢迎任何反馈:试用问题、兼容性报告、新平台/新语言支持需求、架构复用场景案例。请发送邮件至 [email protected],或在 GitHub Issues 中提出。

许可证

MIT

成本与预算(面试可讲)

reuse_survey 成功返回里带 costEstimate 字段(面试可指着 JSON 讲):

字段 含义
localFileBudget 本地文件扫描上限(survey 路径默认 1200)
localTimeBudgetMs 本地扫描墙钟上限(默认 15000)
systemProfileTimeBudgetMs 系统画像扫描上限(默认 15000)
remoteSearch 本次是否发远程检索
remoteKeywordBatches 远程关键词批次数上界(有远程时)

最坏情况口述: 本地扫满 file/time cap +(若开启远程)有限次平台检索;企业模板默认 remoteSearch: false 时远程为 0。这是 cap 叙事,不是美元账单。

代码侧已有扫描上限(可在工具/budget 参数收紧):

  • fileBudget — 单次扫描最多触达的文件数
  • timeBudgetMs — 扫描墙钟预算;系统画像默认约 20s 量级可调
  • 远程 — 未认证检索有速率限制;配置 DSH_GITHUB_TOKEN 可提高配额;token 只附加到 api.github.com
  • 模型上下文 — 命中路径与短片段会进入当前 Agent 上下文(本地源文件不上传检索平台)

最坏情况口述:reuse_survey 在开启远程时 ≈ 本地扫描至 file/time cap + 有限次远程搜索;企业模板默认关闭远程,把外发关死。

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-code-reference 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:victorzhong0110/dsh-code-reference#v4.3.0` 即可。对应的 npm 包名是 `dsh-code-reference`。

dsh-code-reference 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-code-reference 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-code-reference 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-code-reference 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-code-reference 有哪些功能?

本地代码库检索、开源项目检索、复用价值评估、架构级复用、询问用户决策。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

victorzhong0110 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。