dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
A DeepSeek Harness web plugin that adds a Model Hub settings page for configuring
A DeepSeek Harness web plugin that adds a Model Hub settings page for configuring:
displayName, api, baseURL, models) in
settings.yaml,defaultContextWindow on the
provider, contextWindow on each model — the value the web UI shows as the
context budget, so a 1M-token model displays 1M instead of the 256K pi-ai
default),settings.yaml),dsh-llm-retry executes,dsh-llm-pi-ai supports).The built-in Models settings page reads and writes through the loopback-only
settings mirror, which is deliberately unavailable when the GUI is served
over insecure HTTPS or a non-loopback origin ("settings are unavailable in this
browser"). This plugin does not depend on that mirror: every read and write
goes straight over the wire through the stock settings, credentials, and
llm RPC domains, so the page works on any origin the harness itself can reach.
The package is a dual-face cordis plugin:
lib/index.js) — a stub entry that exists so the package is a
real loader entry in the profile. The web app's client-modules scan only
discovers client bundles for packages that are active loader entries declaring
dsh.client.lib/client.js) — the browser page and its data layer,
registered into the settings.section slot. It talks to the harness through
the stock RPC domains; no custom transport is needed.The plugin ships with a bundle patch (cordis.patch.yml) that inserts one
loader row, model-config. Two equivalent install paths:
dsh plugin (recommended)From a checkout at <checkout>:
dsh plugin --profile web add file:/path/to/dsh-plugin-model-hub
dsh plugin runs pnpm add in the profile directory, then reconciles the
profile's dsh.profile.bundles layer list: any dependency whose manifest
declares dsh.bundle (this one does) joins the bundle layers automatically.
For local development, prefer a symlinked spec so source edits take effect without reinstalling:
dsh plugin --profile web add link:/path/to/dsh-plugin-model-hub
dsh-plugin-model-hub to the profile's dsh.profile.bundles in
~/.dsh/profiles/web/package.json and make it resolvable from the profile
(e.g. pnpm --dir ~/.dsh/profiles/web add file:/path/to/dsh-plugin-model-hub),
orcordis.patch.yml into the profile's
~/.dsh/profiles/web/cordis.patch.yml yourself.Then restart the profile (dsh web) — the client-modules scan runs at
activation, so a fresh boot is required to pick up a new bundle.
The Model Config section appears in Settings (next to the built-in sections). For each provider row you can:
dsh-llm defaults
(normal mode, 5 retries, 500 ms → 10 s exponential backoff, 10% jitter),npm test # data-layer tests (node:test, no browser needed)
The test harness loads lib/client.js in a VM with a fake wire api, so the
store, write paths, and retry-policy building are covered without a browser.
MIT