DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Hobartoakes /

Hobartoakes/dsh-model-shelf

Verified

Model Shelf for DeepSeek Harness: a wide, collapsible model picker with a manually managed uncommon list.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@32b9b24f

模型书架 · DSH Model Shelf

更大的模型选择面板、可折叠的服务商分组,以及完全由用户手动整理的“不常用”列表。

作者:Hobartoakes · 许可证:MIT · 问题反馈

源码采用 MIT 公开。预构建安装包见 GitHub Release v1.0.0。本项目尚未发布 npm,也未被 dsh-market 收录。

当前工作副本为 1.1.0 候选版(尚未发布),新增收藏与账号备注。下面的公开 Release 链接仍指向 1.0.0,旧版不包含这两项新增功能。

演示

以下截图来自离线测试页面,所有服务商、模型名称和 ID 均为演示数据,不包含真实对话、密钥或本机配置。

主列表:完整身份与服务商分组

主列表:模型名称、服务商和模型 ID

不常用列表:手动移入,随时移回

不常用列表:独立管理且可移回主列表

深色主题

深色主题下的增强选择器

收藏列表:手动标记常用模型

收藏列表:手动收藏,独立于主列表与不常用分类

功能

  • 选择面板最大宽度 640px、最大高度 720px,窗口较小时自动收缩。
  • 按服务商分组,支持单独折叠、全部展开和全部折叠。
  • 主列表 / 不常用两个分类,外加独立的收藏列表。首次使用时所有模型均在主列表,收藏为空。
  • 点击“☆ 收藏 / ★ 已收藏”手动收藏或取消;收藏是快捷入口,不改变主列表 / 不常用分类。
  • 服务商分组支持账号备注,例如“工作账号 / 个人账号 / 备用账号”;按服务商配置 ID 分开保存,在模型行、当前模型按钮和搜索中显示。
  • 分类仅由你决定:点击“移至不常用”或“移回主列表”。不统计使用频率,不自动分类。
  • 移动分类不会选择模型、删除 API 配置或影响其他服务商的同名模型。
  • 每款模型显示模型名称、服务商名称、服务商 ID 和精确模型 ID。
  • 以 (provider ID, model ID) 区分模型;不同服务商的同名模型互不影响。
  • 支持搜索模型名称、模型 ID、服务商名称、服务商 ID 和账号备注;搜索作用于当前列表。
  • 搜索临时展开匹配分组,不改变原折叠状态。
  • 沿用 DSH 原生模型切换和思考强度选项,保留会话锁定与失败提示。
  • 适配宿主浅色 / 深色主题,支持键盘操作。

模型 ID 是服务商目录提供的调用标识。若中转 API 将该标识映射到其他上游模型,插件无法验证实际上游身份,不会猜测或额外标注未经验证的模型厂商。

兼容性

项目 已验证范围
DSH 宿主 0.2.0-rc.2,元数据暂限定这一版本
实际环境 Windows 桌面版 DSH 的现有 Web GUI
浏览器回归测试 本机 Microsoft Edge;浅色、深色和窄窗口
必需服务 内置 modelDirectories、sessions、remote.session 和 UI slots
替换位置 conversation.input.model,priority -100

尚未验证其他 DSH 版本、macOS 或 Linux。不要绕过宿主的兼容性检查。同一插槽上的其他增强插件可能与本插件竞争;遇到重复界面或未生效时,先关闭其中一个插件。

安装与卸载

无需 npm 账号,直接安装 GitHub Release 的预构建包:

dsh plugin --profile desktop add "https://github.com/Hobartoakes/dsh-model-shelf/releases/download/v1.0.0/dsh-model-shelf-1.0.0.tgz" --ignore-scripts

如果 CLI 下载受网络限制,可先从 Release 页面下载归档,再使用本地路径(将路径替换为实际归档位置):

dsh plugin --profile desktop add "C:/path/to/dsh-model-shelf-1.0.0.tgz" --ignore-scripts

安装后刷新现有 DSH 页面。内置模型选择器保持加载;禁用或卸载本插件后恢复内置选择器。

dsh plugin --profile desktop remove dsh-model-shelf

归档包含预构建文件,不需要在用户机器上运行安装构建脚本。插件不会修改应用安装包。

早期本地原型名称为 dsh-model-organizer。两者占用相同选择器插槽,不建议同时启用;从原型迁移时,先禁用旧插件,再安装新插件。同一浏览器 origin 下首次读取新偏好时,会导入旧原型偏好,且不会删除旧键。已有新偏好时不会覆盖。

使用

  1. 点击输入框当前模型按钮。
  2. 在主列表找到模型,点击右侧“移至不常用”,将该款模型移到独立列表。
  3. 切换“不常用”标签页,仍可选择其中的模型,或点击“移回主列表”。
  4. 点击服务商标题折叠分组,或使用“全部展开 / 全部折叠”。
  5. 点击模型旁的“☆ 收藏”,之后可在“收藏”标签页快速使用。
  6. 搜索结果只来自当前列表;未找到时可切换另一列表继续搜索。

当前模型属于不常用列表时,再次打开选择器会自动打开该列表,但不会改变其分类。

