Back to home

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.

简体中文

CI MIT License Node.js zero runtime dependencies

Ivory for DSH in light mode

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.

Ivory conversation view

Ivory conversation view at a 390 pixel mobile viewport

Trust model

Ivory is a visual client plugin. Its host entry point is deliberately inert.

SurfaceBehavior
Runtime dependenciesNone
Host filesystem/process accessNone
Network requests or telemetryNone
Persistent dataTwo local localStorage preference flags
Bundled Anthropic assetsNone; platform font stacks only
User content handlingIn-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.