δΈζ
## Table of Contents
- [Intro](#intro)
- [Features](#features)
- [Previews](#previews)
- [Install](#install)
- [Usage](#usage)
- [FAQ](#faq)
- [π Thanks to](#-thanks-to)
## Intro
The classic low-contrast, eye-friendly palettes for
[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) β one
package covering **Web GUI** (`dsh web`), **DSH Desktop** and **dsh-TUI**:
- βοΈ **[Solarized](https://ethanschoonover.com/solarized/)** β Ethan
Schoonover's carefully tuned 16-color system, designed for long reading
sessions without eye strain.
- π’ **[Selenized](https://github.com/jan-warchol/selenized)** β its
refined take: the same low-contrast philosophy with modernized hues and
better color distinction.
Both come in dark and light, registered into the built-in theme system on a
level with the light/dark/system choices β with canonical syntax colors for
code blocks and a one-click switch row in **Settings β General** that
remembers your choice.
## Features
- ποΈ **Eye-friendly by design** β Solarized's palette is luminance-tuned,
not hue-picked, so text stays readable for hours; Selenized keeps the
comfort with cleaner, more distinct accents.
- π¨ **Faithful palettes** β every color is a canonical Solarized /
Selenized value; no default DeepSeek blue-gray leaks through.
- π₯οΈ **Canonical syntax colors** β code blocks follow the classic Solarized
syntax mapping (keyword magenta, string cyan, number blueβ¦).
- π±οΈ **Component-level accents** β bubbles, tool-call rows, code tags,
timestamps and hover interactions tinted from the palettes.
- π» **dsh-TUI themes** β one install command drops the four themes into
your terminal client; auto-synced on every start.
- π **Update check** β Settings silently checks npm for a newer release
(manual button too) and shows a copyable upgrade command.
- π§ **Choice remembered** β survives restarts and model switches; turning
it off restores the light/dark choice you had before, not a forced
"system". Desktop port churn is covered by durable state under
`$DSH_HOME`.
- βοΈ **Zero intrusion** β switching to **Default** restores the built-in
appearance pixel-identical.
## Previews
βοΈ Solarized Dark
π Solarized Light
π’ Selenized Dark
πΏ Selenized Light
## Install
From GitHub (recommended β always the latest):
```sh
dsh plugin --profile web add github:zhijun-dai/Solarized-dsh-theme
```
From npm:
```sh
dsh plugin --profile web add @yuquexianzhou/solarized-dsh-theme
```
> π‘ 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:
```sh
dsh plugin --profile desktop add @yuquexianzhou/solarized-dsh-theme
```
### dsh-TUI (terminal themes)
The same package syncs the four themes into your dsh-TUI. Install into the
TUI profile and they land on the first start:
```sh
dsh plugin --profile dsh-tui add @yuquexianzhou/solarized-dsh-theme
```
Then pick a theme inside the TUI: `/theme solarized-dark`.
> π‘ Installed into a web/desktop profile of a user who also runs dsh-TUI,
> the themes stay in sync on every web start. No `~/.dsh-tui` on disk?
> Strict no-op, nothing is created.
Restart the web server afterwards:
```sh
dsh web
```
## Usage
Open the web UI, go to **Settings β General**, and pick one of the four
themes (or **Default** to follow the built-in appearance). Choice is saved
per browser and restored at boot.
## FAQ
**Q: Why do the colors look "washed out"?**
That's the point β Solarized deliberately keeps contrast low so text stays
readable for hours without eye strain. If you want more punch, Selenized
offers the same comfort with stronger accents.
**Q: How is my choice remembered?**
Browser `localStorage` (instant) plus a durable file under `$DSH_HOME` for
Desktop β survives restarts, model switches and 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, or check the Settings row β it silently tells
you when a newer version exists and shows the copyable upgrade command.
Then restart `dsh web`.
## π Thanks to
- [zhijun-dai](https://github.com/zhijun-dai)
- [Ethan Schoonover](https://github.com/altercation) β Solarized
- [Jan WarchoΕ](https://github.com/jan-warchol) β Selenized
- [KinGao294/dsh-skin](https://github.com/KinGao294/dsh-skin) β the reference theme plugin this port is modeled on
- [DeepSeek](https://github.com/deepseek-ai)
π Listed on Awesome DSH Plugin
Copyright © 2026-present zhijun-dai