DSH Plugins Marketplace

DSH Plugins

Plugins

/

Terminal & Clients

/

dsh-theme-endfield-contour-rework

d

dsh-theme-endfield-contour-rework

Manifest valid

Fork of dsh-theme-endfield (Arknights: Endfield industrial editorial theme for DeepSeek Harness) with a redesigned contour animation engine: precomputed tileable Perlin terrain, marching-squares contours, cached-texture scrolling. AI-assisted fork; only tested on DSH 0.1.1-rc.2.

UI (client)hasBundlePatch

dsh-theme-endfield-contour-rework

A fork of dsh-theme-endfield with a reworked contour animation engine, for DeepSeek Harness (DSH) Web.

中文说明 →


Fork. A fork of dsh-theme-endfield — Copyright (c) ymh0000123. The upstream MIT licence is kept unmodified in LICENSE; see NOTICE.md.

AI assistance. Developed with extensive AI assistance: most implementation changes were generated by AI-assisted workflows, then verified by running tests, debugging and iterating. Review the changes before using this fork in a production environment.

Tested only on DSH 0.1.1-rc.2 (web profile, Windows).


About this fork

Upstream provides the original theme framework, styling system, loader, settings infrastructure and testing scaffolding. This fork focuses on replacing the contour animation subsystem.

The contour background is now rendered from a precomputed, seamlessly tileable terrain: the pattern is drawn to a texture once, and scrolling only translates that texture. The previous engine deformed the field and re-extracted its contour lines every frame, so it is replaced (with its frame-rate setting) rather than adjusted, and the contour settings now describe scroll direction, speed and density.

Implementation details, the defects found while building it and their measurements are in docs/engineering-notes.md; the full change list is in CHANGELOG.md.

Install

dsh plugin --profile web add github:DoctorxPriestess/dsh-theme-endfield-contour-rework

Reload or restart the web profile to apply. To uninstall:

dsh plugin --profile web rm dsh-theme-endfield-contour-rework

To pin a version instead of tracking main, install the release tarball — this is the form DSH records in the profile, so it is exactly what a rolling github: install resolves to:

dsh plugin --profile web add https://codeload.github.com/DoctorxPriestess/dsh-theme-endfield-contour-rework/tar.gz/refs/tags/v1.0.0

Pinning matters here for one reason worth stating plainly: the profile dependency is a tarball URL, so a later pnpm install in that profile re-fetches whatever the URL points at. Pin a tag and nothing you did not choose can overwrite the plugin.

The plugin mounts itself: cordis.patch.yml declares the bundle row, so no profile file needs editing.

The repository and the package share one name, dsh-theme-endfield-contour-rework: add takes the repository, rm takes the package name. That package name is what DSH records in the profile, and the settings namespace is derived from it.

Coming from another install?

Settings are stored per namespace, so this package starts from its own defaults. If you are switching from upstream dsh-theme-endfield (or from the earlier fork package name), you can copy the existing theme section over:

node tools/migrate-prefs.js                      # dry run: prints what it would write
node tools/migrate-prefs.js --kebab --write      # apply (timestamped backup first)

It only copies fields the current schema declares, leaves every other part of settings.yaml byte-for-byte untouched, and refuses to overwrite an existing section unless you pass --force. Close the DSH app (or expect a hot-reload) before running it.

Features

Everything lives in Settings › Endfield Theme Settings:

  • master switch; palette (Valley Yellow / Wuling Cyan); radius (square / round);
  • contour background, contour scroll switch, scroll direction (8 directions), scroll speed (12 / 24 / 48 / 96 / 192 px/s), contour density (sparse / medium / dense / very dense), terrain roughness (a 12-stop slider: plains → hills → high mountains, stacking plateaus / cliffs / ridge lines / deep valleys / water and landform primitives stop by stop);
  • watermark, and keep-watermark-visible;
  • start-up loading animation;
  • thunder title, and its entrance animation.

Behaviour worth knowing:

  • scroll speed is in pixels per second and advances with the real frame interval, so it looks the same at 60 / 120 / 144 / 240 Hz;
  • changing direction or speed only updates two cached numbers; changing density re-extracts contours from the same terrain; changing terrain roughness regenerates the terrain from the same seed (low stops are flat plains, high stops are rugged high mountains; plateaus appear at stop 6 and shrink to none by stop 10, cliffs start at stop 8 and are heaviest at stop 12; landform strengths grow along a convex curve so the steps near the top buy the most, and stop 12 covers about 61% of the sheet while no landform layer ever passes the 75% ceiling);
  • a new random terrain is generated each time the contour background is switched on, and the same seed and size always reproduce the same terrain within a session;
  • prefers-reduced-motion is read live: with it on, the pattern renders statically.

Settings are persisted through DSH's settings namespace (host index.js registers it, the browser half reads/writes it through ctx.settingsScope), so they survive restarts and port changes and work in DSH Desktop. UI text follows the DSH language setting (Chinese / English).

