Plugin directory / Security / dsh-ivory
dsh-ivory
Verified · install-tested on dsh ZJUZhiyuCai
What it does
Calm, auditable Claude-inspired theme for DeepSeek Harness — light/dark/mobile, safe Markdown preview, zero telemetry, zero runtime dependencies.
Works — verified, early-stage project
Calm, auditable Claude-inspired theme for DeepSeek Harness — light/dark/mobile, safe Markdown preview, zero telemetry, zero runtime dependencies. It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
Ivory for DSH
A calm, warm-neutral interface for DeepSeek Harness.
Light and dark. Desktop and mobile. English and Chinese. Zero telemetry.
Ivory gives the DSH web interface a quieter reading rhythm without changing how
the harness works. Warm neutrals replace cold grays, editorial type improves
long responses, and the conversation stays usable from a narrow phone window
to a wide desktop. DeepSeek branding and every native DSH capability remain in
place.
Quick start
dsh plugin --profile web add dsh-ivory
dsh web
Hard-refresh the page with Cmd/Ctrl + Shift + R, then open
Settings → Ivory Theme. The main theme is enabled by default; the optional
focus mode stays off until you choose it.
Pin a release or uninstall
Install the exact GitHub release without using npm.
dsh plugin --profile web add github:ZJUZhiyuCai/dsh-ivory#v0.2.7
Remove Ivory and return to the native DSH interface.
dsh plugin --profile web remove dsh-ivory
Made for everyday DSH
| Area | What Ivory changes |
|---|---|
| Appearance | A complete warm-neutral palette for light and dark mode, with restrained shadows, corners, and editorial typography. |
| Responsive layout | Fluid conversation geometry tested at 375, 768, 1,440, and 1,920 pixels. |
| Reading and copying | Independent controls for prose, user bubbles, and code blocks, plus a small end-of-response marker. |
| Markdown documents | A bounded, DOM-built preview for .md output with source view always available and HTTP(S)-only links. |
| Accessibility | Keyboard focus, reduced-motion behavior, forced-colors fallbacks, and WCAG AA muted text contrast. |
| Compatibility | Structural styling degrades to stable theme tokens when the verified DSH selector contract changes. |
A closer look
![]() |
![]() |
| Focused desktop conversation | 390 px mobile layout |
Quiet by design
Ivory is a browser-only visual plugin. Its host entry point is intentionally
inert.
| Boundary | Ivory behavior |
|---|---|
| Bundled runtime dependencies | None. DSH client modules and React are peers. |
| Filesystem and process access | None. |
| Network requests and telemetry | None. |
| Persistent data | Two local preference flags in localStorage. |
| User content | Presented in the browser; copied only after an explicit click. |
| Third-party branding | No Anthropic fonts, logos, icons, or application code. |
The npm package contains eight allowlisted files and is checked on every CI
run. Read the full security policy,
architecture boundary,
and third-party notices.
[!NOTE]
DeepSeek Harness is in developer preview and may make breaking UI changes.
Ivory 0.2.x is verified against DSH 0.1.2-alpha.1 and its current web client
modules. When Ivory cannot prove the current structural contract,
it keeps token-level theming and releases the host layout back to DSH.
Quality and release checks
npm ci
npm test # renderer unit tests, then 15 static, build, publint, and package checks
npm run qa:r2 # 73 browser regressions; DSH must run at 127.0.0.1:3080
npm run qa:adversarial # 29 stress checks: reconciliation safety, toggle/resize storms, degraded mode
npm run qa:activity # 24 checks for thinking/tool-call rows, icons, and terminal polish
npm run qa:micro # 28 Vision Toolkit/Ivory micro-component checks; set DVT_CLIENT_JS if the toolkit is not installed in the DSH web profile
The browser suite covers responsive layout, composer focus, dark mode,
Markdown injection attempts, streaming state, lifecycle cleanup, block-copy
payloads, plugin coexistence, long tables, reduced motion, and forced colors.
Releases use npm Trusted Publisher with GitHub OIDC. The repository stores no
long-lived npm publish token, and future CI releases receive npm provenance
automatically.
Development
npm ci
npm run build
dsh plugin --profile web add link:$PWD
dsh web
Edit src/skin.css, src/client.template.js, or src/markdown.js, then run npm run build.
The generated lib/client.js is committed so GitHub installs need no build
permission.
src/skin.css theme and compatibility styles
src/client.template.js client lifecycle and optional enhancements
src/markdown.js capped DOM-built Markdown preview renderer
scripts/test-markdown.mjs renderer unit tests (node --test)
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
See CONTRIBUTING.md
before opening a pull request.
Independent community project
Ivory is unofficial and 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.
Released under the MIT License.
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-ivory for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:ZJUZhiyuCai/dsh-ivory Headless (CLI) profile:
dsh plugin --profile headless add github:ZJUZhiyuCai/dsh-ivory Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

