dsh-openrouter-models:在 DeepSeek Harness 里管理 OpenRouter 模型目录与多 Key 路由

前言

在 DeepSeek Harness(DSH)里接 OpenRouter,常见做法是手写 llm-pi-ai 配置:自己填 baseURL、模型列表和 API Key。OpenRouter 上游模型多、价格与上下文长度会变,维护一份静态列表成本高;多把 Key(主备、不同预算)又需要多套路由,容易和平台自带的模型选择器、凭证解析机制脱节。

下面介绍社区插件 dsh-openrouter-models(维护者 type53)。它在 DSH 里提供一页设置界面:拉取 OpenRouter 在线模型目录,按名称、价格等筛选,并把「一个命名账户 + 一把 Key + 所选模型子集」映射成一条原生 llm-pi-ai 路由,出现在对话底部的模型选择器和 /model 中。

这是什么

dsh-openrouter-models 属于 DSH 社区插件目录中的「模型推理」类扩展。源码仓库:github.com/type53/dsh-openrouter-models;目录页:skillhub.cn/plugins/type53/dsh-openrouter-models。

插件自述定位:OpenRouter 模型目录与多 Key 路由器——在线目录、价格过滤,且每个 API Key 对应一条 llm-pi-ai 路由。实现上刻意自包含:lib/ 下六个文件,无运行时依赖、无构建步骤,也不从 @deepseek-ai/* 导入。请求路径上不自行处理流式响应或直连网络,而是为每个账户声明一条普通 llm-pi-ai 路由,复用 Harness 已有的选择器、默认模型、重试与凭证解析。

核心功能

在线模型目录与筛选

在设置页可浏览 OpenRouter 实时模型目录(数量随上游变化),支持按名称 / id / 厂商搜索,按输入或输出价格($/M tokens)过滤,勾选 仅免费,并按价格、上下文长度或名称排序。

多账户与「一 Key 一路由」

可保存多把 OpenRouter API Key,各自命名为账户(如 main、backup)。每个账户绑定自己挑选的模型子集后,生成一条原生路由,在界面中显示为 OpenRouter · <账户名>,路由 id 形如 openrouter-<account>。仅配置 Key、未绑定任何模型时,不会出现可用路由(llm-pi-ai 不接受空模型列表的手写路由)。

与 Harness 配置的对应关系

每个账户在逻辑上对应一段 llm-pi-ai 提供方配置,例如账户 id 为 main 时:

llm-pi-ai:
  providers:
    openrouter-main:
      displayName: OpenRouter · Main
      apiKeyEnv: OPENROUTER_KEY_MAIN
      api: openai-completions
      baseURL: https://openrouter.ai/api/v1
      compat: { supportsDeveloperRole: false, thinkingFormat: openrouter }
      models: [ ... ]

插件把派生路由写入当前 profile 的 cordis.patch.yml(用户设置层),下次请求即可生效;每次启动时还会从账户文件重新同步。contextWindow、maxTokens、输入模态、reasoningEfforts 等尽量从在线目录填充;选型时也会存一份副本,以便目录暂不可达时仍能正确声明推理相关能力。删除账户或清空其模型时,只移除本插件拥有的路由,不影响其他 llm-pi-ai 提供方。

数据与安全(摘要)

数据 位置
账户及所选模型 $DSH_HOME/openrouter-models.json(默认 ~/.dsh/openrouter-models.json)
API Key Harness 凭证库,引用名 OPENROUTER_KEY_<ACCOUNT>
派生路由 当前 profile 的 cordis.patch.yml

出站仅面向 openrouter.ai:公开目录 /api/v1/models(不带凭证),以及点击 Verify key 时的 /api/v1/key。Key 为只写:页面只回报是否已配置,校验仅返回额度类元数据。主机路由挂在 Connection 已认证的 /api 通道上。许可证为 MIT(见仓库 package.json 与 README)。

安装与启用

环境要求(来自 README):DeepSeek Harness 0.1.5-rc.2 或更新,Node.js 20+。

npm 包版本在 package.json 中为 0.1.0;README 说明包发布到 npm 后可在桌面端安装,也可直接从 GitHub 或本地路径安装。

桌面端请先完全退出 DSH(含托盘),再执行下列命令之一。CLI 在应用运行时不会修改 desktop profile。

# 从 npm(包发布后)
dsh plugin --profile desktop add dsh-openrouter-models

# 或直接从 GitHub
dsh plugin --profile desktop add github:type53/dsh-openrouter-models

# 或本地开发路径
dsh plugin --profile desktop add link:/absolute/path/to/dsh-openrouter-models

若只使用 CLI profile(web、headless 或自定义名称),将 --profile desktop 换成对应名称即可。

安装后需重启 DSH——主机侧插件在启动时挂载。随后在 Settings → OpenRouter 模型 打开配置页(当前界面为中文)。

社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系;安装前建议自行查看仓库源码与 LICENSE,并知悉插件以当前 DSH 进程权限运行。

典型用法

按 README 推荐顺序操作:

  1. 创建账户并命名(建议 ASCII,纯非 ASCII 名称会回退为 account id)。账户 id 会进入路由名。
  2. 粘贴 Key 并保存。凭证只写入 Harness 存储,不进入插件 JSON,也不会回传给页面。需要时可点 Verify key 检查额度。
  3. 为账户选型:在目录中点选模型加入或移除;配合搜索、价格区间、仅免费与排序。
  4. 在对话中使用:在会话底部模型选择器里,在 OpenRouter · <账户名> 下挑选已绑定模型。

适用场景与注意

适合:需要在 DSH 内快速浏览 OpenRouter 最新模型与价格、按账户拆分 Key 与模型集合,且希望走原生 llm-pi-ai 而非自写流式适配器的开发者。

注意:

  • 离开设置页后,筛选条件不会持久化(README「Known limitations」)。
  • 修改 lib/client.js 后刷新设置页即可;修改主机侧 lib/index.js 等需重启 DSH。
  • GitHub 仓库当前星标为 0(以目录线索为准);功能与限制以 README 与 SECURITY.md 为准。

结尾

dsh-openrouter-models 把 OpenRouter 的在线目录和多 Key 管理收进一页设置里,用「每账户一条 llm-pi-ai 路由」对齐 DSH 既有推理栈。需要安装入口与分类信息可看 SkillHub 目录页;实现细节与开发测试命令见 GitHub 仓库。

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

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

小夜