跳过主要内容
Z

dsh-ivory

zjuzhiyucai/dsh-ivory

DSH Web 暖中性色明暗主题,支持响应式布局、双语设置、安全 Markdown 预览、内容块复制与无遥测运行。

安装

dsh plugin --profile web add github:zjuzhiyucai/dsh-ivory

README

Ivory for DSH

A calm, warm-neutral interface for DeepSeek Harness.
Light and dark. Desktop and mobile. English and Chinese. Zero telemetry.

npm version CI status latest release MIT license zero telemetry

简体中文 · Security · Changelog

Ivory for DSH home screen

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.4

Remove Ivory and return to the native DSH interface.

dsh plugin --profile web remove dsh-ivory

Made for everyday DSH

AreaWhat Ivory changes
AppearanceA complete warm-neutral palette for light and dark mode, with restrained shadows, corners, and editorial typography.
Responsive layoutFluid conversation geometry tested at 375, 768, 1,440, and 1,920 pixels.
Reading and copyingIndependent controls for prose, user bubbles, and code blocks, plus a small end-of-response marker.
Markdown documentsA bounded, DOM-built preview for .md output with source view always available and HTTP(S)-only links.
AccessibilityKeyboard focus, reduced-motion behavior, forced-colors fallbacks, and WCAG AA muted text contrast.
CompatibilityStructural styling degrades to stable theme tokens when the verified DSH selector contract changes.

A closer look

Ivory conversation view on desktop Ivory conversation view on mobile
Focused desktop conversation 390 px mobile layout

Quiet by design

Ivory is a browser-only visual plugin. Its host entry point is intentionally inert.

BoundaryIvory behavior
Bundled runtime dependenciesNone. DSH client modules and React are peers.
Filesystem and process accessNone.
Network requests and telemetryNone.
Persistent dataTwo local preference flags in localStorage.
User contentPresented in the browser; copied only after an explicit click.
Third-party brandingNo 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.0-rc.6. 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          # 14 static, build, publint, and package checks
npm run qa:r2     # 69 browser regressions; DSH must run at 127.0.0.1:3080
npm run qa:adversarial  # 25 stress checks: reconciliation safety, toggle/resize storms, degraded mode
npm run qa:activity     # 13 checks for thinking/tool-call rows, icons, and terminal polish

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 or src/client.template.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
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.

相关插件