youyli03/dsh-palenight-theme
A dynamic Cordis plugin that themes the dsh Harness Web UI — Palenight dark + warm-neutral light
Install
The browser half (`plugin/client.js`) applies the layer and registers small UI
(run-card panel, composer status line). The host half (`plugin/host.js`)
registers two package-private RPC handlers (`demo/ping`, `demo/hello`) and a
model-visible demo tool (`demo_greet`) to prove both halves are live.
## Activation (persistent bundle form — survives restarts)
The package is a dsh **bundle**: `package.json` declares `dsh.bundle.patch`
(its `cordis.patch.yml` row) and `dsh.client` (the web client bundle). Install
it so the dsh profile can resolve it:
1. **Resolve the package from the profile.** Either install it with pnpm in
the profile directory (`dsh plugin --profile web add dsh-palenight-theme`,
once published), or — for a local checkout — copy the package directory
into the profile's dependency store and register it:
- copy to `~/.dsh/profiles/node_modules/dsh-palenight-theme/`
- add `"dsh-palenight-theme": "1.0.0"` to `dependencies` in
`~/.dsh/profiles/web/package.json`
- append `dsh-palenight-theme` to `dsh.profile.bundles` in the same file
2. **Restart dsh.** The row `- id: dsh-palenight-theme` composes into the host
tree, and the client-modules registry adds
`/plugins/dsh-palenight-theme/client.js` to the boot manifest
(`dsh.client.platform: web`, `immediately: true`).
3. **The theme applies at every boot.** Switch dsh Appearance to
Light/Dark/System — both palettes are themed.
To remove: drop the dependency and bundle entry, then restart.
> **Activation gate.** The client bundle declares `inject: ['theme']`, so the
> plugin activates only after the `theme` service (provided by
> `@deepseek-ai/dsh-client-ui-theme`) is available. Do not remove it: with
> `inject: []` the `immediately: true` bundle runs before `ui-theme` provides
> the service, `ctx.get('theme')` is `undefined`, and the token layer silently
> never applies.
>
> **Hot updates.** `dsh-client-hmr` watches served bundle files, so replacing
> `plugin/client-module.js` (same package, new content hash) reaches the graph
> without a host restart.
## Activation (dynamic form, deprecated — dies on restart)
1. `cordis_define` a new Plugin (`kind: new`, any `idPrefix`), pasting
`plugin/host.js` as `code.host` and `plugin/client.js` as `code.client`.
2. `cordis_run` the returned `pluginId`/`packageId` (`mode: run`).
3. Approve the browser-side `cordis/request-run` prompt (client code only runs
after you approve it).
4. The theme applies immediately. Switch dsh Appearance to Light/Dark/System —
both palettes are themed.
To revert: `cordis_stop <pluginId>` restores the default theme and removes all
effects (badge, cards, tools). `cordis_undefine` removes it permanently.
## Repository layout
Add youyli03/dsh-palenight-theme to your DSH config (web profile) to enable.
README
Expand full README Collapse
README is empty.
zhu1090093659/dsh-web-ui
omdsh-dev/DSH-better-sidebar
ccch1mneyyy/dsh-TUI
agentrq/agentrq
Anionex/dsh-vision-toolkit
ccch1mneyyy/working-activity
adoresever/graph-memory
NanmiCoder/dsh-agent-teams