Bundle
dsh-cherry-provider-bridge
Synchronize a Cherry Studio custom provider into DeepSeek Harness
- Source
- LiweiDonVee
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# DSH Cherry Provider Bridge Reuse a selected Cherry Studio provider in DeepSeek Harness, including its enabled model catalog, without relying on provider `GET /models` discovery. Built to interoperate with [Cherry Studio by CherryHQ](https://github.com/CherryHQ/cherry-studio): Cherry owns the source provider/model configuration this bridge consumes. This is an independent community adapter, **not an official Cherry Studio plugin or a fork of Cherry Studio**. See [relationship, provenance and license boundaries](NOTICE.md). The bridge reads Cherry's SQLite database read-only and periodically synchronizes the credential and manual model route through DSH services. It adds a missing OpenAI `/v1` suffix once and preserves model metadata and compatible reasoning options. ## Requirements - Node.js 24 and npm. - DSH **0.1.2-rc.1**, with its credential/settings providers and `llm-pi-ai` namespace. - Cherry Studio database tables `user_provider` and `user_model` matching the tested schema. Cherry's database is an internal interface; arbitrary versions are not guaranteed. - Windows paths are discovered automatically. On other systems provide `databasePath` and, if needed, `modelRegistryPath` explicitly. ## Install and configure ```sh git clone https://github.com/LiweiDonVee/dsh-cherry-provider-bridge.git cd dsh-cherry-provider-bridge npm ci npm run check ``` Edit `cordis.patch.yml` before enabling: set `providerName` to the exact enabled provider name in Cherry. Choose a new `routeId` and `credentialRef` if you do not want to overwrite an existing DSH route/credential. ```yaml providerName: My Provider routeId: cherry credentialRef: CHERRY_API_KEY modelIds: [] databasePath: '' modelRegistryPath: '' syncIntervalMs: 5000 ``` ```sh npx --yes @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add . npx --yes @deepseek-ai/dsh@0.1.2-rc.1 web ``` Restart an already running host. Keep the clone if installed as a local link. Select the synchronized provider/model in DSH. Empty `modelIds` includes all enabled, visible, compatible models; a list restricts the selection. Default database: `%APPDATA%/CherryStudio/Data/cherrystudio.sqlite`. Default optional registry: `%ProgramFiles%/Cherry Studio/resources/provider-registry/models.json`. ## Data ownership and recovery This intentionally copies the selected key into DSH's credential store, not ordinary settings. It does not send the database to any service. DSH subsequently uses the configured endpoint for model calls. Synchronization runs every five seconds, skips unchanged values and retries temporary lock/namespace failures. To stop synchronization, remove the plugin and restart DSH: ```sh npx --yes @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove dsh-cherry-provider-bridge ``` The synchronized route and credential remain. Remove them through DSH if desired; uninstalling does not revoke a provider key. ## Verification `npm run check` runs TypeScript checks, builds the distributable, and runs 12 tests using temporary SQLite fixtures plus the actual DSH settings implementation. No real key or Cherry database is included. Paid-provider requests and every Cherry release are not certified. Independent community plugin, not affiliated with DeepSeek AI or Cherry Studio. MIT; [LICENSE](LICENSE).
Install
dsh plugin --profile web add github:LiweiDonVee/dsh-cherry-provider-bridge
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-cherry-provider-bridge from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.