Bundle
@anywhere-labs/dsh-client-theme-cyber
Cyber Sand theme for DeepSeek Harness Web: a dark cyber-city palette (from the reference images) plus a background.
- Source
- readfish
- License
- MIT
- Updated
- Updated 6 hours ago
Readme
# 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
```sh
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
```sh
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
```sh
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.Install
dsh plugin --profile web add github:readfish/dsh-client-theme-cyber
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install anywhere-labs-dsh-client-theme-cyber from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.