前言¶
在 DeepSeek Harness(DSH)桌面端登录 DeepSeek 账号后,模型选择器里会同时出现两类提供方:账号配额侧的 deepseek-account,以及你在 Settings → Models 里配置的官方 API Key 线路 deepseek-official。二者都出现在 Composer 的模型菜单里。若某次对话仍保存着账号模型,下一条请求可能消耗账号额度,即便你本意是使用自己的 API Key。
社区插件 dsh-hide-account-models 由维护者 nanwu98 发布,分类为模型推理。它在 DSH 内部从模型目录中移除账号模型组,并把已保存的账号选型在出站前改写为 deepseek-official,使请求始终走官方 API Key 提供方。插件无设置页、无客户端半部,在 Plugins 里与其它 bundle 一样开关即可。
这是什么¶
该插件是一个 DSH bundle:从模型选择器构建所用的目录里去掉 deepseek-account 条目,并在 Host 进程的 prepareCall / stream 路径上将 provider: "deepseek-account" 改写为 deepseek-official,其它字段(含 model id)保持不变。
| 选择器中的情况 | 启用插件后 |
|---|---|
| 已登录 DeepSeek 账号模型组(账号配额) | 隐藏 |
deepseek-official 模型(API Key) |
保留,且为唯一可选组 |
核心功能¶
实现依赖 Host 进程上的三处衔接,均在进程内完成:
- 目录过滤。浏览器侧模型界面通过
ctx.llm.listProviders()构建目录;插件包装该方法并丢弃deepseek-account,账号组从菜单、搜索索引与键盘导航中同时消失。 - 已准备的调用。对话若曾保存账号模型,Host 的 per-session 选型缓存里仍会留有该记录。插件包装
llm.prepareCall()(Agent 循环与标题生成等),仅将provider: "deepseek-account"改写为deepseek-official。 - 直连流。部分调用方不经 prepare 即通过
llm.stream()下发(例如默认 compaction summarizer);在同一处应用相同的 provider 改写。
插件刻意不监听已弃用的 agent/request 钩子;在 DSH 0.2.x 中 Agent 循环会在该处拒绝 provider 或 model 变更,因此在 prepareCall / stream 改写是受支持的做法。关闭或移除插件会恢复原始方法并通知变更,账号组无需重启即可重新出现。
隐私方面,README 说明其为纯进程内过滤器:无网络请求、不读写配置或会话文件、无遥测、不解析或复制 API Key 或账号 token;仅通过 DSH 已挂载的 llm 服务读取 provider 元数据,并改写 UI 所读的内存中的 provider 列表。
环境与前置条件¶
- DeepSeek Harness 版本:
>=0.2.2-rc.1且<0.3.0(见engines.dsh)。 - 须先在 Settings → Models 下配置
deepseek-official的官方 API Key。隐藏账号组后若无可用 Key,选择器可能为空且请求会按官方线路报错;README 建议先配置 Key,再启用插件。 - 任意操作系统均可;插件与平台无关。
安装与启用¶
将下面命令中的 desktop 换成你实际使用的 profile。从 GitHub 安装需要本机已安装 Git,因 DSH 会先向仓库查询再下载。
从 GitHub 安装(推荐,锁定 tag)¶
dsh plugin --profile desktop add github:nanwu98/dsh-hide-account-models#v1.0.0
从 Release 压缩包安装(无需 Git)¶
dsh plugin --profile desktop add https://github.com/nanwu98/dsh-hide-account-models/releases/download/v1.0.0/dsh-hide-account-models-1.0.0.tgz
从 Plugins 页面安装¶
打开 Plugins → Add plugin,粘贴仓库地址或 tarball URL;若页面提示则重启 DSH。仅凭包名安装仅适用于已发布到 npm 的包;该 bundle 目前自 GitHub 分发。
重启后,模型菜单中的 deepseek-account 会消失,不会出现新页面或新工具栏项。
移除插件:
dsh plugin --profile desktop remove dsh-hide-account-models
在 Plugins 中关闭开关亦可立即恢复账号组。
启用前应注意¶
- 先配置
deepseek-official。插件不检查官方线路是否已有可用 Key;无 Key 时选择器可能为空,失败行为来自官方线路,属于有意设计,避免静默回落到账号配额。 - 旧会话。曾选用账号模型的会话可能显示「请选择模型」,直至你手动选一次官方模型;若在未重选前发送,请求会按
deepseek-official与同 model id 准备。 - model id 不做翻译。若账号目录与官方目录对同一能力的命名不同,改写后的请求可能被提供方拒绝;在该对话中手动选一次官方模型即可避免反复出错。
- 不落盘改写。会话日志历史不变,仅出站请求被改路由。
典型用法与发现索引¶
日常用法即在 Plugins 中启用 bundle,确保 API Key 已配置,然后在 Composer 中仅从 deepseek-official 组选模型。
若使用 Plugins → Discover → Index sources,仓库提供 format-1 市场索引:
- jsDelivr(推荐):
https://cdn.jsdelivr.net/gh/nanwu98/dsh-hide-account-models@main/index.json - GitHub raw:
https://raw.githubusercontent.com/nanwu98/dsh-hide-account-models/main/index.json
适用场景与权限说明¶
适合同时登录 DSH 桌面账号、又希望默认或强制全部推理消耗自有 API Key、避免误用账号配额的开发者。插件与 DSH 同进程运行,以当前 profile 的权限操作 Host 内的 llm 服务;安装前宜阅读源码与 MIT 许可证,并知悉其为社区作品,与 DeepSeek 官方无隶属关系。
兼容性方面,bundle 依赖 provider id deepseek-account / deepseek-official 以及上述 listProviders、prepareCall 等 API;未来 DSH 若重命名提供方或不再将 provider 列表投影到目录,过滤器可能失效。若选择器异常,应禁用插件而非长期保留。
结尾¶
dsh-hide-account-models 用最小的进程内改写,把模型选择与已保存选型钉在 deepseek-official 上,降低「以为在用 Key、实际扣账号」的差错。目录与安装说明见 SkillHub 插件页,源码与完整文档见 GitHub 仓库。