Screenshots

12
Screenshot 1Screenshot 2

Compatibility

Tested environment:

  • DSH: 0.1.1-rc.2
  • Profile: web
  • Platform: Windows

Other DSH versions have not been tested and may not work correctly; future DSH releases may require migration, especially if the settings API, bundle-row format or client bundle loader changes.

This fork is a separate package (dsh-theme-endfield-contour-rework) with its own settings namespace, so it can be installed next to upstream without clobbering it. Because the namespace differs, upstream settings do not carry over — the fork starts from its own defaults. Both plugins also drive the same <body> classes, so enabling both at once is not recommended; disable upstream if you install this fork.

Two bounds on the pattern itself: the texture is capped at 4096 device pixels per side and 8.3e6 CSS px² (on very large canvases the pattern repeats more often), and the OS "reduce motion" setting renders it statically.

Test results

Last run: 27 / 27 in test:ci (76 s), on Windows + DSH 0.1.1-rc.2 with Edge 152 (the Store build — see below), plus the non-blocking coverage and performance checks.

CheckWhat it coversResult
npm run test:nodeEngine geometry, per-frame cost, settings page, palette contrast, stylesheet guards — no browser neededpass
npm test / test:ciThe same 27 tests, of which 13 drive a real browser27 / 27
test:forkFork identity: package name vs bundle row vs namespace vs key prefix (a half-finished rename fails silently)pass
contour-coverage, contour-perfInk coverage over 8×5 regions; one-time build cost and per-frame costpass
npm run test:node              # everything that does not need a browser
npm test                      # full suite (13 tests drive a real browser)
CHROME_PATH="/path/to/chrome" npm test   # PowerShell: $env:CHROME_PATH="C:\...\chrome.exe"

The geometry and cost checks slice the real functions out of client.js and run them against a stubbed 2d context, so they work without a browser and measure the drawn curves and per-frame work directly.

Browser tests need a Chromium build. Discovery honours CHROME_PATH (also CHROME_BIN / EDGE_PATH / PUPPETEER_EXECUTABLE_PATH), then searches PATH, per-user installs, machine-wide installs and EdgeCore\<version>, and prints every path it checked when it finds nothing. Results are fetched over the DevTools protocol rather than from the browser's stdout, because on machines where Edge is the Store/AppX build the launcher forwards arguments into the running session and stdout comes back empty. If a browser window is already open on such a machine, close it before running the browser tests — the launcher hands the request to that session and ignores the debug port. What each check asserts, and how its thresholds were calibrated, is in docs/testing.md.

This fork has not been verified against upstream's test suite: some inherited browser tests assert exactly what this fork intentionally changed.

Documentation

DocumentContents
docs/features.mdFeature behaviour, defaults, storage keys, edge cases
docs/design-language.mdPalette, token mapping, contrast rules
docs/engineering-notes.mdAlgorithms, defects found and their measurements, layering, animation and performance
docs/testing.mdWhat each check asserts and how it was calibrated
CHANGELOG.mdWhat this fork changed
NOTICE.mdAttribution and AI disclosure

The docs/ pages are written in Chinese (inherited from upstream).

Licence and credits

Comments

Loading…

From the same category

dsh-TUI

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

Terminal & ClientsManifest valid

★ 4.3k

↓ 10.9k/wk

MIT

TypeScript

Oct 11, 2026

dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tui

by strukto-ai

The World's First Virtual Terminal for AI Agents

Terminal & ClientsManifest valid

★ 3.7k

↓ 355/wk

Apache-2.0

TypeScript

Oct 11, 2026

dsh plugin --profile agent add @struktoai/mirage-dsh

by bowenliang123

The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,

Tools & CapabilitiesTerminal & ClientsUI & ExperienceManifest valid

★ 2k

↓ 34.4k/wk

Apache-2.0

TypeScript

Oct 11, 2026

dsh plugin --profile web add dsh-context

by huiliyi37

官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。

Terminal & ClientsManifest valid

★ 287

↓ 462/wk

Apache-2.0

TypeScript

Sep 30, 2026

dsh plugin --profile terminal add @huiliyi37/dsh-tianshu-tui

by Hilbert-beinghappy

面向 DeepSeek Harness 的 Claude Code 风格终端界面,支持 Windows、macOS 与 Linux,兼容透明终端、VS Code 主题和自定义配色。

Terminal & ClientsManifest valid

★ 197

↓ 108/wk

MIT

TypeScript

Oct 1, 2026

dsh plugin --profile web add seektty

by T-Auto

deepseek-harness Plugin Access and Implementation Standards / deepseek-harness交互生态插件规范与实施标准

Terminal & Clients

★ 83

MIT

JavaScript

Oct 10, 2026

Index only — not installable