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

模型中心 xfjsssq/dsh-model-hub

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

双栏挑选模型并管理服务商与模型列表

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    lib/host/client-state.js:113
    const parsed = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8'))
  • 读取本地文件
    lib/host/prefs.js:63
    return normalizePrefs(JSON.parse(await readFile(prefsPath(), 'utf8')))
  • 写入本地文件
    lib/host/prefs.js:74
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    lib/host/prefs.js:76
    await writeFile(tmp, JSON.stringify(prefs, null, 2) + '\n', { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    lib/host/prefs.js:77
    await rename(tmp, path)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 模型中心插件 — 双栏模型选择器(左提供商 / 右模型)+ 悬浮能力卡,可直接在面板里添加提供商、刷新获取模型、删除模型;零构建、零 npm 依赖。

README

由 DeepSeek 最新模型翻译生成
dsh-model-hub 给 DeepSeek Harness 用的模型中心插件。 把输入框上那个「又长又平、几十个模型挤一起」的模型列表,换成 双栏 + 悬浮能力卡,并且能直接在面板里管理服务商和模型。 技术特点:零构建、零 npm 依赖(React 由宿主提供)—— 仓库里就是可直接安装的成品,不需要 npm install,不需要打包。 双栏面板 + 悬浮能力卡 适配版本:DSH 桌面版 0.2.1-rc.2(2026-10-23 实测,见下方「验证状态」)。 功能总览 模型选择 - 双栏布局:左 = 服务商(拖拽排序 / 置顶 / 持久化;只显示「有模型或已声明」的,其余隐藏),右 = 模型列表。 - 搜索跨全部服务商:当前服务商的命中排最前;右栏底部可「展开其他渠道的相似模型」。 - 悬浮能力卡(200px,跟随鼠标出现后钉住,可以移上去继续操作): - 上下文档位:128K / 256K / 1000K - 输出档位:128K / 256K - 输入类型:文本 / 图片(与设置页同款) - 推理等级:关 / 低 / 中 / 高(固定四档,与设置页档位数量一致) - 非标准值会标注并高亮:例如在设置页手打了一千万,卡片会警示「确认是否多打了 0」。
展开完整文档(README 剩余 1 节)
dsh-model-hub

给 DeepSeek Harness 用的模型中心插件。 把输入框上那个「又长又平、几十个模型挤一起」的模型列表,换成 双栏 + 悬浮能力卡,并且能直接在面板里管理服务商和模型。

技术特点:零构建、零 npm 依赖(React 由宿主提供)—— 仓库里就是可直接安装的成品,不需要 npm install,不需要打包。

双栏面板 + 悬浮能力卡

适配版本:DSH 桌面版 0.2.1-rc.2(2026-10-23 实测,见下方「验证状态」)。

功能总览

模型选择

- 双栏布局:左 = 服务商(拖拽排序 / 置顶 / 持久化;只显示「有模型或已声明」的,其余隐藏),右 = 模型列表。
- 搜索跨全部服务商:当前服务商的命中排最前;右栏底部可「展开其他渠道的相似模型」。
- 悬浮能力卡(200px,跟随鼠标出现后钉住,可以移上去继续操作):
- 上下文档位:128K / 256K / 1000K
- 输出档位:128K / 256K
- 输入类型:文本 / 图片(与设置页同款)
- 推理等级:关 / 低 / 中 / 高(固定四档,与设置页档位数量一致)
- 非标准值会标注并高亮:例如在设置页手打了一千万,卡片会警示「确认是否多打了 0」。

服务商与模型管理

- 左栏底部「+ 添加模型服务商」:全屏表单(id / 显示名 / API 协议 / Base URL / Key 环境变量名),有取消与 × 退出。
- 保存后默认不获取模型;该渠道以「待选模型」状态出现在左栏(草稿存在插件自己的 prefs.json,不动 DSH 配置),可删除。
- 模型列表右下角刷新按钮 → 询问端点有哪些模型 → 候选界面(可搜索、可勾选、全选/取消全选)→ 确定才把「渠道 + 勾选模型」一次性原子落盘。
- 单个模型删除(hover 出现、二次确认);只剩最后一个可删模型时按钮置灰;删掉后用刷新即可加回来。

可靠性(不是「看着对」,是回读确认过)

- 能力改动写进模型配置后回读运行时确认;写不进或没生效 → 明确报 NOT_EFFECTIVE 并回滚。
- 渲染失败会自动让出槽位、交回内置选择器并给可见提示(不白屏、不「点了没反应」)。
- 亮 / 暗主题、prefers-reduced-motion、键盘操作(↑↓ / Enter / Esc / Tab)。

截图

| 输入类型 | 推理等级四档 |
| 输入类型(文本 / 图片) | 推理等级四档 |
| 搜索并展开其他渠道 | 添加模型服务商 |
| 搜索 + 展开其他渠道 | 添加模型服务商(全屏表单) |
| 获取模型 | 删除单个模型 |
| 获取模型(勾选 / 全选 / 取消全选) | 删除单个模型(二次确认) |

如实标注:这些是用真实 client.js + 真实 DSH 主题变量在 mock 宿主里渲染的预览图,不是真机截图。

安装

方式一:官方 CLI / GUI(推荐)

从 GitHub 安装
dsh plugin --profile desktop add github:<账号>/dsh-model-hub
dsh plugin --profile desktop add github:<账号>/dsh-model-hub#v0.1.0

本地目录(开发)
dsh plugin --profile desktop add "<本目录绝对路径>"

dsh 不在 PATH 时用安装目录里的 CLI,或直接走 GUI:

& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add <spec> GUI:侧边栏「插件」→ 添加插件 → 粘贴包名 / Git 地址 / 压缩包 / 本地绝对路径

方式二:可审计脚本(本仓库 tools/)

pwsh -File tools\install.ps1 -DryRun # 先看将要改什么(只预览,不写) pwsh -File tools\install.ps1 # 安装:备份 → 改两处 → pnpm install → 回读校验 pwsh -File tools\uninstall.ps1 # 卸载(-DisableOnly 只关不卸)

脚本自带越界拒绝:JSON diff 只允许落在 dependencies.<包名> 与 dsh.profile.bundles,其它键变了就拒绝写;卸载后 cordis.patch.yml 与 package.json 逐字节复原(沙箱往返 27/27 已验证)。详见 tools/README.md。

装完之后怎么生效(重要)

| 场景 | 需要做什么 |
| 宿主侧 API(/model-hub/api/) | 安装即生效,不需要重启(实测:路由 404 → 200,正在运行的宿主直接激活) |
| 客户端 UI(输入框上的模型位) | 刷新页面一次(桌面端 Ctrl+Shift+R)—— 页面的启动清单在加载时生成,刷新才会带上新插件 |
| 插件自身的宿主代码更新(升级版本后) | 需要重启 DSH(没有 HMR 时,Node 模块不会热重载);客户端半边刷新页面即可 |

桌面端没有 HMR,lib/host/ 不会热重载 —— 这条踩过好几次:接口 404、字段读不到,都是「没重启」,看起来完全像 bug。
关掉插件而不用卸载:把 cordis.patch.yml 里的 enabled 改成 false —— 宿主 API 停用、客户端条目不再注册,内置模型选择器原样恢复(无 CSS / DOM 残留)。

使用

| 操作 | 结果 |
| 点击输入框上的模型位 | 打开模型中心 |
| 左栏点击 / ← → | 切换服务商 |
| 搜索框输入 | 跨全部服务商按模型名 / ID 模糊匹配,结果按服务商分组;清空后回到所选服务商 |
| ↑ ↓ + Enter | 键盘选模型(焦点留在搜索框) |
| 悬停模型行 120ms | 浮出能力卡 |
| 能力卡点档位 / 开关 | 写入模型配置 → 回读运行时确认 → 立即生效;对不上会显示 NOT_EFFECTIVE 并回滚 |
| 能力卡点推理等级 | 提交会话级 reasoningEffort;若不是当前模型,一次点击同时切换该模型并应用档位(卡片有提示) |
| 左栏拖拽 / 右键或行尾图钉 | 调整服务商顺序 / 置顶,立即持久化 |

架构

宿主侧是一个 cordis 插件,挂在 /model-hub/api/:读取运行时模型目录、通过 DSH 的 settings 写入路径修改模型声明(与设置页「模型」同一处)、并直接调用 ctx.llm 的模型发现能力。浏览器侧以 classic script 注入,用槽位影子覆盖(priority: -100)接管 conversation.input.model,所以不改宿主 UI,卸载后内置选择器自动恢复。

dsh-model-hub/
index.js 宿主侧入口(cordis 插件,inject: webServer / llm) lib/host/ catalog / settings-bridge(写入桥)/ apply / selftest / prefs / routes / provider client.js 浏览器侧 bundle(classic script,约 3100 行,含全部 CSS) cordis.patch.yml 组合声明(enabled 开关) docs/design-spec.md 设计规格(v1.0 主规格 + v1.1 / v1.2 / v1.3 修订,修订覆盖前文) docs/screenshots/ README 用图 test/host.test.mjs 80 项零依赖测试(node --test) tools/ 安装 / 卸载 / 取证脚本

HTTP API(同源 JSON;写接口要求 Content-Type: application/json)

| 方法 | 路径 | 用途 |
| GET | /model-hub/api/health | 诊断(hasLlm / hasSettings / 端口) |
| GET | /model-hub/api/catalog | 服务商 + 模型 + 元数据(上下文 / 输出 / 视觉 / 推理档位 / 是否有凭证) |
| GET/POST | /model-hub/api/prefs | 服务商顺序、置顶、草稿 |
| POST | /model-hub/api/model | 写能力 {provider, model, patch:{contextWindow?, maxTokens?, vision?, ...}} → 返回 effective / verify / prepared |
| POST | /model-hub/api/selftest | 改前 / 改后对比(含 prepareCall 物化结果与可选还原),用于验证「真生效」 |

数据与文件

- 偏好与草稿:~/.dsh/model-hub/prefs.json(服务商顺序、置顶、渠道草稿、能力覆盖记录)
- 模型能力真正落在:profile 的 cordis.patch.yml → llm-pi-ai.providers.<提供商>.models[](与设置页「模型」同一处)

验证状态

已证实(有独立探针 / 真机证据)

- 安装无需重启即在运行中的宿主激活;/model-hub/api/ 由 404 → 200。
- 能力改动会改变真正发出去的请求参数(prepareCall 物化随之变化);一次真实对话请求的 body 里确实带了新值(本机 mock 上游收到 max_completion_tokens=65536,零上游费用)。
- selftest 改写后配置逐字节 / 语义还原(只改值的补丁字节级一致;含删除键的补丁键序变化但语义等价)。
- 宿主侧单测 80/80;独立探针 36/36、20/20;v1.3 与 v1.4 的有界复验全绿。
- 2026-10-23 真机实测:reasoningEfforts 写入 changed=true、还原干净;渠道草稿路径「用户真实 profile 全程 sha256 未变」。
- 降级保证:客户端注册 / 渲染失败时,内置模型选择器自动接管(实测确认没有白屏)。

未验证(如实标注)

- 最新几轮客户端界面的运行时断言没跑成:验证用的浏览器自动化工具故障(Target.createTarget 失败),只做了带行号的源码审计 + mock 探针(mock 有请求级证据,但不是真浏览器)。
- 拖拽「手感」、超大 provider 列表(>50 个真实配置)下的滚动表现、上游真实能力核对,均未做。

已知限制

- /model 斜杠命令的弹窗仍是内置 UI;新 UI 只接管输入框上的模型位。
- DSH 不允许「没有模型的渠道」:所以新建渠道是「草稿状态」,勾选模型后才真正落盘;在此之前它只出现在本插件面板里,不会出现在 DSH 内置选择器里。
- 厂家目录自带的渠道,删掉某个模型后它仍会列出(目录继续供模型),只是标记变成非声明态、删除入口消失。
- 给「上游其实不支持」的模型强开视觉 / 写推理等级,会在请求时由上游报错 —— 风险自负,卡片有提示。
- 不支持 pi-ai 的 reasoningEfforts: false(表示该模型不推理);要表达该语义请传 null 删除该字段(与设置页行为一致)。
- 服务商排序、置顶与草稿存在 ~/.dsh/model-hub/prefs.json;能力值不在插件侧缓存,每次打开重新拉取。
- 升级插件后宿主侧需要重启 DSH(lib/host/* 不热重载)。

测试

cd dsh-model-hub
node --check index.js
node --check client.js
node --test # 80 项,零依赖,Node 内置 runner

契约与设计见 docs/design-spec.md(修订覆盖前文);宿主侧契约 v1.2 / v1.3 / v1.4 已固化在 test/host.test.mjs 里。

License

MIT
预览分享卡片长什么样 ↓xfjsssq/dsh-model-hub
分享 · DeepSeek Harness Hub
xfjsssq/dsh-model-hub

双栏挑选模型并管理服务商与模型列表

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