ZJUZhiyuCai
dsh-ivory
Calm, auditable Claude-inspired theme for DeepSeek Harness — light/dark/mobile, safe Markdown preview, zero telemetry, zero runtime dependencies.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
Ivory for DSH
A calm, Claude-inspired interface for DeepSeek Harness — responsive, accessible, and intentionally boring about your data.
Ivory reshapes the DSH web interface with a warm neutral palette, editorial typography, restrained shadows, and a focused conversation layout. It keeps the DeepSeek identity and every DSH capability intact, with zero telemetry.
Install
Install the current GitHub release:
dsh plugin --profile web add github:ZJUZhiyuCai/dsh-ivory
dsh web
Once the npm package is available, the shorter install is:
dsh plugin --profile web add dsh-ivory
Hard-refresh the browser after installation (Cmd/Ctrl + Shift + R). Open
Settings → Ivory Theme to enable the theme or its optional focus mode.
To uninstall:
dsh plugin --profile web remove dsh-ivory
What makes it different
- Complete light and dark themes — follows the active DSH appearance.
- Responsive by contract — tested at 375, 768, 1,440, and 1,920 pixels.
- Accessible interaction states — visible keyboard focus without the blue composer halo, reduced-motion support, and forced-colors fallbacks.
- Safe Markdown document preview — builds DOM nodes instead of injecting HTML, permits only HTTP(S) links, and keeps source view reachable.
- Independent block copying — prose paragraphs, user bubbles, and code fences have their own accessible copy control with a clipboard fallback.
- Symmetric cleanup — observers, injected views, and the small ink-colored whale marker are removed when the theme is disabled.
- Host-friendly compatibility mode — if an upstream selector changes, structural enhancements fall back while stable design tokens remain active.

Trust model
Ivory is a visual client plugin. Its host entry point is deliberately inert.
| Surface | Behavior |
|---|---|
| Runtime dependencies | None |
| Host filesystem/process access | None |
| Network requests or telemetry | None |
| Persistent data | Two local localStorage preference flags |
| Bundled Anthropic assets | None; platform font stacks only |
| User content handling | In-browser presentation; explicit copy clicks write only to the local clipboard |
The generated npm tarball is allowlisted to eight files and checked in CI. See SECURITY.md and the architecture note for the exact boundary.
Quality gates
The repository has two verification layers:
npm ci
npm test # reproducible build, static security checks, publint, tarball audit
npm run qa:r2 # 67 browser regressions; requires DSH at 127.0.0.1:3080
The browser suite covers layout contracts, mobile overflow, composer focus, Markdown injection attempts, lifecycle cleanup, streaming state, whale marker timing, exact block-copy payloads and fallback, dark mode, plugin coexistence, long tables, and reduced motion.
Development
npm ci
npm run build
# Link the local checkout into DSH
dsh plugin --profile web add link:$PWD
dsh web
Edit src/skin.css and src/client.template.js, then run npm run build.
lib/client.js is committed so GitHub installs do not need a build script.
src/skin.css theme and compatibility styles
src/client.template.js client lifecycle and optional enhancements
lib/client.js deterministic generated browser bundle
lib/index.js inert host entry point
cordis.patch.yml DSH bundle registration
scripts/ build and verification gates
Please read CONTRIBUTING.md before opening a pull request.
Compatibility and limitations
DeepSeek Harness is currently a developer preview and can make breaking UI changes. Ivory validates the structural selector contract at runtime and degrades to token-only styling when it cannot prove compatibility. System font metrics differ slightly across macOS, Windows, and Linux. Focus mode temporarily hides supported auxiliary panels by design; it is off by default.
Project status
The initial release focuses on a small, auditable surface. Planned work is tracked in GitHub Issues. If Ivory improves your daily DSH workflow, a star helps other users find it.
Independence and trademarks
Ivory is an unofficial, independent community project. It is not affiliated with, endorsed by, or sponsored by Anthropic or DeepSeek. Claude is a trademark of Anthropic PBC. DeepSeek and DeepSeek Harness may be trademarks of their respective owners. Ivory does not bundle Anthropic fonts, logos, icons, or code. See THIRD_PARTY_NOTICES.md.
Released under the MIT License.