dsh-model-sync
Manifest validOne-click/auto sync provider model lists against /v1/models endpoint.
dsh-model-sync
中文 | English
One-click / auto model sync for DeepSeek Harness providers. The plugin queries each provider's /v1/models endpoint and replaces the stored model list with what the endpoint advertises (models the endpoint no longer lists are removed; other provider fields are kept).
Features
- Manual sync — one-click sync of every configured provider from the Model Sync panel in Settings. Sync runs in the browser through the official
settings/llmAPIs — no custom Host RPC. - Auto-sync — re-syncs whenever a conversation page opens (Host listens on
agent/session-start, 10s debounce). The toggle persists in the plugin'smodel-syncsettings namespace + localStorage. - Replace semantics — the discovered list IS the final list; provider models that were removed or added are reflected correctly.
- Failure isolation — a failing provider does not affect the others; failed providers keep their previous config.
Installation
npx (recommended — nothing to install first)
# One command installs the plugin into the current DSH web profile
npx github:zhangyqjiaoshou-oss/dsh-model-sync install
After the package is published to npm, this becomes
npx @dsh-external/dsh-model-sync install.
dsh plugin add (bundle-capable environments)
dsh plugin --profile web add @dsh-external/dsh-model-sync
Manual injection (via dsh-super-injector)
# Build from source
bash scripts/build.sh
# Inject into the running DSH
dev_inject_plugin C:/Users/niclas/Desktop/dsh/model-sync
Usage
- Open Settings → Model Sync.
- Click Sync All Models to sync immediately, or turn on Auto-sync on conversation open to refresh the model list every time you open a conversation page.
- Each provider reports
✅ N total (+added -removed); failures show❌with the reason.
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
autoSync | boolean | false | Auto-sync model lists whenever a conversation page opens |
debounceMs | number | 10000 | Minimum milliseconds between two automatic syncs |
The auto-sync switch can also be toggled in the Settings UI; changes are written to the model-sync namespace.
How it works
Conversation page opens → agent/session-start event (Host)
→ re-query each provider's /v1/models
→ settings.update writes the new model list
→ settings/document-updated fires
→ browser model selector refreshes automatically
Manual sync uses only official wire APIs (llm.discoverModels + settings.mutate) — no custom Host RPC.
Development
bash scripts/build.sh # auto-detects a DSH checkout or npm global install
npx tsc -p tsconfig.json # typecheck
npx tsdown # client bundle (lib/client.js)
License
MIT
Comments
Loading…
Similar plugins
Shows Provider/Model in the DSH Web composer model selector trigger; the dropdown list and its search are unchanged.
★ 0
dsh plugin --profile web add dsh-model-showDSH plugin: matches a model you declared on a custom gateway to the capability metadata it should have — context window, output cap, reasoning levels and image support — by looking the bare model name
★ 0
dsh plugin --profile web add dsh-model-metadataby DC1024
DSH plugin: sync model-catalog reasoning levels (reasoningEfforts) from what the provider advertises on /v1/models — sync_reasoning_levels tool plus a one-click button in the Models settings page.
★ 0
MIT
JavaScript
Oct 17, 2026
dsh plugin --profile web add dsh-effort-syncby lincong1987
dsh plugin: flexible model switch for sub‑agent & plan execution. 为子代理和计划执行选择更合适的模型。
★ 10
↓ 1.9k/wk
MIT
TypeScript
Oct 23, 2026
dsh plugin --profile web add dsh-model-switchOne-click enable/disable switch for every model provider in DeepSeek Harness - disabled providers leave the model picker. DSH 模型提供商一键开关:在「设置 → 模型」每行「编辑」左侧放一个开关,关掉即从模型选择栏消失。
★ 0
MIT
JavaScript
dsh plugin --profile web add dsh-provider-toggleby GoldenZqqq
DSH web plugin: collapse the model picker by provider, with a pinned quick bar (expand-all / collapse-all / focus-current / filter / reset).
★ 0
MIT
JavaScript
Aug 28, 2026
dsh plugin --profile web add dsh-model-collapse