How lyaxz/dsh-fonttune works
dsh-fonttune is a DeepSeek Harness web plugin that lets users tune conversation, interface, and code typography, with presets and live application. The main workflow is: open the plugin settings card, edit typography or choose a preset, persist changes through DSH settings, then apply generated styles in the page. The graph reflects README capabilities; source excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: client.js Browser plugin · index.mjs Host plugin · shared.cjs Shared core
Components 19
Host integration
- Host plugin
src/index.mjs - Bootstrap style
src/index.mjs
Settings experience
- Browser plugin
src/client.js - Settings card
src/client.js - Font picker
src/client.js - Local font discovery
src/client.js - Preset manager
src/client.js - Typography controls
src/client.js
Typography engine
- Shared core
src/shared.cjs - Config normalization
src/shared.cjs - Style generation
src/shared.cjs - Font stack editing
src/shared.cjs
Page application
- Page style element
- Theme token overrides
src/client.js
Other components
- Plugin user
- DSH host
- Settings document
- Browser font API
- DSH web page
Connections 25
- Plugin user → Settings card: opens and edits
- DSH host → Host plugin: loads plugin
- Host plugin → Settings document: registers settings
- Host plugin → Bootstrap style: injects initial style
- Bootstrap style → Page style element: seeds style
- DSH host → Browser plugin: loads browser module
- Browser plugin → Settings document: reads and subscribes
- Browser plugin → Settings card: renders
- Settings card → Typography controls: exposes typography axes
- Settings card → Font picker: opens font selection
- Font picker → Font stack editing: edits font stacks
- Font picker → Local font discovery: requests local fonts
- Local font discovery → Browser font API: enumerates fonts
- Settings card → Preset manager: manages presets
- Typography controls → Browser plugin: submits changes
- Preset manager → Browser plugin: applies preset
- Browser plugin → Settings document: writes settings
- Browser plugin → Shared core: uses shared functions
- Shared core → Config normalization: normalizes configuration
- Shared core → Style generation: generates CSS
- Browser plugin → Style generation: requests styles
- Browser plugin → Page style element: updates style element
- Browser plugin → Theme token overrides: overrides family tokens
- Page style element → DSH web page: styles page
- Theme token overrides → DSH web page: sets theme fonts