dsh-model-sync
Đã xác minh@goodandready/dsh-model-sync · v0.5.12 · MIT · Giao diện web
Automatic model catalog synchronization for API-key DeepSeek Harness providers.
Cài đặt
dsh plugin add @goodandready/dsh-model-sync Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Thẻ
Readme
📦 @goodandready/dsh-model-sync
面向 DeepSeek Harness 的动态大模型目录同步与自动化余额监控插件
🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文说明
|
⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。
🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。 |
⚡ 插件概览
dsh-model-sync 保持您的 DeepSeek Harness 模型目录与上游各大 AI 服务商最新发布完全同步。
每当服务商推出新模型、调整上下文窗口上限或变更费率时,不再需要手动逐项编辑 YAML 配置文件。dsh-model-sync 能够自动发现新版本、更新模型能力元数据(vision、tools、reasoning、embeddings)、监控账户余额并在无需重启服务的情况下即时对齐模型目录。
graph LR
subgraph Trigger [调度与手动触发]
Cron[⏰ 后台轮询调度器] --> Engine[dsh-model-sync 核心引擎]
WebUI[🖥️ 设置面板: 立即同步按钮] --> Engine
end
subgraph Providers [25+ 上游服务商]
Engine --> Registry{适配器注册中心}
Registry -->|Bearer 认证| P1[OpenAI / DeepSeek / OpenRouter / Groq]
Registry -->|x-api-key 认证| P2[Anthropic Claude / 自定义网关]
Registry -->|query-key 认证| P3[Google Gemini]
Registry -->|本地探测| P4[本地 Ollama / vLLM / SGLang]
Registry -->|CommandCode 接口| P5[Command Code / visibleModels]
Registry -->|套餐检测| P6[ClineBot 订阅套餐]
end
subgraph Reconcile [目录对齐与审计追踪]
P1 --> Normalizer[模型标准化器与能力打标]
P2 --> Normalizer
P3 --> Normalizer
P4 --> Normalizer
P5 --> Normalizer
P6 --> Normalizer
Normalizer --> Diff[差异跟踪: 新增 / 已废弃]
Diff --> Catalog[当前可用 DSH 模型目录与 visibleModels]
end
style Trigger fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4
style Providers fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4
style Reconcile fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4
✨ 核心特性
- 💰 内置基准价格数据库:自动为 OpenAI、Anthropic、Groq、Mistral、xAI 和 DeepSeek 模型补充 Token 价格数据,即使服务商接口未返回价格,也可无缝支持成本上限过滤与
@cheap别名解析。 - 🎯 动态智能虚拟别名与故障转移:支持
@fast、@cheap、@best-code等虚拟别名及故障转移链,在熔断器打开或健康检查失败时自动切换至备用模型。 - 🔔 外部差异通知 Webhook 与事件分发:支持 HMAC-SHA256 签名验证的实时 Webhook 通知与 Cordis
model-sync/diff事件,可在新模型上线、模型废弃或价格变更时即时推送。 - ⚡ 高性能模型策略过滤:在未配置过滤策略时,
filterModels采用快速路径直接返回模型目录,避免不必要的正则表达式编译和数组遍历。 - 🔄 一键检查与更新:内置设置面板更新检查,在手动刷新时通过
?fresh=1或Cache-Control: no-cache绕过 npm 缓存,即时获取最新版本。 - 🔄 自动化目录同步:自动对齐 25+ 服务商的模型清单、别名、上下文窗口及能力标签(
vision、tools、reasoning、embeddings)。 - 🛡️ Minijinja 聊天模板与角色兼容性保障:自动为 Groq 开源模型(Qwen、Llama、Mistral、Gemma、DeepSeek)及 DeepSeek API 注入
compat.supportsDeveloperRole: false,避免推理模型报 400Unexpected message role错误,同时保留用户自定义配置。 - 🌐 内置 25+ 服务商适配器:预置支持 OpenAI、Anthropic、Google、DeepSeek、xAI、OpenRouter、Groq、Mistral、Cerebras、Fireworks、HuggingFace、Moonshot、NVIDIA、Qwen、Together、Xiaomi MiMo、SiliconFlow、Command Code、ClineBot 以及本地 Ollama。
- 🎛️ Command Code 模型精细管理:完整发现 Command Code 模型目录,在 Web 界面提供勾选过滤,自动同步
visibleModels至llm-commandcode设置中。 - 🎯 ClineBot 订阅套餐精准匹配:专属适配器直接调用
GET /users/me/plan,只拉取当前有效订阅套餐包含的模型,彻底解决全量拉取 400+ 外部模型导致的混淆。 - 🔌 通用与自定义适配器扩展:支持接入任意兼容 OpenAI
/v1/models规范的网关,支持多种认证方式(bearer、x-api-key、query-key、none)。 - 📊 余额与用量监控:实时查询上游计费端点,精准反馈账户额度并防止因欠费导致任务中断。
- 📜 同步历史与变更审计:完整记录新模型上线、旧模型废弃及能力变更的时间线与详细差异。
- 🖥️ 全功能 Web 管理面板 (设置 → 模型同步):
- 每个服务商的卡片化状态展示与模型计数;
- 一键即时同步(Sync Now);
- 模型勾选过滤与显示控制;
- 服务商启用开关及自定义 Endpoint 地址输入。
🛠️ 支持的服务商列表
| 服务商标识符 | 认证机制 | 能力自检与特性说明 |
|---|---|---|
openai |
Bearer Token | vision, tools, reasoning, embeddings |
anthropic |
x-api-key 请求头 |
vision, tools, reasoning |
google |
Query 参数 / 密钥 | vision, tools, reasoning, embeddings |
deepseek |
Bearer Token | tools, reasoning |
xai |
Bearer Token | vision, tools, reasoning |
openrouter |
Bearer Token | 多厂商汇聚模型目录,包含计费与上下文规格 |
groq |
Bearer Token | tools, reasoning, vision, supportsDeveloperRole: false |
mistral |
Bearer Token | tools, reasoning, vision |
commandcode |
Bearer Token | 对接 https://api.commandcode.ai/provider/v1/models,同步勾选至 llm-commandcode 的 visibleModels |
clinebot |
Bearer Token | 仅同步有效订阅套餐 (/users/me/plan) 包含的模型 |
fireworks |
Bearer Token | 开源权重推理节点 |
huggingface |
Bearer Token | Serverless Inference API 目录 |
together |
Bearer Token | 开源大模型服务网络 |
ollama |
本地 HTTP (none) |
本地离线模型实时发现 (/api/tags) |
custom |
自定义配置 | 任意兼容 OpenAI 或 Google 规范的 API 网关 |
📦 快速安装
dsh plugin --profile web add @goodandready/dsh-model-sync
[!IMPORTANT] 安装后请重启 DSH Web 界面 (
systemctl --user restart dsh-web),以激活后台目录自动同步。
⚙️ 配置说明 (settings.yaml)
dsh-model-sync:
enabled: true
scheduleEnabled: false
intervalMinutes: 60
autoApply: false
requestTimeoutMs: 15000
retryAttempts: 3
concurrency: 4
providers:
- provider: commandcode
enabled: true
autoApply: false
- provider: clinebot
enabled: true
autoApply: false
| 参数名称 | 类型 | 默认值 | 功能说明 |
|---|---|---|---|
enabled |
boolean |
true |
后台自动同步主开关 |
scheduleEnabled |
boolean |
false |
启用周期性后台定时同步任务 |
intervalMinutes |
number |
60 |
目录更新轮询间隔(分钟) |
autoApply |
boolean |
false |
是否自动将新发现的模型生效至可用列表 |
requestTimeoutMs |
number |
15000 |
目录拉取 HTTP 请求超时时间(毫秒) |
retryAttempts |
number |
3 |
瞬态网络故障的最大重试次数 |
concurrency |
number |
4 |
最大并发服务商同步任务数 |
providers |
array |
[] |
服务商独立配置列表(provider、enabled、autoApply) |
📄 开源协议
MIT © GooDAnDReaDY