🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模型阵容管理 cheeri020/dsh-lineup-manager

DeepSeek Harness
cheeri02012 天前有提交已提供中文文档扫描:未发现敏感能力

勾选模型选择器中显示的阵容,并实时刷新标出增减

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add cheeri020/dsh-lineup-manager
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的阵容管理器:按服务商分组,选择哪些模型阵容出现在模型选择器里,并实时刷新标记新增和移除的模型

README

由 DeepSeek 最新模型翻译生成
dsh-lineup-manager 挑选哪些模型阵容出现在 DeepSeek Harness 的模型选择器里——按服务商分组,并从各平台实时刷新。 English · 简体中文 · Español · Português · हिन्दी 兼容性 | 层面 | 状态 | | Harness | DeepSeek Harness 0.2.1-rc.2 | | Node | ^22.19.0 || >=24.0.0 | | 平台 | 全部(纯 ESM;无原生代码,无构建工具链) | 问题 DSH 的模型下拉框按服务商分组,但显示多少条目取决于你的配置: - 服务商在 cordis.patch.yml 里声明了 models: 列表 → 只显示这些阵容 - 服务商没有 models: 列表 → 选择器显示适配器的全部目录,可能有几百条 所以,只想保留免费阵容,就得手动改 YAML。这个插件把它变成设置里的复选框。 平台每隔几天就换一次阵容——新模型上架,免费档消失。刷新会拉取实时列表并标出差异,你不用离开面板就能看到哪些变了。 功能 - 每个已声明阵容对应一个复选框,按服务商分组 - 按服务商批量操作:All / None / Free only - Refresh——拉取平台当前阵容列表,标出新增和消失的条目。
展开完整文档(README 剩余 1 节)
dsh-lineup-manager

挑选哪些模型阵容出现在 DeepSeek Harness 的模型选择器里——按服务商分组,并从各平台实时刷新。

English · 简体中文 · Español · Português · हिन्दी

兼容性

| 层面 | 状态 |
| Harness | DeepSeek Harness 0.2.1-rc.2 |
| Node | ^22.19.0 || >=24.0.0 |
| 平台 | 全部(纯 ESM;无原生代码,无构建工具链) |

问题

DSH 的模型下拉框按服务商分组,但显示多少条目取决于你的配置:

- 服务商在 cordis.patch.yml 里声明了 models: 列表 → 只显示这些阵容
- 服务商没有 models: 列表 → 选择器显示适配器的全部目录,可能有几百条

所以,只想保留免费阵容,就得手动改 YAML。这个插件把它变成设置里的复选框。

平台每隔几天就换一次阵容——新模型上架,免费档消失。刷新会拉取实时列表并标出差异,你不用离开面板就能看到哪些变了。

功能

- 每个已声明阵容对应一个复选框,按服务商分组
- 按服务商批量操作:All / None / Free only
- Refresh——拉取平台当前阵容列表,标出新增和消失的条目。可按服务商刷新,也可 Refresh all
- 实时新增的模型立即可选,即使它们还没写进你的配置
- 写入精准且可回滚:只替换目标服务商的 models: 块,带时间戳备份、结构检查,以及读回校验,不一致就回滚

安装

从 tarball 安装(推荐)

pnpm pack # produces dsh-external-dsh-lineup-manager-<version>.tgz
dsh plugin add ./dsh-external-dsh-lineup-manager-0.2.0.tgz

之后重启 DSH。

从 git 检出安装

dsh plugin add github:<you>/dsh-lineup-manager

prepare 脚本会在安装时构建 dist/。pnpm >=10 默认拒绝运行 git 依赖的构建脚本;如果第一次 add 失败,把下面这段加到配置档的 pnpm-workspace.yaml 再重试:

allowBuilds:
"@dsh-external/dsh-lineup-manager": true

只对你信任的来源放行,并锁定 commit:github:<you>/dsh-lineup-manager#<sha>。

手动安装

pnpm install
pnpm build # emits dist/ and verifies it

然后把包复制到 $DSH_HOME/profiles/<profile>/node_modules/,重启 DSH。

用法

1. 打开 Settings → 顶部的「Lineups」按钮
2. 面板列出 cordis.patch.yml 里的每个服务商,每个阵容一个复选框
3. 按服务商使用 All / None / Free only,然后 Save 该组
4. 重启 DSH,模型选择器才会反映改动

未保存的改动会被标记;关闭面板时会要求确认。

Refresh

