dsh-free-model:在 DSH 里统一管理免费模型渠道

前言

在 DeepSeek Harness(DSH)里做智能体或日常对话,模型往往不只有官方一条线:账号类免费额度、本机 OpenCode 或 Ollama、以及各家「自带 API Key」的免费层,来源分散、就绪条件各不相同。常见做法是各自配环境变量、各自试连通性,出问题时也很难判断该登录、该起进程还是该换 key。

下面介绍的 dsh-free-model(维护者 DeZhou123,分类为模型推理,当前版本 0.6.0)把上述渠道收进 DSH 的一个设置项、三个页签,并为每条渠道给出就绪状态和可执行的失败原因;渠道清单采用三层目录,可在不发插件新版本的情况下远程增补。

这是什么

dsh-free-model 是 DSH 的「免费模型控制台」插件:在宿主内挂载多类不花钱或低成本模型路由,并提供 HTTP 管理面(设置页 + /api/free-model/* 路由)。

它要回答的问题是:有哪些免费模型、现在能不能用、不能用时下一步做什么——而不是让用户在报错里猜。

三类渠道在插件内分开管理(合并成一句「不可用」容易让人试错方向):

类 条数(0.6.0) 路由前缀 能力概要 页签
账号渠道 2 buddy/*、workbuddy/* 工具调用、看图 账号渠道
服务渠道(本机进程) 6 以 opencode/* 等本地/网关车道为主 无工具;能看图、不能调工具 本地与网关
自带 key / 免 key 34 + 1 免 key <渠道 id>/* 取决于上游 自带 key

服务车道包括 OpenCode 免费层、FreeLLMAPI 网关、Ollama、LM Studio、vLLM、llama.cpp 等;自带 key 目录在 0.6.0 从 21 条扩到 34 条(另含免 key 渠道),并新增与「就绪」分开的健康账本(401 吊销、429/402 冷却等,落盘于 $DSH_HOME/free-model/health.json)。

核心功能

就绪与健康两套信号

就绪(GET /channels)表示配置是否满足挂载条件,例如 key 是否已填、账号是否登录、本地服务是否在跑。状态包括:就绪、需动作、不可用、未知,并附带原因(配哪个凭据、去哪拿 key、起哪个服务)。

健康(GET /health)记录上次真实打上游的结果(探测或对话适配器回执),与就绪分离。例如 key 已填但被 401 拒:就绪仍为就绪,健康为已吊销;额度用尽则显示冷却中及剩余时间。页面每张卡有健康徽章(绿 / 黄 / 红 / 灰,灰表示未测),页头提供带计数的筛选胶囊与搜索(渠道名、凭据名、端点、模型样例均可搜)。

自带 key 页:填 key、探测、试跑

自 0.4.1 起可在页面保存或清除 key(写宿主凭据,永不回显原文,只返回脱敏值)。保存后立刻尝试挂载路由;清除后凭据删除,路由保留以便报错可读。

典型动作与路由对应关系:

动作 路由
保存 / 清除 key POST /key、DELETE /key
测试 key(打 /models 或声明的 modelsURL) POST /key/probe
试一句话(最小补全,验证能否干活) POST /key/try
查额度 / 订阅窗口 POST /key/balance、POST /key/windows
批量探测已配凭据 POST /key/probe-all
换 key 后清健康 POST /health/reset
暂时不用某渠道(不清凭据) POST /channels/toggle

探测在无 key 时不发请求(no-key);有 key 时按 kind 分类(如 ok、invalid-key、forbidden、rate-limited、quota 等),便于区分「key 错了」和「网络/WAF/限流」。

账号渠道与服务渠道

账号渠道覆盖 CodeBuddy、WorkBuddy:浏览器登录、积分领取、自动签到等能力走账号面路由(如 GET /login、POST /checkin、GET /credits)。插件在宿主已有 accountPool 时会复用。

服务渠道对本机或网关进程做 HTTP 探针(成功/失败各有 TTL 缓存)。OpenCode 可由插件代起 opencode serve(POST /opencode/start 等);FreeLLMAPI、Ollama 等需按卡片提示配置或启动。

可远程更新的渠道目录

渠道元数据分三层叠加:shipped(随包)← remote JSON ← local override。远程拉取走 HTTPS,格式版本不符则整份拒绝;失败时降级到本地层。因此上游换域名、新增免费车道时,不必等插件发版。插件自身还有 semver 版本检查(GET /update)。

安装与启用

仓库许可证为 MIT(见 README 安装节)。安装前建议自行浏览 GitHub 源码 与许可证;插件以当前 DSH 进程权限运行,会读写凭据与健康状态文件。

先做下面命令从 GitHub 安装(--profile web 以 README 为准,请换成你实际使用的 profile 名):

dsh plugin --profile web add github:DeZhou123/dsh-free-model

再做配置:在对应 profile 的 dsh.profile.bundles 末尾追加 "dsh-free-model",然后重启 DSH 宿主。

README 另提供 link: 本地路径安装方式,适合改插件源码即时验证;路径需改为你本机仓库位置,此处不展开。

典型用法

经过上面的安装步骤后,在 DSH 设置里打开 免费模型(section id:free-model)。页内三个页签分别管账号、本地与网关、自带 key;当前页签会记在浏览器 localStorage 的 free-model:tab,刷新后仍停在原页签。

自带 key 渠道(README 0.4.1 流程):

  1. 按卡片提示去上游申请免费 key(免 key 渠道跳过)。
  2. 粘贴到输入框并保存 → 宿主写入凭据并尝试挂载 <渠道 id>/* 路由。
  3. 点「测试 key」→ 根据探测 kind 处理(401 换 key,429 等待,403 未必是 key 问题)。
  4. 可选:POST /key/try 或页面「试一句话」确认能完成最小补全。
  5. 换 key 后若仍显示「已吊销」,保存新 key 会自动清该车道健康,或手动 POST /health/reset。

账号渠道:在「账号渠道」页完成登录;需要积分时使用领取、签到相关操作;自动签到状态写在 $DSH_HOME/channel-pack/free-model-auto-checkin.json,与宿主其他自动签到文件独立。

服务渠道:在「本地与网关」查看探针结果;OpenCode 可一键启动/停止/刷新;其他服务按提示在本机起进程或填网关 key。

在智能体或 profile 里选用模型时,路由前缀与上表一致(例如已挂载的 groq/*、openrouter-free/*、buddy/*)。具体模型 id 以各渠道目录或探测结果为准。

维护者还提供 npm run probe:endpoints 等脚本用于端点可达性检查(README 记载 2026-10-26 实测 32/35 可达),属于仓库开发侧验证,普通使用者以设置页探测为主即可。

适用场景与注意

适合:希望在 DSH 内集中查看「免费/低成本」模型渠道状态;需要账号车道 + 本地 OpenCode/Ollama + 多家 BYOK 免费层混用;希望渠道清单随社区远程更新而不是等插件发版。

注意:

  • 服务车道不支持工具调用,复杂智能体主链路应优先账号车道或能力完整的自带 key 上游。
  • 「就绪」与「健康」含义不同:配置齐全不代表 key 未被吊销或额度未用尽。
  • 403、网络超时等与 401 处理方式不同,应按探测 kind 与卡片文案操作,避免反复换 key。
  • 关闭渠道(toggle)不等于删除 key;未挂载时查看宿主日志,并在页面上重新保存 key 触发挂载。
  • DSH 社区插件目录站点 SkillHub 与 DeepSeek / 幻方无官方从属关系;安装来源以你信任的 GitHub 仓库与目录页为准。

结尾

dsh-free-model 把分散的免费模型来源收成 DSH 内一个控制台:三页签分治账号、本地服务与 BYOK,就绪与健康分开提示,渠道目录可远程迭代。当前版本 0.6.0,星标数在目录页显示为 0(以站点为准)。

羽毛球分组比赛记分
小程序二维码

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

小夜