前言¶
在 DeepSeek Harness(DSH)里,若通过 @deepseek-ai/dsh-llm-pi-ai 接第三方 OpenAI 兼容提供商,模型菜单里能选什么,往往取决于你在配置里手写的那份 models 列表。提供商上新模型时,列表不会自动出现;已下架的模型仍可选,直到请求失败,表现像网络问题而不是配置过期。模型行上也没有和提供商控制台一致的厂商标识,多把密钥拆成多个聊天时,还要复制整条路由或再建 profile。
dsh-rustvy(维护者 koliy82,npm 包名 dsh-rustvy,当前资料中版本 1.1.0,MIT 许可证)面向 web profile,在同一套机制里处理三件事:模型选择器中的厂商单色图标、从路由自身端点刷新并写回模型列表、以及同一 profile 下多把提供商 API 密钥按聊天切换。默认示例指向 Rustvy,但站点、路由名与 profile 行均可配置,不限于单一提供商。
这是什么¶
一句话:dsh-rustvy 是 DSH 的 模型推理 类插件,在主机侧把公开目录与 logo 镜像到 loopback,按路由端点再生 pi-ai 的 models(写入前展示与现有配置的差异),并为每把密钥克隆路由,密钥只进 Harness 凭据存储,不写进插件文件。
社区目录页:koliy82/dsh-rustvy。源码与说明:GitHub koliy82/dsh-rustvy。
核心功能¶
下面按 README 中的三项任务说明;前两项共用同一套公开目录镜像,第三项只依赖 profile 路由结构。
厂商标识(Vendor marks)¶
每个模型行前增加与提供商面板风格一致的单色厂商图标:CSS mask + currentColor,一个文件覆盖明暗主题以及悬停、选中、禁用等状态。
| 位置 | 表现 |
|---|---|
| Composer 模型菜单 | 每行模型前 16px 图标 |
| Composer 模型按钮 | 当前模型名前 14px 图标 |
/model 命令弹窗 |
各行同样图标 |
重绘列表的皮肤(如 dsh-claude-style) |
使用同一图标;该行皮肤自带标识会隐藏,避免重复 |
新模型若目录中尚无对应厂商图标,镜像会在端点首次出现该模型名时重读目录,与列表同步同一天带上缓存图标。
模型列表与提供商对齐¶
Harness 只在 llm-pi-ai 路由的 models 里声明的条目出现在界面。插件读取该路由对外端点返回的内容,转成适配器所需格式,对比当前已安装列表,经确认后通过 ctx.configEditor 写回。写入条目携带实际上下文窗口、输出上限、输入模态与推理等级等字段,而不是长期沿用手工猜测的占位值。
图标能力可单独生效;列表同步 需要 profile 中存在可写的 @deepseek-ai/dsh-llm-pi-ai 路由(见下文配置片段)。
多密钥(Key ring)¶
同一 profile 可登记多把提供商 API 密钥;每个聊天在 Composer 工具栏、访问模式列表之后用紧凑切换器选择本聊天使用的密钥,并支持「+ 添加密钥」。密钥在插件设置页 Rustvy → API 密钥 中维护(列表、添加、重命名、校验、默认、删除),无需改 .env、cordis.patch.yml 或 Models 页;选择会持久化,重启后保留。DeepSeek 账号本身不受影响,替换范围限于本插件相关路由。
为避免同一模型列表按密钥重复分组,模型菜单会隐藏与本插件密钥环重复的提供商分组;密钥选择集中在工具栏与设置页,不在模型菜单或 /model 里重复出现。
安装与启用¶
插件声明 Node >= 20,无 install 脚本与运行时依赖,从 registry 或 GitHub 安装时不会弹出构建确认。
1、向 web profile 安装(registry 发布版):
dsh plugin --profile web add dsh-rustvy
2、若需要仓库最新修订而非 npm 版本:
dsh plugin --profile web add github:koliy82/dsh-rustvy
注意:裸写 koliy82/dsh-rustvy 不带 github: 等 scheme 不会被安装源解析接受。
3、安装后重启 Harness 或刷新页面:图标与设置页即时可用,加载器行在 compose 时读取。
Windows 本地仓库还可使用 install.ps1 将包复制到 profile 的 node_modules 并写入 dsh.profile.bundles;一般用户以 dsh plugin 命令为准。
典型用法:路由与密钥环境变量¶
列表同步需在 profile 的 cordis.patch.yml 或 设置 → 插件 → 插件配置 中加入(或编辑)llm-pi-ai 段。models 只需能被解析,插件会替换为从端点拉取的列表;apiKeyEnv、baseURL、api 等部署相关字段在再生时保留。
- id: llm-pi-ai
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
rustvy:
displayName: rustvy
apiKeyEnv: RUSTVY_API_KEY
api: openai-completions
baseURL: https://rustvy.xyz/v1
models:
- id: placeholder
name: placeholder
apiKeyEnv 指定路由从哪取密钥:Harness 按进程环境、$DSH_HOME/.credentials.yaml、启动目录或 $DSH_HOME 下的 .env 解析;密钥不进配置文件。插件在拉模型列表时,仅当进程环境已存在同名变量时才注入密钥;其面向的端点也可在无密钥时响应。
若要将某模型设为 agent 默认,可继续配置 @deepseek-ai/dsh-agent-default-model(README 中有完整 YAML 示例,此处不展开截断部分)。
多密钥场景:在 设置 → Rustvy 用 + 添加密钥,在 Composer 为各聊天选择密钥;插件会为每把密钥维护与主路由一致的模型列表克隆。
适用场景与注意¶
适合:长期用单一 OpenAI 兼容聚合商(默认 Rustvy)、希望模型菜单有厂商标识、不想手工维护 models YAML、或同一 profile 下按聊天切换不同 API 配额/账单密钥的 DSH web 用户。
安装前请自行查看 仓库源码 与 MIT 许可证。插件以当前 DSH 进程权限运行,会向 loopback 提供目录镜像并改写 profile 配置中的路由列表;只安装你信任的包版本。
README 顶部含作者 Rustvy 推荐注册链接与促销说明,与插件技术行为无关,是否使用由你自行决定。
结尾¶
dsh-rustvy 把「列表与提供商漂移」和「多密钥路由克隆」从静默失败变成可同步、可切换的工作流:图标与列表同源镜像,密钥不进插件文件。查阅社区条目见 SkillHub 目录页,问题与更新见 GitHub。