🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

技能路由 lau4tin1/dsh-skill-router

DeepSeek Harness
lau4tin130 天前有提交已提供中文文档扫描:含敏感能力

按任务语义自动匹配并注入相关技能内容

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add lau4tin1/dsh-skill-router
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · skill
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 30 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
  • 写入本地文件
    src/skillIndex.ts:183
    await mkdir(dirname(file), { recursive: true });
  • 写入本地文件
    src/skillIndex.ts:185
    await writeFile(tmp, JSON.stringify(payload), 'utf8');
  • 写入本地文件
    src/skillIndex.ts:186
    await rename(tmp, file);
  • 读取本地文件
    src/skillIndex.ts:201
    text = await readFile(file, 'utf8');
扫描于 2026/11/1(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-skill
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按任务语义匹配技能
  • 自动注入技能内容

为 deepseek harness 自动路由技能

README

由 DeepSeek 最新模型翻译生成
欢迎使用 DSH-SKILL-ROUTER! dafeiyu 给 DeepSeek Harness 用的技能路由 RAG 风格的技能路由插件,用于 DeepSeek Harness:把技能(技能的 name + description + whenToUse 路由面)向量化,把每个用户任务也向量化,用基于间隔的筛选规则只留下明显相关的技能,再把它们的完整内容自动注入提示词——加载技能不需要模型往返一次。 - 设计:见 DESIGN.md。 - 状态:V1 已完成并跑通——能对着真实的 DSH 0.1.5-rc.2 类型通过类型检查,能构建,能挂载进运行中的 DSH 配置档(已在 web 和无头配置档中验证),并在真实技能上通过 20/24 条中英双语路由提示词(node demo/e2e.ts)。兼容 DSH 0.1.5-rc.2 到 0.2.0-rc.2(peer 范围 >=0.1.5-rc.2 <0.3.0-0);它用到的所有路由 API——ctx.skills.snapshot/get、skills/change、renderSkillContent、createUserMessage,以及 agent/pre-step 中间件——在 0.2.0-rc.2 中都没有变化。
展开完整文档(README 剩余 1 节)
欢迎使用 DSH-SKILL-ROUTER!

dafeiyu

给 DeepSeek Harness 用的技能路由

RAG 风格的技能路由插件,用于 DeepSeek Harness:把技能(技能的 name + description + whenToUse 路由面)向量化,把每个用户任务也向量化,用基于间隔的筛选规则只留下明显相关的技能,再把它们的完整内容自动注入提示词——加载技能不需要模型往返一次。

- 设计:见 DESIGN.md。
- 状态:V1 已完成并跑通——能对着真实的 DSH 0.1.5-rc.2 类型通过类型检查,能构建,能挂载进运行中的 DSH 配置档(已在 web 和无头配置档中验证),并在真实技能上通过 20/24 条中英双语路由提示词(node demo/e2e.ts)。兼容 DSH 0.1.5-rc.2 到 0.2.0-rc.2(peer 范围 >=0.1.5-rc.2 <0.3.0-0);它用到的所有路由 API——ctx.skills.snapshot/get、skills/change、renderSkillContent、createUserMessage,以及 agent/pre-step 中间件——在 0.2.0-rc.2 中都没有变化。

安装

dsh plugin --profile web add dsh-skill-router

装进 web 配置档;把 web 换成别的配置档名就能装到对应配置档。需要 dsh,并且 PATH 里有 pnpm。

pnpm 12 构建审批 —— 首次安装会拉取原生依赖(onnxruntime-node、sharp、protobufjs),它们的构建脚本默认被 pnpm 拦截。如果 dsh plugin 停在 ERR_PNPM_IGNORED_BUILDS,打开 $DSH_HOME/profiles/<name>/pnpm-workspace.yaml,把 pnpm 写进去的 allowBuilds 各项改成 true,再重新执行同一条 dsh plugin ... add 命令。

第一次跑真实任务时会下载一次嵌入模型(约 543MB,q8)到 $DSH_HOME/skill-router/models,之后完全离线运行。

目录结构

- src/index.ts —— Cordis 插件入口(name / inject / Config / apply)。
- src/selection.ts —— 筛选规则(最大间隔 / 与最大值之比,弱下限)。
- src/similarity.ts —— 余弦相似度 + 向量辅助函数(纯函数)。
- src/embedding.ts —— 通过 transformers.js(ONNX)接入的真实嵌入模型。
- src/skillIndex.ts —— 索引:构建、向量化、变更时按摘要差异同步。
- src/config.ts —— schemastery 配置 schema + 映射器。
- src/render.ts —— 渲染注入的 <system-reminder> 块(复用 DSH 的 renderSkillContent)。
- demo/e2e.ts —— 对下载下来的技能做端到端路由测试。

构建

npm install # toolchain (typescript, esbuild); DSH types come from a local checkout symlink
npm run typecheck # tsc --noEmit against the real DSH types
npm run build # esbuild -> lib/index.js (@deepseek-ai/* kept external)

演示

技能放在 .agents/skills/ —— 这是真实 DSH 会扫描的根目录(rank 200,见 DESIGN.md §14)。演示解析它们的方式和注册表暴露它们的方式一致:

node demo/e2e.ts # plugin defaults
node demo/e2e.ts 0.2 # experiment with the minScore floor

配置(默认值)

enabled: true
embedding:
model: Xenova/bge-m3 # optional; any HF ONNX embedding model
dtype: q8 # or fp32
cacheDir: ~/.dsh/skill-router # optional; models + index live here
rule: largest-gap # or ratio-to-max
minScore: 0.2 # confidence floor (precision > recall)
ratioThreshold: 0.75
maxSkills: 4

上面是插件的默认配置,也就是经典的 gap/ratio 模式。随包提供的 cordis.patch.yml 改用尺度无关的覆盖配置:minScore: 0.05 和 zThreshold: 2.5。

语言

中文和英文开箱即用——默认模型是多语言的,中文提示词能按语义匹配英文技能描述(反过来也一样),跨语言没问题。有一条 DSH 注册表规则要遵守:技能名称必须保持 kebab-case ASCII(pdf-tools),但 description、whenToUse 和正文可以用中文。注入的指令块是中英双语的(中文/English)。

嵌入模型

只有一个引擎:通过 transformers.js(ONNX)跑真正的本地模型——稠密语义向量;同义词和改写都能匹配,不要求字面重合。默认 Xenova/bge-m3(q8,约 543MB 下载,1024 维,[CLS] pooling)——中英双语旗舰级质量。想换别的,改 embedding.model:multilingual-e5-small(快,需要 query/passage 前缀——已自动处理)、bge-large-en-v1.5、bge-large-zh-v1.5。

打分时会对向量做去偏,减去语料均值(「中心化」),去掉那个共享方向——否则不相关的文本也会拿到约 0.8 分。推理固定单线程,保证结果确定。

所有重数据都放在工作目录之外:模型从 huggingface.co 一次性下载到 <cacheDir>/models,技能嵌入索引持久化在 <cacheDir>/skill-index.json(原子写入,带模型 id 标记),所以重启后没变过的技能不会重新嵌入。

开发说明

node_modules/@deepseek-ai 和 node_modules/js-yaml 是指向 DSH 检出目录的本地符号链接,用于类型检查和演示;全新安装后要重新创建。运行时由真实的 DSH 配置档提供 @deepseek-ai/* 包(它们声明为 peerDependencies,构建时保持外部依赖)。
预览分享卡片长什么样 ↓lau4tin1/dsh-skill-router
分享 · DeepSeek Harness Hub
lau4tin1/dsh-skill-router

按任务语义自动匹配并注入相关技能内容

回到顶部