DeepSeek Harness Plugin

FeatherHunter/dsh-opencode-palette

Stars ★ 4 Category Themes & Appearance Added 2026-08-18

Ports all 34 opencode official themes (33 static JSON + 1 system) into DeepSeek Harness: data-driven pipeline (JSON → color resolve → DSH override), per-browser persistence, monospace/proportional choice, five code fonts, and a system fallback that keeps typography only.

Install

# from a prebuilt release tarball

dsh plugin --profile web add "https://github.com/FeatherHunter/dsh-opencode-palette/releases/download/v1.6.4/dsh-opencode-palette-1.6.4.tgz"

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:FeatherHunter/dsh-opencode-palette

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. Only install sources you trust, and pin a commit (github:owner/repo#sha).

README

🌐 中文 · English

The complete opencode palette for DeepSeek Harness — 34 official themes. Easier on the eyes, nicer to code in.

hero

Install in one command

Requires the DSH CLI (DeepSeek Harness command-line tool). If you don't have it yet:

npm install -g @deepseek-ai/dsh

Then install the plugin into your profile:

dsh plugin --profile web add dsh-opencode-palette

That's it — zero configuration: this plugin uses DSH's official bundle mechanism — it ships its own cordis.patch.yml (declared via dsh.bundle.patch), so dsh plugin add automatically joins the package into the profile's dsh.profile.bundles layer stack, where the DSH loader assembles it at startup; dsh plugin remove removes it automatically. No manual file editing, and no pnpm build scripts (no postinstall, so pnpm v10 never blocks it). Restart DSH (or refresh the browser page) and the plugin is on, using the official opencode theme (deep black with orange / blue / violet).

Upgrade

dsh plugin forwards pnpm verbs, so upgrading is update + automatic manifest reconciliation:

dsh plugin --profile web update dsh-opencode-palette

Equivalent (idempotent re-add — pnpm bumps to the latest matching version):

dsh plugin --profile web add dsh-opencode-palette

No manual config edits are needed after the upgrade — dsh.profile.bundles is reconciled against the installed state after every successful plugin subcommand, and the bundle layer's cordis.patch.yml joins the stack automatically. Restart DSH (or refresh the browser page) to pick up the new build. To pin to an older version: dsh plugin --profile web add dsh-opencode-palette@<version>.

Upgrading from 1.4.x or earlier: old versions wrote a registration block into ~/.dsh/profiles/web/cordis.patch.yml via postinstall. Before upgrading, delete the opencode-palette block from that file (a leftover would duplicate the bundle registration), then run update or add as shown above.

What it does

DeepSeek Harness ships with one look. This plugin lets you dress the whole interface in any of the 34 official opencode themestokyonight, dracula, gruvbox, matrix, rose-pine, catppuccin ×3, solarized, synthwave84

  • Every color comes from opencode's official theme JSON (v1.18.12) — what opencode ships is what you get.
  • One click re-skins everything: backgrounds, buttons, borders, status colors, markdown, and code syntax highlighting.
  • Your choice is remembered across restarts.
  • The panel speaks your language — it follows the DSH interface language (中文 / English).

Get started in 30 seconds

Settings → Plugins → Opencode Palette (in Chinese: 设置 → 插件 → OpenCode 调色板):

setup panel

Click any theme chip — the interface re-skins instantly:

theme switch

Features

34 themes and the stories behind their names

Every name has a story:

theme stories

34 official themes, faithfully ported

Each theme shows its 7 core colors at a glance — background · text · primary · accent · error · warning · success:

palette strips

All 34 at a glance:

palette matrix

Typography, independent from the theme

  • Body style: monospace (terminal) or regular (UI) — the opencode terminal look or a classic interface look.
  • Font size: 11–18 px.
  • Code font: 5 presets with live preview (JetBrains Mono, Cascadia Code, Fira Code, SF Mono, Consolas).

system — back to default in one click

Restores DSH's native appearance whenever you want, while keeping your typography settings.

Persisted per browser

Your theme and typography choices are stored locally and survive refresh and restart.

Bilingual panel

The panel follows your DSH interface language automatically — switch the language in DSH and the panel follows instantly.

More from the author

If you like this plugin, you might also like:

  • dsh-prompt — When you get stuck writing a prompt, it has 24 deep templates — one click, straight into your input box.
  • dsh-mattpocock-skills-deck — Want your AI to do more than chat? 25 engineering skills, installed with a single prompt.

Development

npm run sync    # fetch official theme JSONs from opencode (version-locked, checksummed)
npm test        # 20 tests: engine audit of all 34 themes + panel render (zh/en)
npm run build   # zero-dependency bundler -> package/ + dynamic client.js
npm run assets  # regenerate the SVG images in this README

Architecture: see DESIGN.md — a data-driven three-stage pipeline, with src/engine/map-dsh.mjs as the single source of truth for the DSH mapping layer.

Contributing

Good starting points: new upstream themes (run npm run sync), mapping refinements, copy polish, or more locale translations. Keep the engine pure (no DOM) so the tests stay green.

License & credits

MIT © FeatherHunter. Theme definitions are vendored from opencode (MIT) and its upstream theme projects — see THIRD_PARTY_NOTICES.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →