Skip to content

Releases: DDDMUC/dsh-provider-hub

v0.4.1

Choose a tag to compare

@DDDMUC DDDMUC released this 25 Oct 10:08

相对 v0.4.0 的变化:

新增

  • 内置预设 APIGOTO 聚合路由(id: apigoto)——OpenAI 兼容协议,baseURL: https://api.apigoto.com/v1,凭据引用 APIGOTO_API_KEY
  • 收录 14 个主力对话模型:DeepSeek V4.1 Flash / V4 Pro、Claude Sonnet 5 / 5.5 / Opus 5、GPT-6 Luna / 6.1 Sol、Gemini 3.5 Flash、GLM-5.3、Grok 4.6、Kimi K3、MiniMax-M2.7、MiMo-V2.6-Flash、Qwen3.8 Max
  • 模型 id 取自平台公开目录 GET /api/v1/user/user/models(请求里写的是平台的 model_id,不是上游厂商原名);上下文 / 输出上限 / 思考档沿用本仓已有的同款模型条目

文档

  • README 预设计数 57 家 → 58 家,模型 2894 → 2908(models.dev 补充目录 2494 不变);供应商清单加入 APIGOTO

兼容性

  • 无破坏性变更:现有预设、已配置路由、凭据均不受影响
  • 校验:81/81 测试通过;对着真实 @deepseek-ai/dsh-llm-pi-ai 的 Config 解析,58/58 预设全部被接受(2908 个模型)

v0.4.0

Choose a tag to compare

@DDDMUC DDDMUC released this 23 Oct 14:12

v0.4.0

新增:隐藏 / 显示提供商(不丢 Key、不丢配置)

额度用完、或是不想看见时,隐藏供应商路由:它从聊天输入框的模型选择器和 Models 页消失,但 Key 与全部配置都留着,点一下原样恢复。两种杠杆按提供商目录里该路由的 settingsPath 自动判定:

  • profile(settingsPath = ['providers', <route>],pi-ai 路由):撤下整份 profile 存档,路由不再注册 → 卡片与选择器一起消失
  • catalog(settingsPath = [],如 deepseek-official):它的官方插件无条件注册适配器,配置层注销不掉 → 清空其 models 让选择器那个分组因「零模型」被过滤,并在客户端把整行藏掉(页面级隐藏,非注销)

目录:并入 models.dev 补充目录

  • 54 家 → 57 家预设 / 400 → 2894 个模型(+2494 来自 models.dev,含思考等级)
  • 只做加法:core/providers.js 的手工条目、注释、已策展字段一个不动,策展模型永远排前面
  • 已收养(可能被手工精简)的路由不会因为共享目录变大而被重写 —— 指纹只算策展部分
  • 抄不动的:模态只有 text / image —— pi-ai 的 MODALITIES 就这两个值,models.dev 的 pdf / video / audio 写进 profile 会被 schema 直接拒(实测 expected "text" | "image" but got "pdf"),生成器已裁掉
  • 新增三家冲着免费额度的聚合商:AIHubMix(16 个零成本条目)、Requesty(12)、Kenari(10);其中 AIHubMix 的端点 models.dev 未发布,手工钉为 https://aihubmix.com/v1

工具

  • tools/sync-modelsdev.mjs —— 从 models.dev 缓存生成补充目录,--check 可判断是否过期
  • tools/verify-presets.mjs —— 拿装着的真实 pi-ai schema 逐条校验(schemastery 的 Ref 要 .get() 读值)

验证

  • node --test → 81 / 81
  • node tools/verify-presets.mjs → 57 / 57 通过真实 pi-ai schema(2894 模型)

New: Hide / Show Providers (without losing keys or configuration)

When your quota runs out, or when you simply don't want to see a provider, hide the provider route: it disappears from the model selector in the chat input box and from the Models page, but the key and all configuration remain intact—click once to restore it exactly as it was. The two levers are determined automatically based on the route's settingsPath in the provider catalog:

  • profile (settingsPath = ['providers', <route>], pi-ai routes): withdraw the entire profile record, and the route is no longer registered → the card and selector disappear together
  • catalog (settingsPath = [], e.g. deepseek-official): its official plugin registers the adapter unconditionally, and the configuration layer cannot unregister it → clear its models so that the selector group is filtered out due to "zero models," and hide the entire row on the client side (page-level hiding, not unregistration)

