πŸ“¦ @goodandready/dsh-model-sync

August 31, 2026 Β· View on GitHub

Dynamic LLM Model Catalog Synchronization & Automated Balance Monitoring for DeepSeek Harness

npm version license DSH Plugin Node version

All Author Projects

πŸ‡¬πŸ‡§ English β€’ πŸ‡·πŸ‡Ί Русский β€’ πŸ‡¨πŸ‡³ δΈ­ζ–‡θ―΄ζ˜Ž


⚑ Overview

dsh-model-sync keeps your DeepSeek Harness model catalog up-to-date with upstream AI providers.

Instead of manually editing YAML configs whenever a provider launches a new model, adjusts context window limits, or changes pricing, dsh-model-sync automatically discovers new releases, updates capability metadata (vision, tools, reasoning, embeddings), tracks account balances, and reconciles models on the fly without server restarts.

graph LR
    subgraph Trigger [Scheduling & Manual Trigger]
        Cron[⏰ Background Polling Scheduler] --> Engine[dsh-model-sync Core Engine]
        WebUI[πŸ–₯️ Settings: Sync Now Button] --> Engine
    end

    subgraph Providers [25+ Upstream Providers]
        Engine --> Registry{Adapter Registry}
        Registry -->|Bearer Auth| P1[OpenAI / DeepSeek / OpenRouter / Groq]
        Registry -->|x-api-key Auth| P2[Anthropic Claude / Custom Gateways]
        Registry -->|query-key Auth| P3[Google Gemini]
        Registry -->|Local Probe| P4[Local Ollama / vLLM / SGLang]
    end

    subgraph Reconcile [Catalog Reconciler & Auditing]
        P1 --> Normalizer[Model Normalizer & Capabilities Tagger]
        P2 --> Normalizer
        P3 --> Normalizer
        P4 --> Normalizer
        Normalizer --> Diff[Sync Diff Tracker: Added / Deprecated]
        Diff --> Catalog[Active DSH Models Catalog]
    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

✨ Key Features

  • πŸ”„ Automated Catalog Discovery: Syncs model lists, aliases, context windows, and capability flags (vision, tools, reasoning, embeddings) across 25+ providers.
  • 🌐 25+ Built-in Provider Adapters: Pre-configured discovery for OpenAI, Anthropic, Google, DeepSeek, xAI, OpenRouter, Groq, Mistral, Cerebras, Fireworks, HuggingFace, Moonshot, NVIDIA, Qwen, Together, Xiaomi MiMo, SiliconFlow, and local Ollama.
  • πŸ”Œ Generic / Custom Adapter Support: Connect arbitrary OpenAI-compatible /v1/models endpoints with configurable auth (bearer, x-api-key, query-key, none).
  • πŸ“Š Balance & Quota Monitoring: Queries upstream billing endpoints (where supported) to report account credit balances and prevent unexpected exhaustion.
  • πŸ“œ Sync History & Diff Auditing: Tracks all newly discovered models, deprecated IDs, and modified capabilities with timestamped diff logs in the Web UI.
  • πŸ–₯️ Full Web GUI Panel (Settings β†’ Model Synchronization):
    • Live status cards per provider with active model counters;
    • Instant "Sync Now" button for on-demand catalog refreshes;
    • Provider enable/disable toggles and custom endpoint inputs.

πŸ› οΈ Supported Discovery Providers

Provider IdentifierAuthentication FormatCapabilities Auto-Detection
openaiBearer Tokenvision, tools, reasoning, embeddings
anthropicx-api-key headervision, tools, reasoning
googleQuery parameter / Keyvision, tools, reasoning, embeddings
deepseekBearer Tokentools, reasoning
xaiBearer Tokenvision, tools, reasoning
openrouterBearer TokenMulti-vendor model catalog with pricing & context limits
groqBearer TokenUltra-fast inference catalog
mistralBearer Tokentools, reasoning, vision
fireworksBearer TokenOpen-weights inference endpoints
huggingfaceBearer TokenServerless Inference API catalog
togetherBearer TokenOpen-source model catalog
ollamaLocal HTTP (none)Local offline model discovery (/api/tags)
customConfigurableAny custom OpenAI or Google compatible gateway

πŸ“¦ Quick Installation

dsh plugin --profile web add @goodandready/dsh-model-sync

Important

Restart DSH Web UI after installation (systemctl --user restart dsh-web) to activate background catalog synchronization.


βš™οΈ Configuration Reference (settings.yaml)

dsh-model-sync:
  enabled: true
  syncIntervalMinutes: 60
  autoReconcile: true
  providers:
    openrouter:
      enabled: true
      keyEnv: OPENROUTER_API_KEY
    deepseek:
      enabled: true
      keyEnv: DEEPSEEK_API_KEY
    custom:
      enabled: false
      baseURL: http://127.0.0.1:8000/v1
      authType: bearer
      keyEnv: CUSTOM_API_KEY

πŸ“„ License

MIT Β© GooDAnDReaDY