dsh-free-tier-router:把多平台免费 LLM 额度合成可自动切换的渠道池

前言

在 DeepSeek Harness(DSH)里做智能体开发,模型调用往往要对接多个上游:各家免费额度分散在不同平台,限流、欠费、能力不匹配(识图、工具调用)都会打断会话。手工换 key、换模型,或自己在脚本里写 failover,维护成本高,也容易在「纯文本渠道收到图片却返回 200 瞎编」这类场景里踩坑。

下面介绍社区插件 dsh-free-tier-router(维护者 EiyoV)。它在 DSH 内挂载自包含的代理内核,把多个平台的免费(及你手动配置的)渠道收成池子,按任务能力过滤、按实测 token 成本排序,并在失败时自动 fallback。SkillHub 目录页标注版本 v1.0.0,仓库许可证为 MIT(以 SkillHub 同步元数据为准)。

这是什么

dsh-free-tier-router 是面向 DSH Web profile 的插件包(package.json 中 dsh.client.platform 为 web),通过 cordis.patch.yml 自动挂载 Host 与设置侧 UI。一句话定位:自带代理的多平台 LLM 渠道池——不负责替你注册账号或「造额度」,而是把你已有的 key 和平台免费额度组织成可观测、可熔断、可自动切换的路由层。

与「只改 DSH 里某一个 provider 配置」相比,它额外提供渠道健康、冷却、额度软/硬阈值、面板运维,以及按请求形态(图片、tools)选渠道的规则。

核心功能

以下能力均来自仓库 README(经 SkillHub readme 接口同步,2026-10-21 可核对)。

渠道池与 fallback

  • 内嵌代理维护渠道清单,请求失败时换下一个候选,并对失败渠道设冷却。
  • 默认代理监听 127.0.0.1:8787;若该端口已有 llm-router 在跑,插件会复用而不是重复启动(README 说明)。

按任务选渠道

  1. 请求带图片 → 只选声明了 image 能力的渠道。
  2. 请求带 tools → 只选支持工具调用的渠道。
  3. 标记为 manualOnly 的渠道在 auto 模式下不参与自动路由,避免误走付费线路。

额度熔断与优先级

  • 软阈值(默认 softRatio 0.9):渠道排到队尾,额度未用尽但不优先。
  • 硬阈值(默认 hardRatio 1.0):渠道停用,兜底也不选。
  • 信息源优先平台自报(如响应头剩余 token、OpenRouter 余额接口),其次本地累计(~/.dsh/llm-router/usage.json)。
  • 「探测并优化优先级」按同一条探测请求的 total_tokens 重排 priority(可单独执行 node lib/probe.mjs --tune)。

运维面板与 API

装完并重启 DSH 后,可在「设置 → 渠道池」管理,或访问 /llm-router;Host 侧提供 /api/llm-router/*(如 status、catalog、action、save-key)。面板支持查看冷却、错误、累计 token、粘贴保存 key、解除冷却、发现 OpenRouter 零价模型等。

明确不做的事

README 强调:不产生免费额度、不代注册、不做风控对抗;多账号轮换免费额度可能违反平台条款,风险自负。同一账号多把 key 共享额度,只有不同账号才可能是独立额度。

安装与启用

安装前建议:插件以当前 DSH 进程权限运行,会读写 ~/.dsh/llm-router/ 下的配置与密钥;请先阅读 GitHub 仓库 源码与 MIT 许可证。Node 要求 >=20(manifest engines)。

方式一:SkillHub 目录给出的可复现安装(web profile)

SkillHub 为 EiyoV/dsh-free-tier-router 提供的 install-plan 命令(含精确 commit)如下。执行前可按 plan 中的步骤审查 package.json 的 dsh.bundle.patch 与生命周期脚本。

dsh plugin --profile web add github:eiyov/dsh-free-tier-router#1871a0a90bd89e2d70c4d77a442013dde013c495

完成后启动或重启:

dsh --profile web

并确认插件行已加载且无启动错误。

方式二:README 中的 GitHub 安装(profile 名可替换)

dsh plugin --profile <你的profile名> add github:EiyoV/dsh-free-tier-router

README 注明:不要对 desktop profile 使用 dsh plugin add(CLI 会拒绝;desktop 由 Electron 独占管理)。安装应使用 DSH 自带的 pnpm 环境。

方式三:zip 离线包

  1. 取得 dsh-free-tier-router-1.0.0.zip(项目 dist-package/ 或本地 node dsh-plugin/pack.mjs)。
  2. 解压后在目录内执行 node install.mjs。
  3. 重启 DSH,在面板填写 key。

配置与密钥默认落在 ~/.dsh/llm-router/(config.json、.env、catalog.json、usage.json 等),首次运行从内置模板生成。

典型用法

经过上面的安装与重启,可按下面顺序落地。

  1. 打开渠道池面板
    「设置 → 渠道池」,或浏览器访问 http://127.0.0.1:19387/llm-router(README 给出的装后地址;若端口与 patch 不一致,以你本机 cordis.patch.yml / config.json 为准)。

  2. 填写各平台 API Key
    面板支持直接粘贴保存;也可编辑 ~/.dsh/llm-router/.env。

  3. 按需配置额度熔断(可选)
    在 config.json 为渠道设置 limits,例如:

   "limits": { "tokens": 1000000, "window": "90d", "softRatio": 0.9, "hardRatio": 1.0 }

仅 note 的旧配置行为不变;完整字段见仓库 docs/CONFIG.md。

  1. 同渠道多 key(多账号场景)
    README 提供辅助脚本示例:
   node add-account.mjs qianfan-text "bce-v3/ALTAK-xxx/yyy"
   node add-account.mjs --list

401/403/429 时会在同一渠道内轮换 apiKeyEnvs 中的 key。

  1. 调优优先级
   node lib/probe.mjs --tune

按实测 token 开销重排 priority;manualOnly 渠道不参与。

开发调试时可跑冒烟测试(不需 key):

node dsh-plugin\test\smoke.mjs

适用场景与注意

适合谁

  • 已在多个平台领取免费或试用额度,希望在 DSH 里统一路由、自动 failover 的开发者。
  • 需要按「是否识图 / 是否 tool call」选上游,并希望在面板里观察冷却与用量的场景。

务必注意

  • 插件不能替代你在各平台完成注册与合规使用;付费渠道务必用 manualOnly 或显式 providerId::model,避免自动 fallback 产生费用。
  • 本地用量只统计经过本代理的流量;DSH 若直连上游,熔断统计可能不完整(README 已说明)。
  • config.json 里 capabilities 声明要准确,避免向纯文本渠道发送图片。
  • 社区目录 SkillHub 插件页 与 GitHub 无 DeepSeek / 幻方官方从属关系;DSH 生态本身是「一切皆插件」,请自行评估信任边界。

结尾

dsh-free-tier-router 把分散的免费 LLM 渠道收成带熔断与任务感知的路由池,并给出 Web 设置面板与本地数据目录,适合在 DSH 里长期跑 agent 时减少手工换模型成本。安装命令以 SkillHub install-plan 或 README 为准;功能细节与边界以仓库 README 为权威来源。

  • 目录页:https://www.skillhub.cn/plugins/EiyoV/dsh-free-tier-router
  • GitHub:https://github.com/EiyoV/dsh-free-tier-router
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye