前言¶
在 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 说明)。
按任务选渠道¶
- 请求带图片 → 只选声明了
image能力的渠道。 - 请求带 tools → 只选支持工具调用的渠道。
- 标记为
manualOnly的渠道在auto模式下不参与自动路由,避免误走付费线路。
额度熔断与优先级¶
- 软阈值(默认
softRatio0.9):渠道排到队尾,额度未用尽但不优先。 - 硬阈值(默认
hardRatio1.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 离线包¶
- 取得
dsh-free-tier-router-1.0.0.zip(项目dist-package/或本地node dsh-plugin/pack.mjs)。 - 解压后在目录内执行
node install.mjs。 - 重启 DSH,在面板填写 key。
配置与密钥默认落在 ~/.dsh/llm-router/(config.json、.env、catalog.json、usage.json 等),首次运行从内置模板生成。
典型用法¶
经过上面的安装与重启,可按下面顺序落地。
-
打开渠道池面板
「设置 → 渠道池」,或浏览器访问http://127.0.0.1:19387/llm-router(README 给出的装后地址;若端口与 patch 不一致,以你本机cordis.patch.yml/config.json为准)。 -
填写各平台 API Key
面板支持直接粘贴保存;也可编辑~/.dsh/llm-router/.env。 -
按需配置额度熔断(可选)
在config.json为渠道设置limits,例如:
"limits": { "tokens": 1000000, "window": "90d", "softRatio": 0.9, "hardRatio": 1.0 }
仅 note 的旧配置行为不变;完整字段见仓库 docs/CONFIG.md。
- 同渠道多 key(多账号场景)
README 提供辅助脚本示例:
node add-account.mjs qianfan-text "bce-v3/ALTAK-xxx/yyy"
node add-account.mjs --list
401/403/429 时会在同一渠道内轮换 apiKeyEnvs 中的 key。
- 调优优先级
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