安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add @goodandready/dsh-model-sync
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。
README
⚡ 插件概览
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
syncIntervalMinutes: 60
autoReconcile: true
enableBalanceChecks: true
providers:
commandcode:
enabled: true
clinebot:
enabled: true
| 参数名称 | 类型 | 默认值 | 功能说明 |
|---|---|---|---|
enabled |
boolean |
true |
后台自动同步主开关 |
syncIntervalMinutes |
number |
60 |
目录更新轮询间隔(分钟) |
autoReconcile |
boolean |
true |
是否自动将新发现的模型生效至可用列表 |
enableBalanceChecks |
boolean |
true |
在受支持的服务商处查询余额 |
providers.<id>.enabled |
boolean |
true |
单独开启或关闭指定服务商的同步 |
📄 开源协议
MIT © GooDAnDReaDY
评论
评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。