在服务商上点 Refresh(或页脚的 Refresh all),拉取该平台当前的列表:

- 绿色 new 徽标 = 平台提供该模型,你还没勾选
- 灰色删除线 gone 徽标 = 你勾选过,平台已不再提供

Refresh 从不写入。 它只打标签。在你勾选复选框并点 Save 之前,什么都不会进入配置;Save 仍会走备份 / 结构检查 / 回读回滚这条路径。

强烈建议:为每个服务商声明 baseURL

openrouter:
apiKeyEnv: OPENROUTER_API_KEY
api: openai-completions
baseURL: https://openrouter.ai/api/v1

没有 baseURL 时,插件必须从 app.asar 读取已安装的 pi-ai 目录,才能推断端点。这条路径依赖宿主环境,失败时表现很差——客户端只能报 HTTP 400 (empty body),因为响应根本没写出来。声明 baseURL 会直接走网络,完全不碰那段代码。

已验证的端点:

| 服务商 | baseURL |
| openrouter | https://openrouter.ai/api/v1 |
| opencode | https://opencode.ai/zen/v1 |
| nvidia | https://integrate.api.nvidia.com/v1 |

改 baseURL 需要重启 DSH。

安全

改配置文件有风险——cordis.patch.yml 损坏会让 DSH 起不来——所以写入有四道防护:

| 防护 | 作用 |
| 精准替换 | 只重写目标服务商的 models: 行块;其他服务商和段落不动 |
| 先备份 | 每次写入前生成 cordis.patch.yml.bak-lineup-<timestamp> |
| 结构检查 | 写入前在内存中校验(服务商不重复、模型 id 合法);不通过就拒绝 |
| 回读校验 | 从磁盘重新读取并比对;不一致就还原备份 |

另外:未知服务商返回 409 拒绝;重复或含空白的 id 会被拒绝;请求体上限 256 KB。

备份会越积越多。配置满意后,清理 cordis.patch.yml.bak-lineup-。

Refresh 的工作方式(以及坑)

必须绕过 pi-ai 内置目录

discoverModels 一旦收到 provider 参数,就返回已安装*的目录——冻结在你当前的 DSH 版本上。这是无声的陈旧:功能看着能用,显示的却是几个月前的数据。所以 Refresh 发送 baseURL,绝不发 provider。由 test-refresh.mjs(R2)守护。

命名空间

dsh-llm-pi-ai 把模型发现注册在它自己的 loader 条目 id 下——即配置档里声明的 llm-pi-ai。本插件跑在另一个条目下,所以从 ctx.fiber.entry.options.id 推导命名空间会得到 dsh-lineup-manager,内核回 NO_DISCOVERY。命名空间是常量。由 test-refresh.mjs(R9)守护。

asar 读取

目录放在 app.asar 里(约 174 MB)。整份读取要花约 125 ms,占用几百 MB 的 RSS,刷新全部时还要乘以次数。读取器改用定位读取:读文件头,再读那一条目的字节区间。实测 4 个并发解析从约 905 MB 降到约 69 MB。由 test-asar.mjs 守护。

已过期的密钥

平台返回 401 api_key_expired 时,该服务商会显示失败标记。其他服务商不受影响,你的配置也不会被改动——刷新时报告这件事正是目的,不是 bug。

目录结构

src/ runtime sources
index.js host half: HTTP API over cordis.patch.yml
client.js browser half: the Settings panel
cordis.patch.yml bundle patch
scripts/build.mjs emits dist/, verifies the copy
tests/ plain-Node test suites
dist/ build output (not tracked)

开发

pnpm build # emit + verify dist/
pnpm test # 66 checks across four suites
pnpm test:live # hits real provider endpoints; needs real credentials

| 测试套件 | 覆盖内容 |
| test-server.mjs | 配置读写、四道写入防护(17) |
| test-accept.mjs | 安装完整性 + 端到端(22) |
| test-refresh.mjs | 刷新差异比对、目录绕过、命名空间、只读(21) |
| test-asar.mjs | asar 读取器的内存行为(6) |

四个套件全部在临时目录里运行,绝不碰真实配置档。test-live.mjs 会访问网络并读取你的真实凭据;它还会断言运行后配置未变。

许可证

MIT
预览分享卡片长什么样 ↓cheeri020/dsh-lineup-manager
分享 · DeepSeek Harness Hub
cheeri020/dsh-lineup-manager

勾选模型选择器中显示的阵容,并实时刷新标出增减

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部