Asuta
dsh-client-ui-settings-model-advanced
DSH web plugin: schema-driven advanced model settings page (settings.section 'model-advanced')
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
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 theconnection.apiwire 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 build
The 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