dsh-yorha-ui
NieR:Automata (YoRHa) industrial terminal theme plugin for the DeepSeek Harness Web GUI
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:MrmoLabs/dsh-yorha-ui说明文档
阅读完整 README ↗dsh-yorha-ui
English | 简体中文
A NieR:Automata / YoRHa-inspired industrial terminal theme for DeepSeek Harness Web.
It reshapes the DSH Web workspace, session list, composer, and overlays with sand-toned paper, charcoal structural lines, and amber status markers while preserving the original interactions and light/dark appearance modes.
Theme preview: a structured representation of the plugin's actual visual rules. It contains no additional animation or game assets.
Features
- Sand and charcoal palettes that follow the DSH appearance mode
- Square geometry, hard borders, and shadow-free industrial surfaces
- YoRHa-style workspace navigation with project headers, mechanical rails, and a reverse-video active session
- A 32px registration grid, subtle paper texture, and segmented system rail
- Consistent colors for the composer, menus, dialogs, code blocks, and syntax highlighting
- A clickable
YoRHa // TACTICAL INTERFACE 11945repository link in the lower-right corner - No runtime CDN, image dependencies, or page animations
- Theme-token overrides that survive DSH theme repaints
Install
Install from npm (stable release)
Install the current stable release from npm:
dsh plugin --profile web add -w dsh-yorha-ui
Without a globally installed dsh command:
npx.cmd --yes @deepseek-ai/dsh@latest plugin --profile web add -w dsh-yorha-ui
Install from source
git clone https://github.com/MrmoLabs/dsh-yorha-ui.git
cd dsh-yorha-ui
pnpm install
pnpm run build
dsh plugin --profile web add -w .
Restart DSH Web after installation, then refresh http://127.0.0.1:3080.
Update and uninstall
Update the npm release:
dsh plugin --profile web update -w dsh-yorha-ui
Uninstall the plugin:
dsh plugin --profile web remove -w dsh-yorha-ui
If you previously installed the development package under its former name, dsh-plugin-yorha-ui, remove that package before installing dsh-yorha-ui.
Why installing a regular npm library is not enough
A DSH GUI plugin is a profile bundle rather than a JavaScript export alone:
package.jsondeclares the profile patch throughdsh.bundle.patch.cordis.patch.ymlinsertsdsh-yorha-uiinto the DSH plugin roster.- The host entry lets DSH load the plugin, while the browser entry registers the same module ID through
window.__ModuleLoader__. - The browser module calls
theme.overrideTokens()and mounts a strictly scoped supplemental stylesheet.
If the bundle declaration, profile row, or browser module ID is missing, the dependency may appear installed while the page remains unchanged.
Development and verification
Node.js 22 or later is required.
pnpm install
pnpm run check
pnpm run build
npm.cmd pack --dry-run
Build output is written to dist/:
dist/index.js: DSH host entrydist/client.js: self-registering browser bundle with no relative runtime dependencies
Automated releases
The repository contains two GitHub Actions workflows:
CIinstalls dependencies, type-checks, builds, and verifies the package on every push tomainand every pull request.Releaseverifies that a pushedv*tag matches thepackage.jsonversion, creates a GitHub Release with the.tgzarchive attached, and publishes the same archive through npm Trusted Publishing.
One-time npm automation setup
dsh-yorha-ui@0.1.0 is available on npm, and v0.1.0 is available as a GitHub Release. The initial npm publication was authorized interactively with a browser Passkey.
To make later tag releases fully unattended, add this Trusted Publisher in the npm package settings before pushing the next release tag:
| npm setting | Value |
|---|---|
| Provider | GitHub Actions |
| Organization or user | MrmoLabs |
| Repository | dsh-yorha-ui |
| Workflow filename | release.yml |
| Environment | Leave empty |
| Allowed action | npm publish |
The workflow uses short-lived GitHub OIDC credentials and does not require a long-lived NPM_TOKEN repository secret. Once the publisher is configured, npm automatically generates provenance for public packages published from this public repository. Until then, GitHub builds still run, but the npm publish step requires interactive authorization.
Publish a new version
Update and commit the package version first. The commands below derive the tag from package.json instead of embedding a version that will become stale:
npm.cmd version patch --no-git-tag-version
npm.cmd run check
npm.cmd run build
$releaseVersion = node -p "require('./package.json').version"
git add package.json dist
git commit -m "release: prepare v$releaseVersion"
Create and push a tag that exactly matches the package version:
git tag -a "v$releaseVersion" -m "Release v$releaseVersion"
git push origin main
git push origin "v$releaseVersion"
No manual GitHub Release creation is needed after the tag is pushed. Follow the process under Actions → Release in the repository.
Project scope
src/client.ts contains the current theme implementation. src/prompt, src/tools, src/templates, src/theme/tokens.css, and src/types.ts are early agent-facing plugin drafts. They are retained as design references and are not included in the current build.
Disclaimer
This is an unofficial community theme. It is not affiliated with Square Enix, PlatinumGames, or the NieR franchise rights holders, and it contains no original game assets.