Bundle
@anionex/dsh-eye-care
Warm light, warm dark, and system-aware eye-care themes for DSH Web
- Source
- Anionex
- stars
- 3 stars
- License
- MIT
- Updated
- Updated 4 days ago
Readme
# DSH Eye Care English | [中文](README.zh.md) Warm Light, Warm Dark, System-Aware. A DeepSeek Harness Web profile bundle that replaces cool white interface colors with six warm semantic themes while leaving the native Appearance preference intact. <p align="center"> <img src="assets/eye-care-light.png" alt="DSH Eye Care settings row in warm light mode with Day and Warm selected" width="49%"> <img src="assets/eye-care-dark.png" alt="DSH Eye Care settings row in warm dark mode with Auto and Warm selected" width="49%"> </p> ## What it does DSH Web's built-in Light and Dark themes are cool-toned. Eye care adds a warm light palette, a warm dark palette, and an automatic scheme without a global sepia filter or image transform. - **Four operating modes:** `off`, `auto`, `light`, and `dark`. - **Three warmth levels:** `soft`, `balanced`, and `warm`. - **Six concrete themes** registered through the official ThemeService. - **Real semantic tokens** for backgrounds, text, borders, buttons, sidebar, bubbles, inputs, code blocks, scrollbars, and Shiki colors. - **Native Appearance stays authoritative:** choosing Light, Dark, or System turns eye care off and keeps that newly selected theme. - **Loopback persistence** stores the selection in Host settings; remote browsers keep the selection in the current process. ## Preview The screenshots above show the General settings row in warm day mode and warm night mode. Day and Night are explicit; Auto follows `prefers-color-scheme` at the selected warmth. The row also renders an `aria-live` status and keyboard-visible focus states. ## Install Install the public npm package into the Web profile: ```sh dsh plugin --profile web add @anionex/dsh-eye-care ``` For local development, replace the package name with the checkout's absolute path or a locally packed tarball. `DSH_HOME` defaults to `~/.dsh`; point it at a temporary directory to try the bundle without changing your main profiles. Restart or start the Web UI: ```sh dsh web ``` Open **Settings → General → Eye care** and choose a mode and warmth. ## Theme matrix | Scheme | Soft | Balanced | Warm | |---|---|---|---| | Light | `eye-care-light-soft` | `eye-care-light-balanced` | `eye-care-light-warm` | | Dark | `eye-care-dark-soft` | `eye-care-dark-balanced` | `eye-care-dark-warm` | ## How it works The Host half registers the `eye-care` Settings namespace and exposes a loopback-only Connection RPC channel `/eye-care`. Writes are serialized and fenced by `expectedRevision`; a conflict re-reads the Host snapshot and retries the latest intent. The browser half registers the six themes, injects the General-settings row, and owns the controller lifecycle. The controller subscribes to `theme/change` and `prefers-color-scheme`, restores the pre-eye-care theme on disable or unload, and unregisters every theme on dispose. Remote browsers do not inject the Host RPC and therefore stay process-local. ## Compatibility and limitations - Requires a DeepSeek Harness Web profile with the standard `settings`, `connection`, `locale`, `slots`, and `theme` services. - A native Appearance change is treated as an explicit opt-out by design. - Remote browser sessions do not persist eye care back to the Host. - There is no global color filter; all colors come from named semantic tokens. - The package is pre-release and follows the profile bundle format; its generated theme ids are stable while the bundle is installed. ## Development ```sh cd dsh-eye-care pnpm install --frozen-lockfile pnpm run check pnpm run test pnpm run build ``` Run the optional clean-profile installation test: ```sh DSH_EYE_CARE_PROFILE_E2E=1 pnpm exec vitest run tests/profile-install.e2e.spec.ts ``` ## License [MIT](LICENSE)
Install
dsh plugin --profile web add github:Anionex/dsh-eye-care
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 anionex-dsh-eye-care from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.