前言¶
在 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 推荐顺序操作:
- 创建账户并命名(建议 ASCII,纯非 ASCII 名称会回退为
accountid)。账户 id 会进入路由名。 - 粘贴 Key 并保存。凭证只写入 Harness 存储,不进入插件 JSON,也不会回传给页面。需要时可点 Verify key 检查额度。
- 为账户选型:在目录中点选模型加入或移除;配合搜索、价格区间、仅免费与排序。
- 在对话中使用:在会话底部模型选择器里,在
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 仓库。