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

智能路由 XHToken/dsh-intelligent-router

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

为 DeepSeek HarnessDSH提供智能 LLM 路由 ——…

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
L4 · 真实安装等级说明 →
数据截至 2026/10/21·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 4 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 23 条)
  • 读取本地文件
    scripts/doctor.mjs:10
    return JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    scripts/doctor.mjs:17
    if (existsSync(candidate)) return realpathSync(candidate)
  • 读取本地文件
    scripts/doctor.mjs:36
    const hostPath = existsSync(own) && manifest(own).name === '@deepseek-ai/dsh'
  • 读取本地文件
    scripts/compatibility.mjs:3
    export const policy = JSON.parse(readFileSync(new URL('../compatibility.json', import.meta.url), 'utf8'))
  • 发起网络请求
    src/llm-client.ts:107
    const response = await fetch(url, {
  • 发起网络请求
    src/llm-client.ts:234
    const response = await fetch(url, {
  • 发起网络请求
    src/llm-client.ts:274
    const response = await fetch(url, {
  • 读取本地文件
    scripts/e2e.mjs:32
    ?? JSON.parse(readFileSync(join(REPO, 'compatibility.json'), 'utf8')).recommendedHost
  • 执行外部命令来自配置/变量
    scripts/e2e.mjs:41
    const result = spawnSync(cmd, args, { encoding: 'utf8', ...options })
  • 发起网络请求
    scripts/e2e.mjs:61
    let resp = await fetch(url, { redirect: 'manual' })
  • 发起网络请求
    scripts/e2e.mjs:65
    resp = await fetch(new URL(resp.headers.get('location'), url).href, {
  • 写入本地文件
    scripts/e2e.mjs:76
    mkdirSync(shots, { recursive: true })
  • 删除本地文件递归
    scripts/e2e.mjs:82
    else rmSync(home, { recursive: true, force: true })
  • 读取本地文件
    scripts/e2e.mjs:92
    if (!existsSync(dshBin)) fail(`E2E_DSH_PKG_DIR has no node_modules/.bin/dsh: ${dshBin}`)
  • 读取本地文件
    scripts/e2e.mjs:105
    if (!existsSync(join(REPO, 'dist', 'index.js'))) fail('dist/ missing — run `pnpm build` first')
  • 读取本地文件
    scripts/e2e.mjs:108
    if (!existsSync(tgzPath)) fail(`pack output not found: ${tgzPath}`)
  • 读取本地文件
    scripts/e2e.mjs:112
    if (!existsSync(join(installedDir, 'package.json'))) fail('installed package missing')
  • 读取本地文件
    scripts/e2e.mjs:117
    const profileManifest = JSON.parse(readFileSync(profileManifestPath, 'utf8'))
  • 写入本地文件
    scripts/e2e.mjs:122
    writeFileSync(profileManifestPath, JSON.stringify(profileManifest, null, 2) + '\n')
  • 执行外部命令来自配置/变量
    scripts/e2e.mjs:128
    server = spawn(dshBin, ['web', '--port', String(port), '--no-open'], {
  • 写入本地文件
    scripts/e2e.mjs:133
    server.stdout.on('data', (c) => { chunks.push(c); appendFileSync(logPath, c) })
  • 写入本地文件
    scripts/e2e.mjs:134
    server.stderr.on('data', (c) => { chunks.push(c); appendFileSync(logPath, c) })
  • 发起网络请求
    scripts/e2e.mjs:192
    const combo = await fetch(`http://127.0.0.1:${port}/plugins/??dsh-llm-router/client.js&rev=${comboMatch[1]}`, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 的智能 LLM 路由插件:路由组、4 种路由策略、意图规则引擎、缓存亲和 Stays 模式、自动故障转移和示例设置界面。

README

由 DeepSeek 最新模型翻译生成
DSH 智能路由 为 DeepSeek Harness(DSH)提供智能 LLM 路由 —— 多模型路由策略、自动故障转移、缓存亲和保持、数据匿名化,以及可视化设置界面。 路由器把自己注册为 DSH 里的 auto 服务商。选 AUTO – Intelligent Router 作为模型,每个请求都会路由到你配置的路由组里最合适的成员 —— 规则、策略、故障转移、提示词缓存感知保持,全在底层自动完成。 架构 DSH 智能路由注册为 DeepSeek Harness 里的 auto 服务商,让每个请求依次经过可配置的路由组、策略、意图规则、缓存亲和保持和自动故障转移。 使用演示 下图展示 AUTO - Intelligent Router 在 DSH 里的真实对话流程:请求先分类,再匹配路由规则,最后由选中的服务商/模型成员处理。
展开完整文档(README 剩余 1 节)
DSH 智能路由

为 DeepSeek Harness(DSH)提供智能 LLM 路由 —— 多模型路由策略、自动故障转移、缓存亲和保持、数据匿名化,以及可视化设置界面。

路由器把自己注册为 DSH 里的 auto 服务商。选 AUTO – Intelligent Router 作为模型,每个请求都会路由到你配置的路由组里最合适的成员 —— 规则、策略、故障转移、提示词缓存感知保持,全在底层自动完成。

架构

DSH 智能路由注册为 DeepSeek Harness 里的 auto 服务商,让每个请求依次经过可配置的路由组、策略、意图规则、缓存亲和保持和自动故障转移。

使用演示

下图展示 AUTO - Intelligent Router 在 DSH 里的真实对话流程:请求先分类,再匹配路由规则,最后由选中的服务商/模型成员处理。

路由细节

请求生命周期

设置与实时持久化

策略、路由组与保持

功能

路由

- 路由组 —— 组织成员(服务商 + 模型),在设置界面里统一管理
- 四种路由策略 —— order(优先级)· smart(按任务规模感知:本地还是云端)· rotate(轮询)· usage(最少使用优先)
- 规则引擎 — 支持 minTokens / hasImage / anyAgent / intent 条件;第一条命中的规则会把目标模型固定到候选链最前面
- 意图路由 — 用轻量分类模型(由你选择)给消息意图打标签;规则据此路由
- 粘性(缓存亲和) — off / turn / auto / session(默认 session):只要服务商的提示词缓存还值得保留,就把上次成功的成员留在最前面,按 DSH 会话分别记录

可靠性

- 自动故障转移 — 错误分三级(TRANSIENT / PERMANENT / UNKNOWN),不误判:认证错误和校验错误绝不消耗重试;连接错误、限流错误和 5xx 错误则落到下一个候选
- 配额守卫 — 超出限额的成员直接跳过,不消耗重试

体验

- 设置界面(Magpie 风格,中/英)— 模型选择器由 DSH 已配置的模型填充,策略胶囊按钮、规则构建器、意图分类器选择、保存时校验,通过 DSH 设置服务实时持久化
- 可观测性 — 按组/按成员的指标、延迟跟踪、成本估算,以及 router/fallback 事件(宿主侧)

环境要求

- DeepSeek Harness >= 0.2.0-rc.2(在 compatibility.json 中声明)
- Node.js >= 18(DSH 运行时),开发需要 pnpm

安装

Via DSH (recommended)
dsh plugin --profile web add github:XHToken/dsh-intelligent-router

Or build from source
git clone https://github.com/XHToken/dsh-intelligent-router.git
cd dsh-intelligent-router
pnpm install && pnpm build
cp -r dist/* ~/.dsh/profiles/web/node_modules/dsh-llm-router/dist/
cp cordis.patch.yml compatibility.json ~/.dsh/profiles/web/node_modules/dsh-llm-router/

[!WARNING]
首次安装需要重启 DSH。 插件的加载器入口和客户端 bundle 会在服务器启动时编入启动图。
如果安装时 DSH 已在运行,它不会察觉新包——在你重启之前,设置界面(以及 auto 服务商)都会缺失。
停掉正在运行的 dsh web 进程再重新启动;只刷新浏览器不够。之后修改路由配置(在设置界面点保存)或重新构建插件 bundle,都会通过 HMR 实时生效——只有包级别的安装/卸载才需要重启。
等待 DSH 未来支持。

从配置档目录用本地二进制启动 DSH(cd ~/.dsh/profiles/web && ./node_modules/.bin/dsh web --port 3082)。用 npx 启动可能加载重复的模块树,导致设置写入失败。

快速开始

1. 启动 DSH,打开 设置 → 内置插件 → LLM Router
2. 点 + 添加模型,从 DSH 已配置的服务商中挑选成员
3. 选择策略(默认 order);可选添加规则
4. 点 保存(通过 DSH 设置服务立即持久化)
5. 在聊天里选择 AUTO – Intelligent Router,搞定

要用指定分组,写 group/<groupId> 这种服务商形式。

配置参考

设置界面会把配置写进配置档的 cordis.patch.yml(id: llm-router)。最小示例:

- id: llm-router
name: 'dsh-llm-router'
config:
enabled: true
defaultGroup: 'default'
routeGroups:
- id: 'default'
name: 'Default'
strategy: 'order' # order | smart | rotate | usage
stays: 'session' # off | turn | auto | session
enabled: true
members:
- provider: 'ollama'
model: 'SparkLLM/Spark-X2.5-1.7B'
priority: 1
enabled: true
protocol: 'openai-responses'
- provider: 'qwen37plus'
model: 'qwen3.7-plus'
priority: 2
enabled: true
protocol: 'anthropic-messages'
- provider: 'deepseekv41flash'
model: 'deepseek-v4.1-flash'
priority: 3
enabled: true
protocol: 'openai-responses'
classifierModel: # used by intent rules
provider: 'ollama'
model: 'SparkLLM/Spark-X2.5-1.7B'
rules:
- minTokens: 10000
hasImage: true
intent: '复杂问题'
target: { provider: 'qwen37plus', model: 'qwen3.7-plus' }
- minTokens: 2000
intent: '复杂问题'
target: { provider: 'deepseekv41flash', model: 'deepseek-v4.1-flash' }
- intent: '简单问题'
target: { provider: 'ollama', model: 'SparkLLM/Spark-X2.5-1.7B' }
fallback:
enabled: true
maxRetries: 3 # total attempts per request
retryDelay: 1000
quotaTracking:
enabled: true

完整带注释的 schema 见 cordis.patch.yml.example。

文档

- 路由策略与规则引擎
- Magpie 集成设计
- 设置界面设计
- DeepSeek Harness 架构分析
- 用法示例:可复现的案例,附截图(agent-teams、coding、document pipeline、data anonymization、image redesign),由 dsh-router-examples 技能建立索引

开发

pnpm install
pnpm run build # tsup + ModuleLoader wrap
pnpm run typecheck # tsc --noEmit
pnpm run lint # eslint
pnpm test:run # vitest (194 tests)
pnpm run doctor # self-check a DSH installation (host version, plugin tree)

每次 push 都会跑质量流水线,之后 E2E 工作流 会把插件装进真实的 DSH 宿主(启动 → 重启 → 设置界面 bundle 契约 → doctor)。

路线图

- pace / weighted / intent 三种策略已在 schema 中声明,但尚未实现(会静默降级为 order)——要么实现,要么删掉
- 停留窗口(turn ≈ 2 分钟,auto ≈ 5 分钟)是写死的近似值——改为可配置
- 配额上限写死(每天 1M token、每天 1k 请求),且从不自动重置——接上 quotaTracking.limits
- 监控数据还没有 UI 通道(面板显示的是假数据)
- 中间件系统已实现,但没接进请求链路
- 删掉遗留的双重调用路径(route() 瀑布流 / llm-client.ts)

参与贡献

欢迎贡献——见 CONTRIBUTING.md。请先阅读行为准则。安全问题见 SECURITY.md。

参考资料

- magpie——本项目的设置 UI 与路由策略设计参考并借鉴了该项目。非常感谢作者。

许可证

基于 XHToken 社区许可证 授权。完整文本见 LICENSE。
预览分享卡片长什么样 ↓XHToken/dsh-intelligent-router
分享 · DeepSeek Harness Hub
XHToken/dsh-intelligent-router

为 DeepSeek HarnessDSH提供智能 LLM 路由 ——…

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部