🐱 Catppuccin theme plugin: the lively, relaxing official 26-color pastel palette — 🌻 Latte / 🪴 Frappé / 🌺 Macchiato / 🌿 Mocha — with one-click switching; the whole UI is tinted from the palette and hover interactions glow in the theme accent.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-catppuccin
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:zhijun-dai/Catppuccin-dsh-theme
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Table of Contents
Intro
🐱 A Catppuccin theme plugin for
DeepSeek Harness — one
package that covers Web GUI (dsh web), DSH Desktop and
dsh-TUI:
- Web / Desktop: the whole UI re-skinned with the official 26-color pastel palette — every component, not just a few accents.
- dsh-TUI: four official theme palettes auto-synced to
~/.dsh-tui/themes/on install.
The four flavors — Latte, Frappé, Macchiato, Mocha — plug into the built-in theme system on a level with the light/dark/system choices, with a one-click switch row in Settings → General. Your choice is saved automatically and restored on restart, and switching back to Default restores the built-in appearance pixel-perfectly — no leftovers.
Features
- 🎨 Full palette coverage — every value is a Catppuccin palette color (or a mix of palette colors); the default DeepSeek blue-gray never shows through.
- 🖱️ Component-level accents — message bubbles, tool-call rows, code tags, timestamps and hover interactions are tinted from the palette; hover glows in the theme accent, and the empty-workspace headline reads in brand mauve.
- 💻 dsh-TUI themes — one install command drops the four themes into your terminal client; they auto-sync on every start. See Install · dsh-TUI.
- 🔄 Update check — Settings silently checks npm for a newer release (with a manual button too) and shows a copyable upgrade command.
- 🧠 Choice remembered — persisted across restarts and re-applied even when the host re-asserts its own preference; turning it off restores the built-in light/dark choice you had before, not a forced "system".
- 🗄️ Durable state — flavor choice survives DSH Desktop's random per-launch port where browser localStorage starts empty.
- ⚙️ Zero intrusion — switching to Default restores the built-in appearance pixel-identical; uninstall leaves nothing behind.
Previews
The four flavors in DeepSeek Harness (headline image above is the catwalk composite; each flavor below in full):
Install
From GitHub (recommended — always the latest):
dsh plugin --profile web add github:zhijun-dai/Catppuccin-dsh-theme
From npm:
dsh plugin --profile web add dsh-catppuccin
💡 The npm release may lag slightly behind GitHub. For the very latest, use the GitHub install above (pin a branch with
#branch-name).
For DSH Desktop, target the desktop profile:
dsh plugin --profile desktop add dsh-catppuccin
dsh-TUI (terminal themes)
The same package also syncs the four Catppuccin themes into your dsh-TUI. Install into the TUI profile and they land on the first start:
dsh plugin --profile dsh-tui add dsh-catppuccin
Then pick a theme inside the TUI: /theme catppuccin-mocha.
💡 Installed into a web/desktop profile of a user who also runs dsh-TUI, the themes stay in sync on every web start — no second install needed. No
~/.dsh-tuion disk? Strict no-op, nothing is created.
Restart the web server afterwards:
dsh web
Usage
Open the web UI, go to Settings → General, and pick one of the four Catppuccin flavors (or Default to follow the built-in appearance). Choice is saved per browser and restored at boot.
FAQ
Q: Web UI fails to boot with “Failed to load plugins / dsh-catppuccin”.
Older packages require @deepseek-ai/dsh-client-runtime, which newer DSH
client module tables no longer expose. The fix is included in 0.2.5 and
later (issue #3).
If npm still serves an older release, install the current GitHub version:
dsh plugin --profile web add github:zhijun-dai/Catppuccin-dsh-theme
Use --profile desktop for DSH Desktop, then restart the corresponding app.
Q: I installed the plugin but don't see the themes in Settings.
Make sure the profile you installed into is the one dsh web runs
(--profile web above), and restart dsh web after installing.
Q: How is my choice remembered?
It lives in browser localStorage (instant) and, for Desktop users, in a
small durable file under $DSH_HOME — so it survives restarts, model
switches and Desktop's per-launch port changes. Your explicit
light/dark/system pick in the built-in Appearance row always wins.
Q: How do I upgrade?
Re-run the install command (it fetches the newest release), or check the
Settings row — it silently tells you when a newer version exists and shows
the copyable upgrade command. Then restart dsh web.
How it works
The theme definitions are generated from the official
catppuccin/palette palette.json
(never hand-edited). scripts/gen-themes.mjs maps the 26 Catppuccin colors
per flavor onto the --dsw-alias-* token directory from dsh's
@deepseek-ai/dsh-client-ui-theme stylesheets (including the --shiki-*
syntax palette and the leaked --dsw-static-deepseek-* static colors),
writes the per-flavor token tables to themes/, and embeds them into the
browser bundle lib/client.js. The dsh-TUI themes come from
scripts/gen-tui-themes.mjs.
💝 Thanks to
- zhijun-dai
- Catppuccin
- KinGao294/dsh-skin — the reference theme plugin this port is modeled on
- DeepSeek
Links
More in this category
elysia395/dsh-wallpaper-engine★ 6657
Requires DeepSeek Harness 0.1.5-rc.1+ (DSH Desktop >= 2.0.7) and dsh-better-sidebar >= 0.19.0 - update both before installing or updating this plugin. Plays local Wallpaper Engine Video/Web wallpapers behind the chat, renders Scene wallpapers as extracted static frames, and adds content-rating/type filters, custom uploads and an iOS-style liquid-glass settings window.
Small-tailqwq/dsh-deep-whale#maid-atelier★ 3098
Whale-girl skin series for the DSH Web UI (maid-atelier).
Nwflower/dsh-claude-style★ 585
Claude Code Desktop look-and-feel for the DSH Web GUI — ivory/warm-black dual canvas, clay accent, three-font typography, permission segmented control and brand switcher, via CSS overrides and client DOM overrides.
d-dev0101/open-sea-skin★ 391
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 387
Adaptive reasoning slider skin that maps each model's available reasoning efforts onto a 0–30 visual intensity scale, with synchronized portraits, background, and interface colors.
RevolutionLA/dsh-dream-skin★ 301
One-command skin plugin: 8 original themes, translucent wallpaper with opacity/blur, per-user accent, and shareable theme-pack import/export, favorites and surprise-me — purely native on DSH's token system.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.