Catalog: Merged with the models.dev supplementary catalog

  • 54 → 57 presets / 400 → 2894 models (+2494 from models.dev, including thinking levels)
  • Additive only: the manual entries, comments, and curated fields in core/providers.js remain untouched, and curated models always come first
  • Routes that have already been adopted (and may have been manually trimmed) will not be rewritten just because the shared catalog grows—the fingerprint only counts the curated portion
  • What cannot be copied: modalities are only text / image—pi-ai's MODALITIES has only these two values, and models.dev's pdf / video / audio would be rejected directly by the schema if written into a profile (tested: expected "text" | "image" but got "pdf"), so the generator has already stripped them out
  • Three new aggregators targeting free quota: AIHubMix (16 zero-cost entries), Requesty (12), Kenari (10); among them, AIHubMix's endpoint is not published on models.dev, so it is manually pinned to https://aihubmix.com/v1

Tools

  • tools/sync-modelsdev.mjs — generates the supplementary catalog from the models.dev cache; --check can determine whether it is out of date
  • tools/verify-presets.mjs — validates each entry against the actual installed pi-ai schema (schemastery's Ref must be read with .get())

Verification

  • node --test → 81 / 81
  • node tools/verify-presets.mjs → 57 / 57 pass against the real pi-ai schema (2894 models)

v0.3.2

Choose a tag to compare

@DDDMUC DDDMUC released this 02 Oct 11:45

新增 10 家预设(50 家 / 320 模型)

  • 火山方舟 Agent Plan:7 模型,档位/输出上限/视觉按方舟官方逐模型表 + 端点实测校准(deepseek 系 关/low/high/max,glm-5.3、kimi 系 low/high/max,ark-code-latest 别名 low/medium/high)
  • ClinePass(18)、ZenMux(18)、Poe(18)、302.AI(18)、七牛云 AI(16)、腾讯云 Coding Plan(5)、DeepSeek(3,含官方 compat + thinkingLevelMap)、小米 MiMo Token Plan 国内/新加坡/美国(2×3)

存量校准(从 models.dev + WorkBuddy 双权威源审计)

  • 别名补全 19 条,OpenCode 侧「真缺口」从 20 降到 7
  • kimi-coding 端点补 /v1;qwen-token-plan 系补全到 24 个对话模型;zai-coding-cn +3、minimax-coding-plan +3、moonshot 国内/国际各 +5;xiaomi 补官方 compat;qwen token plan 的 glm-5/5.1 补档位
  • coverageOf 接受任意可迭代(修复 Set 被静默当空集)

三个新工具

  • provider-hub-connect:交互式连接向导——选渠道、贴一次 Key,自动探测本机应用并分别写入(DSH 走应用内指引)
  • provider-hub-cc-switch:写 cc-switch 的 ~/.cc-switch/config.json,全 6 段支持(opencode/codex/claude/claude-desktop/gemini/openclaw),settingsConfig 形状照其 Rust 源码逐段实现;绝不改 current、不抢用户当前 provider
  • tools/patch-chatgpt.mjs:给 ChatGPT/Codex 桌面版注入「⚡ 从第三方登录」悬浮按钮(asar 注入 + 重算 ElectronAsarIntegrity + ad-hoc 重签,可 --restore)

CLI 行为

  • OpenCode:默认只写定义,Key 走其 auth.json(与 /connect 同形);新增 migrate-key;模型条目带 variants(档位即选择器,脏档位 disabled 屏蔽)
  • WorkBuddy:同样 keyless 优先 + unset-key
  • 两个 CLI 的 list 按各 App 原生目录折叠已覆盖预设,只展示真缺口

测试 45/45。

v0.3.1

Choose a tag to compare

@DDDMUC DDDMUC released this 25 Sep 12:09

火山方舟 Agent Plan 预设

  • 新增 volcengine-agent-plan:7 个模型(ark-code-latest、deepseek-v4.1-flash/v4-pro/v4-flash、glm-5.3、kimi-k3、kimi-k2.8-preview)
  • 思考档位按方舟官方逐模型表 + 端点实测:deepseek 系 关(none)/low/high/max,glm-5.3 与 kimi 系 low/high/max,ark-code-latest 别名 low/medium/high
  • 输出上限经端点探测校准:deepseek 384K、glm/kimi 131K、ark-code-latest 128K;kimi-k2.8-preview 标注视觉

OpenCode 适配器 v2

  • 默认只写 provider 定义,Key 一律走 OpenCode 自己的 auth.json(与 /connect 同形,可在「连接提供商」里查看/断开),配置零明文 Key
  • 新增 migrate-key:把配置里残留的 Key 搬进 auth.json
  • 模型条目带 variants:目录档位即选择器档位,未声明档位 disabled 屏蔽(防 models.dev 脏档位泄漏,如 deepseek 上的 medium)

WorkBuddy CLI

  • 同样改为默认只写定义;新增 unset-key [预设|--all];无 Key 写入永不覆盖已配置的 Key

测试 36/36。

v0.2.0

Choose a tag to compare

@DDDMUC DDDMUC released this 23 Sep 12:26

目录大扩充:23 → 39 个预设

新增渠道

  • 国际:Vercel AI Gateway(精选 12 个跨厂商模型)、OpenCode Zen / Zen Go、Cerebras、NVIDIA NIM、Baseten、HuggingFace Router
  • 国内订阅渠道:阿里云百炼 Token Plan(国内/国际)、智谱 Coding Plan、Kimi Coding Plan、MiniMax Coding Plan(国际/国内)、小米 MiMo、Ant Ling、LongCat(美团)

模型清单全面刷新(取经自权威目录,含新旗舰)

  • OpenAI → gpt-6-astra / gpt-5.6-sol / luna / terra;OpenRouter → claude-opus-5、kimi-k3 等精选
  • Anthropic → claude-fable-5.x / opus-5 / sonnet-5;Gemini → 3.1-pro / 3.8-flash
  • Kimi → k3 / k2.7-code;GLM → 5.3 / 5.2 系;MiniMax → M3 / M2.7(协议对齐为 Anthropic Messages)

核心能力

  • 逐模型 compat:路由只保留全部模型一致的兼容开关,不一致的由模型自身携带(Kimi k3 与 k2.x 的 thinking 格式不同、OpenRouter 各模型走 openrouter 格式等)
  • 新增 openai-responses 协议支持(OpenCode Zen 路由用)
  • 新增目录刷新器 tools/refresh-catalog.mjs(从任意权威目录重建模型清单,--dry 先审阅)

WorkBuddy 适配

  • tools/workbuddy.mjs:list / add / add-all --prune / remove / add-custom,写入 ~/.workbuddy/models.json(按应用校验规则、原子替换、已有 Key 不被覆盖、清理目录中已移除的旧条目)

安装

dsh plugin --profile web add dsh-provider-hub
node tools/workbuddy.mjs add-all --prune   # WorkBuddy 侧

v0.1.1

Choose a tag to compare

@DDDMUC DDDMUC released this 22 Sep 09:40

修复

  • 修正文档错误:此前 README 把 StepFun 写成“已有官方适配器”——实际 DSH 内置目录里的 stepfun 指向普通付费端点 api.stepfun.com/v1,Step Plan 订阅端点没有内置条目,之前那套 step_plan/v1 配置是手写的

新增

  • StepFun Step Plan 预设(国内 / 国际)
    • stepfun-step-plan → https://api.stepfun.com/step_plan/v1(环境引用 STEPFUN_API_KEY)
    • stepfun-step-plan-global → https://api.stepfun.ai/step_plan/v1(环境引用 STEPFUN_GLOBAL_API_KEY)
    • 模型:step-5-preview、step-3.7-flash、step-3.5-flash、step-3.5-flash-2603(含推理档位 low/medium/high)
  • 已有 Key 免粘贴启用:预设引用的凭据已存在(进程环境变量 / 凭据服务 / 其它路由)时,输入框留空即可直接启用

其他

  • 预设总数 21 → 23;目录完整性、profile 构建、去重覆盖、Step Plan 可见性共 11 项测试全通过
  • 按目标应用去重行为不变:DSH 原生已覆盖的 13 个预设默认折叠

安装:dsh plugin --profile web add dsh-provider-hub

v0.1.0

Choose a tag to compare

@DDDMUC DDDMUC released this 22 Sep 09:32

首次发布。

  • 21 家服务商预设(OpenAI 兼容 + Anthropic Messages)+ 自定义端点,只填 Key 即可接入
  • 全部写入走 DSH 官方服务(llm-pi-ai 设置 + 凭据服务),热注册、无需重启
  • 按目标应用动态去重:DSH 已内置的服务商默认折叠,目录不删、可展开
  • core/ 为纯 JS 无依赖,供后续桌面端复用

npm: dsh plugin --profile web add dsh-provider-hub