π¦ @goodandready/dsh-model-sync
August 31, 2026 Β· View on GitHub
Dynamic LLM Model Catalog Synchronization & Automated Balance Monitoring for DeepSeek Harness
π¬π§ 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/modelsendpoints 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 Identifier | Authentication Format | Capabilities Auto-Detection |
|---|---|---|
openai | Bearer Token | vision, tools, reasoning, embeddings |
anthropic | x-api-key header | vision, tools, reasoning |
google | Query parameter / Key | vision, tools, reasoning, embeddings |
deepseek | Bearer Token | tools, reasoning |
xai | Bearer Token | vision, tools, reasoning |
openrouter | Bearer Token | Multi-vendor model catalog with pricing & context limits |
groq | Bearer Token | Ultra-fast inference catalog |
mistral | Bearer Token | tools, reasoning, vision |
fireworks | Bearer Token | Open-weights inference endpoints |
huggingface | Bearer Token | Serverless Inference API catalog |
together | Bearer Token | Open-source model catalog |
ollama | Local HTTP (none) | Local offline model discovery (/api/tags) |
custom | Configurable | Any 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