dsh-client-ui-settings-model-advanced
> English | 简体中文
DSH web plugin: a schema-driven Model Advanced settings page. Registers one settings.section nav entry (model-advanced, order 11) beside the shipped Models page: a per-provider and per-model editor for the advanced capability fields the Models page does not render (vision input, context window, max output, reasoning level map, timeouts, transport, cache, headers, openai-completions compat switches).
Everything the editor addresses is probed out of the serialized schemastery envelope of the provider's own settings namespace, so a schema that lacks a field simply hides it. Writes land as minimal settings.mutate path ops, so the redacted API-key secret is never rewritten.
Layout
src/index.ts— Host loader entry (no host-side behavior).src/invariant.ts— package invariant companion (no runtime invariant).src/client/index.ts— browser half: registers thesettings.sectionentry,
wires the zh/en copy dictionaries to the active locale, and injects the connection.api wire face + bound translate into the section.
src/client/ModelAdvancedSection.tsx— the settings page component.src/client/schema-probe.ts— pure schema-introspection and draft-editing
helpers.
src/client/locales.ts— zh/en copy dictionaries.src/client/ModelAdvancedSection.module.css— theme-token styles.
Build
corepack pnpm install --ignore-workspace
corepack pnpm exec tsc --noEmit
corepack pnpm run buildThe client bundle registers itself via window.__ModuleLoader__.load({ id, "@dsh-external/dsh-client-ui-settings-model-advanced", factory }) and injects its stylesheet as a <style data-plugin-css> tag at factory evaluation.
Install (separate step)
pnpm pack --pack-destination <profile>\packages
node <checkout>\apps\cli\lib\bin.js plugin --profile web add -w <abs path to .tgz>Because the package ships dsh.bundle.patch, dsh plugin add reconciles the bundle stack and mounts the row — no manual cordis.patch.yml edit. Client bundles need a host restart to enter the bundle stack.
License
MIT