模型节点优选 / Model Node Optimizer
为 DeepSeek Harness 当前默认模型实测 API 节点速度,推荐稳定的 IP,并按需应用。包名:dsh-best-ip。
Benchmark the current DSH default model's API IPs. Testing recommends an address; applying it is a separate, explicit action. No provider credentials or personal routes are bundled.
界面预览

安装
需要带有插件管理器、默认模型、Settings、凭据和 Web 服务的 DSH。当前兼容声明为 >=0.2.1-rc.1,包含 rc.1、rc.2、rc.3 及后续版本,不设版本上限;这只是安装版本范围,不代表所有后续版本都已实测兼容。Node.js 要求 >=22,无需单独安装运行时依赖。仅支持使用 API Key 的默认供应商,暂不支持 OAuth 或其他模型适配器。
从 npm 安装(推荐)
插件已发布到 npm,可直接按包名安装,无需克隆仓库:
在 DSH 侧栏打开 插件 → 添加插件 / 安装第三方插件。
在安装来源中填写包名:
dsh-best-ip需要固定版本时填写实际已发布的版本号,例如
dsh-best-ip@1.2.0。确认信任该插件,点击 安装,随后选择 立即启用。
打开 设置 → 模型节点优选。
包页面:https://www.npmjs.com/package/dsh-best-ip
若你的 DSH 使用国内 npm 镜像且暂时提示找不到包,等待镜像同步,或手动触发 https://npmmirror.com/sync/dsh-best-ip 后再试。
从 GitHub 安装
适用于想跟随源码最新提交,或在插件尚未发布到 npm 时:
在 DSH 侧栏打开 插件 → 添加插件 / 安装第三方插件。
在安装来源中填写:
https://github.com/otsffs/dsh-best-ip.git查看并确认信任该插件,点击 安装,随后选择 立即启用。
打开 设置 → 模型节点优选。
正式分发建议固定实际存在的 Git tag 或 commit。Git 仓库不可匿名读取时,其他用户不能直接按上述地址安装。插件有宿主进程权限,请仅安装你信任的版本。
从发布包安装
维护者运行 npm pack 生成 .tgz 后,可以将它作为 GitHub Release 附件分发。在同一个安装输入框中填写该包在 DSH Host 上的绝对路径;这不是浏览器文件上传。远程 Web 用户应使用服务器能读取的路径。
这三种方式都可以安装同一个插件,按名字或 tgz 安装不要求仓库可匿名读取。仅创建仓库或发布 npm 不会自动进入 DSH 的 Discover 列表,Discover 需要配置第三方插件索引。
使用
- 自动测速:发现有效 IP、测速并保存推荐,不改变当前 IP。
- 自动测速并应用:成功后应用本轮推荐;失败或停止时保留原 IP。
- 当前 IP 对照:已保存应用的 IPv4 会在下次测试中重新纳入同一供应商/域名的候选,首轮优先实测;即使 DNS 或随机扫描没返回它,也不会漏测。只保存了推荐、尚未应用的地址不作对照;重复地址只测一份。
- 最大测速 IP 数:
10 / 任意(自定义) / 全部,默认全部。正数上限内先给已选 IP 保留一个名额,其余按 ping 从低到高选取,例如 10 个是“当前地址 + 9 个新候选”,不会额外扩大付费预算;上限为 1 时仅测当前地址。失败也占名额,不用更慢地址补位。未限数量时,已选 IP 至多额外增加一个候选。显式only子集仍是权威范围,不会强行插入被排除的地址。当前选择立即用于两个按钮,点击保存可长期保留。 - 测一下当前地址:仅测试当前生效地址;未应用 IP 时使用系统 DNS 的 IPv4 地址,不改变选择。
- 停止测试:取消在途和排队请求,保留已完成样本,不应用部分结果。已发出的请求可能已经计费。
- 应用此地址 / 清除并恢复系统 DNS:显式应用或清除选择。
页面默认显示 全部最多约12w token,旁边的 ! 图标悬停可查看详细预算:160 个有效 IP × 3 次 × 最多 256 输出 token = 122,880 输出 token,另计输入 token。160 是额外扫描预算,DNS 返回地址和上次已选 IP 可能额外增加;实际费用取决于有效 IP、输出长度及供应商计费。
插件始终跟随目标用户的 DSH 默认供应商/模型,不携带预设供应商 ID、API 地址、凭据或已选 IP。切换默认模型不会自动测速。
配置和限制
安装层见 cordis.patch.yml,其余默认值由插件提供:
| 配置 | 默认值 | 作用 |
|---|---|---|
maxBenchmarkIps |
0 |
0 为全部,正整数为付费测速 IP 上限 |
maxCandidates |
160 |
额外 Cloudflare 地址探测上限,不含 DNS 返回地址 |
benchmarkRuns |
3 |
每个入选 IP 的计划次数,范围 1–5;最后一轮允许跳过已证明无竞争力的失败尾部 |
benchmarkTimeoutMs |
60000 |
单次付费测速的总超时(连接至流结束),整数毫秒,范围 1000–300000;与 DNS、探测超时独立 |
adaptiveBenchmarkTimeout |
true |
有足够健康节点时,缩短上一轮超时节点的下一次等待;设为 false 则始终使用基础超时 |
adaptiveBenchmarkSampling |
true |
最后一轮优先确认领先者,并按乐观分数上界跳过失败尾部;设为 false 则测满计划次数(仍按新评分安排轮间顺序) |
scanEdges |
true |
在 DNS 地址之外采样 Cloudflare 边缘网段 |
dnsServers |
公共 DNS 列表 | 只用于手动发现候选;空列表仅用系统解析器 |
- 支持 HTTPS OpenAI Chat Completions、OpenAI Responses、Anthropic Messages;不猜测其他协议或特殊认证。
- 仅扫描/测速 IPv4。探测验证目标域名的 TLS 证书;测速使用原域名的 Host/SNI,连接候选 IP。
- 已选 IP 只从相同供应商/域名的保存记录获取,不借用其他供应商或未应用的推荐;会尝试重新探测,但免费探测失败时仍保留它做真实 API 诊断,测速仍验证域名 TLS 证书,实际错误照常记录。其他探测失败的地址不会因此获得付费名额;无 DNS 且无已选地址时仍不盲扫。
- TCP 延迟(界面的 ping)用于剩余名额及首轮对照之后的顺序;首轮完成后,每轮按最新统一评分从高到低安排下一轮。TPS 原值和每次实测结果始终保留;平分时依次考虑可信样本数、有效速度、慢尾、首字延迟、ping 和 IP。
- 自适应超时只使用本次入选节点上一轮的数据:至少 3 个且占比达到 60% 的节点产出可信样本,才对上一轮
timeout/ETIMEDOUT的节点缩短等待。预算为min(基础超时, max(基础超时的一半, 健康样本总时长 P90 × 2)),使用 nearest-rank P90 并向上取整为毫秒;默认通常为 60 秒 → 30 秒。健康节点本身较慢时保留更长等待;整体变差、样本不足、节点恢复成功或出现其他错误时恢复基础超时,不会逐轮减成 15 秒、7.5 秒。第一轮及“测一下当前地址”始终使用基础超时,每个 IP 的计划次数不变。 - 两项超时配置可在插件配置行设置;保存接口也接受这两个字段。新样本及进度中的
timeoutMs保留实际预算,便于区分 30 秒和 60 秒超时;不改变正常模型请求的超时,也不重写旧测速记录。 - 流式速度为输出 token 数 ÷ 首 token 到响应结束的时长。无有效 usage、截断、错误或过短样本不能获得可靠推荐。
- 评分 v2:
100 × (0.8 × Hc + 0.2 × Q25c) / R × 成功率² × 测量可信度。Hc 为封顶后的调和平均 TPS,Q25c 为封顶后的 nearest-rank Q25,R 为本次入选节点各自原始调和 TPS 的中位数。成功率仅统计真实已完成请求;测量可信度为可信样本数 / 成功请求数 × min(1, 可信样本数 / 2)。失败与测量不充分分开,未测、跳过、取消不伪装成失败;IQR 仅作诊断,不再因纯粹提速而扣分。TTFT 仅参与平分决胜。 - 群体速度上限:至少 3 个节点且合计 6 个技术可信样本时,以各节点调和 TPS 的 nearest-rank Q90 × 1.5 作为经验上限(不低于 R)。超上限只封顶计分、标记
high-capped,不删除原值、不扣成功率。少量样本时不启用封顶/提前淘汰;无群体数据的单地址观测采用参考值 100,不能与另一轮的相对分数直接比较。 - 最后一轮筛选:参考量在轮间统一更新,最后一轮冻结同一参照和上限;先完成领先者复测,再对曾失败或没有可信样本的尾部,假设其剩余请求全部成功且达到上限,计算最高可能分。只有该上界仍低于已确认领先者得分的 95% 才跳过;成功但慢的节点、接近的竞争者仍继续测。全场两次都失败或参照不足时保留第三次机会。
- 推荐与进度:至少 2 次技术可信样本才有正式推荐资格,正常结束自动应用还须完整复测且无跳过/取消;只有 1 次成功的恢复结果仅显示暂列,不自动应用。进度分别显示已测、跳过、原始预算和轮次;“暂列领先 / 已确认 / 已淘汰 / 旧记录”清楚分开。每轮内分数实时更新、行顺序保持稳定,轮末统一重排。
- 旧记录兼容:不将 v1 分数重标成 v2。不同测试轮次用独立标识隔离;未在本轮入选的旧 v2 数据也只作历史展示,不混入当前榜单或冒充新推荐。单独重新发现候选只保留旧样本并统一标为历史,重启前后状态一致;已有手动/生效 IP 保持不变,重新测速后才获得新的可比分数。
- 网络路径、代理、模型负载和限流都会影响结果。推荐只针对本次测试候选和工作负载,不保证全局最快。
- 只有显式应用的地址才影响新建 DNS 连接;不修改操作系统 DNS,也不代表已存在的连接池会立即切换。同域名的不同供应商无法通过全局 DNS 钩子独立选择冲突 IP。
- 设置接口仅接受本机回环客户端的同源 POST。远程 Web 管理目前不在支持范围内。
隐私
- 没有遥测或作者配置的采集端点。只有用户显式发起测试时才进行候选发现和付费请求。
- 公共 DNS 会收到要解析的供应商域名;候选 IP 会收到目标域名的 TLS SNI。测试请求会携带该供应商的 API Key,因此只应测试你信任、证书验证通过的服务。
- API Key 由本机 DSH 凭据服务在显式操作时读取。新测速结果不保存密钥、测试提示词、完整端点 URL 或原始错误响应;工作负载元数据只保留 provider/model、端点 origin 和数值预算。旧记录的 benchmark context 在读取时也会去敏。
- 测量结果在当前 profile 的
dsh-best-ip/state.json中;未使用 profile 时保存到 DSH home。记录仍含域名、IP、模型及测量信息,请勿公开上传运行记录或凭据。 - .gitignore 排除环境文件、凭据、运行状态、日志和生成包;package.json 的发布白名单只包含运行时文件、界面资源、安装层、说明和许可。测试和开发脚本不随安装包分发。
开发与检查
从源码目录执行,无需 npm install:
npm run check
npm test
npm run check:package
npm pack
- 测试通过注入 DNS、HTTPS、凭据和存储替身运行;预载器阻止真实网络,并避免加载本机 DSH profile 的 schema 模块。存储测试只使用自有临时目录。
check:package离线执行npm pack --dry-run --ignore-scripts,核对完整的发布文件白名单和通用隐私规则;它不安装、不上传、不发布。prepack会执行语法、测试和包检查。没有安装时脚本或构建步骤,Git/tgz 安装直接使用成品 JavaScript。- GitHub CI 在 Linux/Windows、Node 22/24 上配置了相同检查;本地静态/离线通过不等于已实际验证所有 DSH 版本或安装渠道。
参考与许可
- DSH bundle 发布规范
- DSH 插件管理界面
- Cloudflare IPv4 清单:内置静态采样清单,不在运行时下载。
采用 MIT License。
No comments yet. Be the first to write one.