Back to home@readfish

dsh-client-theme-cyber

DeepSeek Harness 主题

Stars
0
Language
JavaScript
Created
Sep 9, 2026
Updated
Sep 9, 2026
GitHub repo

Introduction

dsh-client-theme-cyber

Cyber Sand — a dark cyber-city theme for DeepSeek Harness Web.

赛博沙漠(Cyber Sand)主题:以深海军蓝半透明面板承载赛博城市夜景背景,青色(全息立方体辉光)作为品牌与焦点色,为 DeepSeek Harness 桌面端/网页端提供沉浸式暗色主题。

Theme plugin (client bundle, dsh.client.platform: "web") for DeepSeek Harness. It applies a token palette via theme.overrideTokens and paints the uploaded cyber-city artwork as a fixed full-viewport background behind the app panels.

Features

  • Dark navy glass panels (semi-transparent, so the city glows through).
  • The uploaded cyber-city image as a fixed body::before background layer.
  • Cyan holographic-cube glow as the brand/accent color (#2ea8ff dark / #1d7fe0 light).
  • ~30 --dsw-alias-* tokens overridden (backgrounds, labels, borders, states, buttons, scrollbars, markdown, sidebar), stacking as a persistent override layer that survives reconnect and theme preference sync.
  • Forces the built-in dark base (theme.setTheme("dark")), as required so the theme stays active across adopt().

Install

dsh plugin --profile web add <this-package-or-repo>

After install, the theme activates immediately (no restart needed); it will also appear in the market's Themes page once published to the catalog.

How it works

lib/client.js (browser half) registers through window.__ModuleLoader__ and exports:

  • apply(ctx):
    1. injects a <style> that sets a fixed full-viewport body::before layer with the city background (brightened JPEG, plus a light darkening gradient for text contrast);
    2. calls theme.setTheme("dark") (a persisted, built-in preference);
    3. calls theme.overrideTokens("@anywhere-labs/dsh-client-theme-cyber", PAIRS) so the palette survives reconnect / preference adoption.
  • inject = ["theme"] — depends on the theme service provided by @deepseek-ai/dsh-client-ui-theme.

lib/index.js (host half) is a stub: everything lives in the browser bundle.

Layout

lib/index.js        host half (stub)
lib/client.js       built browser half (data-URI background embedded)
client.template.js  source template (build via `node build.mjs`)
assets/             source images (city / cube), data-URI text + info
regen-city.mjs      regenerate/optimize the embedded city image

Building

node build.mjs      # replaces __CITY_BG__ in client.template.js -> lib/client.js
node regen-city.mjs # re-derives assets/city.webp.txt (brightened JPEG) from the source image

Uninstall

dsh plugin --profile web remove dsh-client-theme-cyber

Removing the theme restores the default DSH dark palette and no longer injects the background layer (uninstall fully reverts).

License

MIT — artwork in assets/ is user-provided reference imagery for this plugin.