Passer au contenu principal
1

dsh-model-detector

1204244136/dsh-model-detector

DSH 模型检测:对任意 pi-ai 提供方,拉取其线上最新模型清单,并用 models.dev 自动富化正确模态/容量/推理后写入该提供方

Installer

dsh plugin --profile web add github:1204244136/dsh-model-detector

README

dsh-model-detector

简体中文 · English

license version

模型检测设置页


中文文档

定位

为任意 pi-ai 提供方检测其线上最新模型,并用 models.dev 自动富化正确元数据(模态 text/image、上下文容量、输出上限、推理能力)后写回该提供方。入口:设置 → 模型检测

特性

  • 实时拉取:直接打提供方 /models,拿到线上最新模型 id,无视模板目录的滞后。
  • 能力自动富化:以 models.dev 为唯一权威能力源(上下文 / 输出 / 模态 / 推理),跨提供方回退,聚合网关亦可命中。
  • 四级优先级:当前提供方 models.dev → 全局 models.dev → 内置 manifest(薄覆盖)→ 保守默认。
  • 卡片式交互:分页 + 搜索防抖 + 勾选应用,海量模型不卡顿;每张卡清晰标注数据来源。
  • 来源透明:区分「查得到」与「默认兜底」,models.dev 未收录时给出提示,不把默认当查得。

为什么做这个

DSH 原生对 pi-ai「模板(目录)提供方」的发现只回答内置目录(滞后,且可能缺失新模型);对「自定义提供方」只走线上 /models拿不到模态(线上端点不声明模态)。两者都无法同时给出「最新模型 + 正确模态」。

本插件把这两件事拼起来:

线上 GET /models(最新 id)
    ↓ 合并
models.dev(自动、社区维护的模态/容量/推理)—— 主源
    ↓ 覆盖
内置 manifest(薄覆盖,仅兜底 models.dev 缺/错的个别模型)
    ↓ 兜底
保守默认(text + 262144 / 32768)

模态归一化:models.dev 可能标注 video/pdf/audio,而 DSH 只支持 text/image,插件归一为——含 image[text, image],否则 [text]

来源判定:每个模型合并后标 source

source含义
models-dev命中 models.dev(权威社区数据,含跨厂商回退)
manifest命中内置薄覆盖清单(dsh 专属字段 + 缺口)
default未收录,保守默认

安装

推荐:从 npm registry 安装npm:dsh-model-detector

dsh plugin --profile web add npm:dsh-model-detector

安装后重启 dsh web 并刷新页面,设置页左侧出现「模型检测」。

其它来源:GitHub 源 dsh plugin --profile web add github:1204244136/dsh-model-detector,或本地联调 dsh plugin --profile web add link:C:\path\to\dsh-model-detector

使用

  1. 打开 设置 → 模型检测
  2. 选择提供方(下拉列出你已配置的所有 pi-ai 提供方,如 opencode-gotokenrhythmvolcengine)。
  3. 点「获取最新模型」——插件拉取该提供方 /models,用 models.dev 富化模态 / 容量 / 推理。
  4. 在分页列表里搜索或勾选想要保留的模型(visionkimiimage 等关键词可快速定位)。
  5. 点「应用所选」——把富化后的模型写进该提供方的 models 列表(自动补齐缺失的 api / baseURL,使提供方自足)。

说明:插件会解析提供方的 apiKeyEnv 凭据去请求 /models(如 volcengine 需带 key,否则 401)。线上拉取失败时只回退 models.dev / 内置清单,绝不用该提供方的旧配置兜底(本插件的目的是拿"线上"信息)。

性能特性

  • 分页渲染:每页 80 行 + 上一页 / 下一页 + 范围显示,DOM 只渲染一页。
  • 搜索防抖:已发现列表的搜索 300ms 防抖,不逐键重渲染大数组。
  • 不自动全选海量结果:结果 ≤200 才自动全选;更大则提示手动勾选。

Host API

插件注册 webServer 前缀路由 /dsh-model-detector/api

方法路径作用
GET/providers列出已配置的 pi-ai 提供方(route/displayName/api/baseURL/模型数)
POST/discover拉取该提供方 /models + models.dev 富化 → 返回富化模型列表
POST/apply把所选模型写入 llm-pi-ai.providers.<route>.models

/discover 响应还带诊断字段:modelsDevLoaded / modelsDevProviders / modelsDevError / providerInModelsDev / sourceCounts,便于区分来源,避免把「默认」误当「查得」。

此外提供一个只读 agent 工具 _dsh_model_detector_status(查询各提供方概览)。

配置

插件 Config 仅一个字段:

# profile cordis.patch.yml 覆盖
- override:
    - id: dsh-model-detector
      config:
        title: 模型检测   # 设置页标题

仓库结构

├── package.json        bundle 清单(dsh.bundle.patch / dsh.client / exports)
├── cordis.patch.yml    bundle patch:把 host 行 dsh-model-detector 插入组合
├── docs/preview.png    设置页效果图
├── lib/                构建产物(host lib/index.js + client lib/client.js)
├── src/
│   ├── index.ts        host 入口:webServer API + 状态工具
│   ├── api.ts          host 业务:发现合并(models.dev/清单/默认 + source 判定)+ 应用写入
│   ├── manifest.ts     内置薄覆盖清单(可扩展任意提供方)
│   └── client/         React 设置页(DSH 设计语言)+ 样式
└── scripts/build.sh    host tsc 构建(DSH_CHECKOUT)

许可证

MIT

Plugins associés