- Accueil
- Plugins
- Modèles et fournisseurs
- dsh-factory-provider
dsh-factory-provider
dalizi2026/dsh-factory-provider
Intègre le quota d’abonnement Factory (Droid) comme fournisseur de modèles natif DSH. Propose trois routes de protocole, votre propre clé API via une passerelle loopback et une page de réglages pour l’état de connexion, le quota, les statistiques de tokens par modèle et le changement de clé.
Installer
dsh plugin --profile web add github:dalizi2026/dsh-factory-providerREADME
dsh-factory-provider
把 Factory(Droid)订阅额度接入 DeepSeek Harness(DSH)。使用自己的 Factory API key,在 DSH 中选择 Claude、GPT、Gemini、Grok、Muse 和 Core 模型,并查看额度、Token 用量及调整压缩阈值。
当前版本:1.3.8 · 下载插件 · 更新记录 · 反馈问题
这是社区插件,与 Factory、DeepSeek 无官方隶属关系。需要已有的 Factory 账号、模型权限和可用额度;不会提供额外额度或绕过账号限制。
本版新增
依据官方 Droid CLI 0.243.0 补齐三个模型:
| 模型 | 分类 | 倍率 | 最大输入 / 输出预算 | 默认思考 | 图片 |
|---|---|---|---|---|---|
| Nemotron 3.5 Super | Core | 0.08× | 934,464 / 65,536 | high,可关闭 | 支持 |
| Muse Spark Open | 标准池 → Muse | 0.5× | 908,928 / 131,072 | high | 支持 |
| Muse Spark 1.2 | 标准池 → Muse | 0.5× | 908,928 / 131,072 | high | 不支持 |
三者默认 250,000 token 开始压缩,可在模型卡中修改。以上是 CLI 的适配器预算,不是实测服务器硬上限。Nemotron 3.5 Super 与 Muse Spark Open 登记上游为 Baseten;Muse Spark 1.2 为 Fireworks。
旧版升级后,完整退出并重新打开 DSH,再到 设置 → Factory (Droid) → 模型:在 Droid Core 中勾选 Nemotron;启用标准池下的 Muse 分组、勾选模型并保存。已有模型选择和自定义压缩阈值保留,新增模型不会自动覆盖旧选择。
安装
需要 Node.js 20+、可用的 dsh 命令和 Factory API key。桌面版目前已验证 DSH 0.2.0-rc.2 / macOS;代码包含 Windows / Linux 适配,其他系统及 DSH 版本尚未逐一实机验证。
从 Release 安装(推荐)
dsh plugin --profile desktop add https://github.com/Dalizi2026/dsh-factory-provider/releases/download/v1.3.8/dsh-factory-provider-1.3.8.tgz
也可以从 Release 下载 .tgz,把命令末尾替换成本地文件路径。dsh-factory-provider.tgz 与带版本号的文件内容相同,附带 SHA256SUMS.txt 供校验。源码 ZIP 是仓库快照,安装请使用插件 .tgz。
desktop 是桌面版使用的 profile;使用其他 profile 时替换为对应名称。
从源码安装
git clone https://github.com/Dalizi2026/dsh-factory-provider.git
cd dsh-factory-provider
npm install
dsh plugin --profile desktop add "link:$PWD"
安装或更新后必须完整退出并重新打开 DSH。 只刷新设置页可能仍在使用旧网关;修改模型勾选后若选择器没有刷新,也请完整重启。
配置 API key
- 在 Factory 设置里创建 API key。
- 打开 DSH 设置 → Factory (Droid) → API key,粘贴
fk-…,点击「保存并使用」。 - 在「模型」卡中启用需要的分组、勾选模型并保存,然后到聊天界面的模型选择器选择。
可以点击「测试连接」检查链路;这会发送一条真实小请求并消耗额度。新模型是否可用仍取决于账号、地区与 Factory 服务状态。
卸载:
dsh plugin --profile desktop remove dsh-factory-provider
模型分类与额度
| 设置页分组 | 额度池 | 接入方式 |
|---|---|---|
| Droid Core:GLM、Kimi、MiniMax、DeepSeek、Mistral、Nemotron 等 | 先用标准额度,耗尽后可用 Core | Chat Completions |
| Claude | 标准 | Anthropic Messages |
| GPT | 标准 | Responses |
| Gemini(含 Gemini 4 Argon) | 标准 | 插件内置原生 Gemini 流转换 |
| Grok | 标准 | Responses |
| Muse | 标准 | Chat Completions |
「倍率低」不等于「Core 模型」,两个 Muse 不归入 Core。模型倍率和促销有效期按已核实的目录显示;实际可用性及额度计算由 Factory 决定。
每组可以独立折叠、启用和全选。模型勾选列表为空代表全部显示;列表非空时,只显示已勾选模型。禁用分组会移除该组的插件配置,不影响其他来源的模型。
设置页
| 卡片 | 可以做什么 |
|---|---|
| 连接状态 / API key | 查看接入状态,保存、切换或删除多个 key |
| 订阅额度 | 查看标准池与 Core 池的 5 小时、周、月用量和重置时间,开启额度悬浮窗 |
| Token 统计 | 按模型查看未缓存输入、输出、缓存读取、缓存写入和总计 |
| 上下文与压缩 | 设置摘要模型、摘要输出上限、上下文对齐和可选工具清理 |
| 模型 | 选择模型,编辑每个模型的压缩阈值,恢复默认 |
| 高级 | Anthropic 上游优先开关、缓存模式、请求大小保护与诊断 |
上下文与压缩
在 模型 → 压缩阈值 中选择模型,输入 token 数并保存。预算详情默认折叠,窗口明显小于原厂标称窗口的渠道会显示提醒。
- Opus 5.5 / Sonnet 5.5 普通版默认 400,000;GLM-5.3 Flash 默认 900,000。这些是插件已有策略。
- 本版三个新模型默认 250,000,与 Droid CLI 对齐;其他模型依各自已登记策略设置。
- 「恢复默认」移除该模型的用户覆盖;升级保留已有有效自定义值。
- 实际阈值还受 Factory 输入预算、DSH 窗口、输出预留和思考档位限制。
提高阈值会减少压缩次数,也会增加每轮历史输入量;不能保证越大越省。模型能容纳的 token 数与请求文件的字节大小是两种限制,多图仍可能先触发请求大小保护。
压缩摘要默认可使用 GLM-5.3 Flash;修改位置是「上下文与压缩 → 压缩用的模型」。所选模型须已启用且支持历史内容,含图片的摘要需要读图能力;不可用时的回退可能增加消耗。
缓存与工具清理
Claude 默认缓存模式为 auto:客户端已有缓存标记时保留其管理方式,否则补充缓存断点。默认 TTL 为 5m;1h 取决于上游支持,写入成本也更高。Gemini、GPT 等渠道使用各自的服务端机制,不能套用 Claude 标记。
工具结果清理默认关闭。 开启后,Anthropic 上游可分批清除旧工具结果,减少后续输入;它也可能导致缓存重建或重新读取。已有合成样本验证过节省,但不能保证所有任务更省。需要反复引用早期文件的任务,建议保持关闭;扫描任务可以先让模型把结论写进笔记文件。
上游线路
插件按当前 key 的官方配置选择候选上游,并让同一会话保持成功线路。正常线路不会因为候选排序更新而随意切换;遇到可重试故障时,为下一次 DSH 重试选择后续候选,重试次数由 DSH 控制。
在 高级 → 连接 开启「优先使用 Anthropic 官方上游」,会让 Claude 新会话 优先选账号允许的 Anthropic 线路;已有正常会话继续保持原线路。这仍然经过 Factory 转发并使用 Factory 额度,不是直接拿 Factory key 请求 Anthropic API。
切换上游可能需要重建缓存。失败线路恢复后,同一会话不会主动切回;重启、会话状态淘汰或候选资格变化可能重新选择线路。
图片与 413 处理
插件复用 DSH 图片编码器,根据图片数量及文字、工具占用分配预算,支持多图自适应。不会修改原始图片文件,也不承诺任意数量图片都能装进一次请求。
最终 JSON 默认本地保护预算为 4 MiB,并非 Factory 服务器已实测上限。超限时优先请求移出旧图片,再通过 DSH 原生事务压缩历史;恢复有次数限制。最新一批图片仍无法容纳时会明确报错,不会原样无限重发。
Token 统计与隐私
时间范围包括 今天、24 小时内、7 天、30 天、总计;30 天只是筛选,历史不会自动删除。
总计 = 未缓存输入 + 输出 + 缓存读取 + 缓存写入。OpenAI 总输入中的缓存读取会先扣除,避免重复计数;上游未报告的字段显示 —。这些是 token 数,不是 Factory 的标准额度或计费权重;仅统计经本插件处理的请求,按模型合并多个 key 的用量。
| 本机数据 | 位置与说明 |
|---|---|
| API key | ~/.dsh-factory-provider/accounts/;POSIX 文件权限 0600,不写进插件设置或日志 |
| Token 记录 | ~/.dsh-factory-provider/token-usage/;只保存请求标识、时间、模型和计数 |
| 诊断日志 | 插件目录的 journal.jsonl;记录请求形态、实际线路、状态及发送阶段 |
支持多个 key,切换后下一次请求使用新 key。删除当前 key 会停用凭据。模型请求经本机回环网关发往配置的 Factory 主机;额度和路由配置也会向 Factory 查询。
常见问题
升级后没有新模型? 完整重启 DSH,在 Factory 插件的模型卡里启用对应分组、勾选并保存。旧版的勾选范围会保留,不会自动全选新模型。保存后选择器仍旧时再重启一次。
Core 用了很多,仍显示 0%? 插件显示 Factory 返回的额度数据。先与官网同账号的 Usage 页面比较;如果官网也为 0%,不能仅凭百分比判断未产生用量或额度无限。Token 统计与额度百分比不是同一口径。
出现 503 / Overloaded 或长时间等待? 查看实际上游、发送与结束日志,区分上游失败、网络等待和本地超时。插件有故障候选轮换,但无法保证 Factory 一定有健康线路。不要把所有错误都当作同一种原因。
缓存命中率低? 同时看每次请求的缓存读取与新增输入。新会话首次写入、长代码生成、压缩、清理或切换上游都可能降低累计比例。短请求无法验证长前缀缓存,不保证固定命中率。
界面是新的,但接口 404 / 功能不生效? 完整退出并重新打开 DSH;前端与网关可能加载了不同批次的代码。诊断状态接口 /api/dsh-factory-provider/status 应报告 version: 1.3.8 和目录版本 0.243.0。
子代理提示 route is not allowed? 先让主代理调用 list_subagent_models,使用当前会话允许的准确 provider/model。插件的 Factory 路由与其他插件的同名模型不是同一条路由;会话授权也由 DSH 管理。
提交问题时请附 DSH / 插件版本、模型、错误时间、脱敏报错及相关日志。不要附 API key、完整请求正文或私人对话。
开发与验证
npm install
npm test
# 使用本机 DSH 的 node_modules,运行全部离线宿主集成测试
DSH_FACTORY_HOST_ROOT=/path/to/dsh/node_modules npm test
1.3.8 完整回归为 300 项通过、0 失败、0 跳过,包括真实 DSH 适配器配合本地模拟网关的工具回传、缓存统计、会话线路保持,以及多图、压缩、配置生命周期和界面检查。未设置宿主路径时部分测试会跳过。
本版三个新模型完成离线验证及本机配置加载检查,尚未逐一做真实上游调用。此前 Gemini 4 Argon、Gemini 3.8 Flash 和 Claude 的真实请求结果见 更新记录,不能据此保证所有账号或服务状态都可用。离线测试无需真实 key,不会调用付费模型。
模型预算证据保存在 test/fixtures/;已有模型以 CLI 0.241.0 审计表为基础,本版新增条目取自 0.243.0。压缩策略单独维护,避免把插件策略误写成官方默认。
致谢与许可
感谢 @huangzhenhao90 通过 PR #1 贡献 DeepSeek V4.1 Flash 与 GPT-6.1 Sol 的目录更新。原始提交与署名保留;维护者随后补齐旧条目清理、官方路由、预算核实、升级兼容和回归测试。
Plugins associés
dsh-routing-suite
yjh051108/dsh-routing-suite
dsh-our-free-model
ebony-vinyl/dsh-our-free-model
dsh-workbuddy-connect
corrinehu/dsh-workbuddy-connect
dsh-plugin-subscriptions
v1ki/dsh-plugin-subscriptions