Introduction¶
When managing multiple providers with DeepSeek Harness (DSH), the /v1/models endpoint for a provider may change, causing the stored model list to become inconsistent with the actual endpoint. Manually refreshing the list is inefficient. This plugin addresses this maintenance overhead by querying each provider’s endpoint and replacing the stored model list.
Plugin Overview¶
This is a plugin that provides one-click/automatic model synchronization for DeepSeek Harness providers, maintained by zhangyqjiaoshou-oss. Version 1.0.0, licensed under the MIT License. The plugin interacts with DSH through the official llm.discoverModels and settings.mutate APIs, without relying on custom Host RPC.
Core Features¶
- Manual synchronization: In the Settings “Model Sync” panel, you can synchronize all configured providers with one click.
- Automatic synchronization: Whenever the chat page is opened, the plugin automatically triggers resynchronization (listens for the
agent/session-startevent, with 10-second debouncing). The auto-synchronization toggle is persisted in the plugin’smodel-syncsettings namespace and localStorage. - Replacement semantics: The discovered list is the final list. Models that are no longer listed by the endpoint are removed, and newly added models are reflected correctly.
- Failure isolation: A synchronization failure for one provider does not affect other providers; failed providers retain their previous configuration.
Installation and Enablement¶
It is recommended to install using npx, without preinstalling any dependencies.
npx github:zhangyqjiaoshou-oss/dsh-model-sync install
This command installs the plugin into the current DSH web profile.
Typical Usage¶
- Open Settings and go to the Model Sync panel.
- Click Synchronize All Models to perform synchronization immediately, or enable the Auto-sync when opening a chat option so that the model list is refreshed automatically when the chat page is opened.
- Each provider reports
✅ N total (+added -removed); if synchronization fails, it displays❌and the reason.
Use Cases and Notes¶
This plugin is suitable for scenarios where the model list needs to be updated frequently. Before using it:
* The plugin depends on official APIs and runs under the current DSH process permissions.
* Check the source code and license (MIT) before installation.
* Use a DSH web profile to install with npx.
Conclusion¶
This plugin helps reduce the maintenance cost of DSH provider model lists and keeps the list consistent with the endpoint.