dsh-theme-plugin
DSH Web GUI theme studio with presets and per-mode customization: accent, background, foreground, fonts, translucent sidebar, and contrast. Overrides CSS tokens in every served index.html via the official webServer.tapIndex seam. 适合想深度定制界面外观的用户;通过设置页调整,改动即时生效并本地保存。
같은 패키지 이름의 다른 저장소
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:BeiZi6/dsh-theme-pluginUsage
Settings GUI (recommended)
After a restart, open Settings → Theme Studio:
- Preset — one-click chips: DeepSeek default / Codex warm / Nord / Solarized / Graphite / Custom
- Colors — color pickers for accent, background and foreground, with a "follow preset" reset
- Fonts — dropdowns for the UI font and the code font (common stacks included)
- Translucent sidebar — follow preset / on / off
- Contrast — slider 0–100 with preset restore
Every change applies instantly and persists locally; GUI selections take priority over host config.
The
stockpreset derives no palette: color controls are disabled and only fonts can be overridden.
Config reference
| Field | Type | Description |
|---|---|---|
preset | enum | stock · codex-warm · nord · solarized · graphite · custom (default codex-warm) |
light.accent | color | accent for light mode (primary buttons, links, …) |
light.background | color | light-mode background |
light.foreground | color | light-mode primary text |
light.uiFont | CSS font-family | UI font stack |
light.codeFont | CSS font-family | code font stack |
light.translucentSidebar | enum | preset · on · off |
light.contrast | number | 0–100; -1 = keep preset value |
dark.* | — | same fields for dark mode |
Empty strings mean "keep the preset value"; unset fields are not overridden at all.
Example — merge into the web profile patch ($DSH_HOME/profiles/web/cordis.patch.yml):
- id: theme-plugin
config:
preset: codex-warm
light:
accent: '#FF6B35'
background: '#FFFAF0'
foreground: '#1A1A1A'
uiFont: '"Inter", "PingFang SC", sans-serif'
codeFont: '"JetBrains Mono", Consolas, monospace'
translucentSidebar: off
contrast: 70
dark:
accent: '#FFB07A'
background: '#1A1A1A'
foreground: '#F5F5F5'
uiFont: '"Inter", "PingFang SC", sans-serif'
codeFont: '"JetBrains Mono", Consolas, monospace'
translucentSidebar: on
contrast: 70
Only set the fields you want to change; leave the rest blank ('' / preset / -1).
Presets
| Preset | Style | Light bg / fg / accent | Dark bg / fg / accent |
|---|---|---|---|
stock | DeepSeek default | — (no override) | — (no override) |
codex-warm | Codex warm | #F5F3EE / #1D1B16 / #DA7756 | #2D2D2B / #F9F9F7 / #CC7D5E |
nord | Nord cool | #ECEFF4 / #2E3440 / #5E81AC | #2E3440 / #ECEFF4 / #88C0D0 |
solarized | Solarized | #FDF6E3 / #657B83 / #B58900 | #002B36 / #839496 / #268BD2 |
graphite | Grayscale minimal | #FAFAFA / #171717 / #525252 | #171717 / #FAFAFA / #A3A3A3 |
custom starts from the codex-warm palette and takes every value from light.* / dark.*.