收藏与账号备注(1.1.0)

  • 在任一列表点击模型旁的“☆ 收藏”,再打开“收藏”标签页使用;取消收藏不删除模型,也不改变原分类。
  • 点击服务商标题旁的“账号备注”,输入备注并保存。Enter 保存,Escape 或“取消”放弃编辑,清空后保存可删除备注。
  • 同一 API 配置的所有模型共用该账号备注。请勿把 API 密钥、密码或令牌填入备注;备注只在当前浏览器保存。
  • 插件不会自动读取或验证这个配置实际登录了哪个账号;备注只是你手动贴的标签。

为什么同平台的多个账号要各自建一个 API 配置

插件按服务商配置 ID(每行显示的 服务商 ID:xxx)保存备注,相当于给每个“抽屉”贴标签:

做法 结果
只建一个平台配置,在里面换着用两个 Key ❌ 插件只看到一个 ID,只能贴一个备注,无法区分
建两个配置(如“工作”“个人”),各填各的 Key ✅ 两个 ID,可分别备注,模型列表也会分成两组

判断方法:打开选择器看 服务商 ID。若两个账号显示的 ID 相同,说明它们在 DSH 里是同一个配置,需要到宿主的 API 服务商配置里再新增一条。新增后即使两个分组的模型一样,也能分别备注。

键盘

  • 搜索框中的 ↑ / ↓:高亮结果;Enter:选择模型。
  • Tab / Shift+Tab:在面板控件间移动。
  • Escape:关闭面板并返回模型按钮;在备注输入框中则只放弃备注编辑,不关闭面板。

数据保存与隐私

  • 分类、收藏、账号备注和折叠偏好保存在当前浏览器的 localStorage,键名为 dsh-model-shelf.preferences.v1。
  • 保存模型身份、收藏、折叠分组及用户输入的账号备注,不自动读取或保存 API 密钥、对话内容或调用记录。
  • 同一浏览器、同一 origin 的窗口共享偏好,刷新后保留。
  • 更换浏览器、设备、访问域名或端口后,不保证共享同一份偏好;清除站点数据会重置。
  • 目前不跨设备同步,也不纳入 DSH profile 备份。
  • 浏览器存储不可用时显示警告,当前页面仍可操作,但刷新后可能丢失偏好。
  • 卸载不主动清空浏览器偏好,便于重装后恢复。
  • 插件不新增外部网络请求;模型目录及切换沿用宿主已有接口,实际模型调用仍受宿主与服务商配置约束。

详见 隐私说明。

开发与测试

pnpm install --frozen-lockfile
pnpm run build
pnpm test
pnpm run test:browser
pnpm pack --pack-destination dist-draft

test:browser 使用离线 HTML 和模拟目录,不启动 DSH 服务器,也不发起真实模型调用。Windows 默认使用已安装的 Edge;其他平台默认尝试已安装的 Chrome。可通过 DSH_TEST_BROWSER_EXECUTABLE 指定浏览器程序路径。其他平台运行测试不等于已验证其 DSH 宿主集成。

另有显式执行的 pnpm run test:clean-profile,在 Windows 上用独立 DSH_HOME 和随机本地端口启动临时测试宿主,验证安装 / 禁用 / 重新启用 / 卸载;不替换当前 GUI,结束后停止测试进程。详见 验证报告。

React、ReactDOM 和 playwright-core 仅用于开发测试。插件运行时复用 DSH 的 React,不附带第二份 React。

构建是显式步骤,不设置安装期构建钩子。发布前必须重新构建、运行测试,并检查归档内容。

发布状态

  • 作者:Hobartoakes。
  • GitHub 仓库:Hobartoakes/dsh-model-shelf。
  • 许可证:MIT,详见 LICENSE。
  • npm 包名:dsh-model-shelf,首次发布前查询可用性,查询不等于预留。
  • GitHub Release:v1.0.0 预构建安装包,不需要 npm 注册或登录。当前源码 main 分支为 1.1.0 候选版,尚未发布安装包,因此 Release 页面暂无 1.1.0 可下载文件。
  • npm:本项目尚未发布,请勿将裸包名当作可用安装来源。
  • dsh-market:尚未提交收录 PR;发布 Release 不代表已经收录。

发布检查清单 · 版本记录

执行 pnpm run check:release 检查发布文件。维护者实际发布前仍需确认授权、npm 登录身份、包名 / 版本可用性及归档内容;发布检查本身不执行上传。干净 profile 的集成验证记录见 验证报告。

English summary

A wide, collapsible model picker for DSH, with Main and Uncommon lists plus a separate Favorites list. Users explicitly move models between lists; no automatic usage-based classification is performed. Each row shows the provider name, provider ID, model name and model ID. Per-provider account notes let you label multiple API accounts on the same platform, saved by provider configuration ID. Preferences are stored in the current browser only; no cross-device synchronization is implemented.

Author: Hobartoakes. Licensed under MIT. Tested with DSH 0.2.0-rc.2 on Windows and Microsoft Edge. Other host versions/platforms are unverified. Prebuilt packages are distributed through GitHub Releases; no npm account is needed to install them. This project has not been published to npm. Market listing is a separate process and has not been submitted.

—/ 5

No ratings yet

Verified DSH bundle

Commit 32b9b24f2a6a

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout