跳到主要内容

dsh-model-sync

已验证

@goodandready/dsh-model-sync · v0.5.12 · MIT · Web 界面

Automatic model catalog synchronization for API-key DeepSeek Harness providers.

安装

dsh plugin add @goodandready/dsh-model-sync

用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。

源码

标签

说明文档

📦 @goodandready/dsh-model-sync

面向 DeepSeek Harness 的动态大模型目录同步与自动化余额监控插件

npm version license DSH Plugin Node version

作者所有项目

🇬🇧 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,避免推理模型报 400 Unexpected 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