Preface¶
The Web console of DeepSeek Harness (DSH) defaults to a React frontend with complete functionality, but its interface style leans towards engineering-oriented design. If you wish to continue coding, auditing tools, and switching presets on the same JSON-RPC and WebSocket protocol stack—just switching to a more recognizable interactive shell—someone in the community has created an alternative: wrapping the console into a Terraria pixel-art adventure interface using a single HTML file, where a Guide NPC accompanies your dialogue, difficulty tiers correspond to Agent presets, rather than starting a separate static page disconnected from the host.
Below is the introduction to maintainer 10086ggqq’s dsh_theme_terraria (npm package name dsh-theme-terraria). It is categorized under “Fun Reskins” in the SkillHub directory, with about 12 stars on its GitHub repository; the plugin is released under the MIT license, version 0.1.1.
What Is This¶
dsh_theme_terraria is a Terraria-themed plugin for DSH: it replaces the official web frontend with a self-contained index.html file of approximately 98 KB, with zero external JavaScript dependencies, mapping the “AI coding agent console” into a pixel art world.
It is not merely a CSS reskin. The theme connects directly to the host DSH’s JSON-RPC (HTTP uplink) and WebSocket (event downlink), handling session creation, message sending, streaming output, tool approval, model switching, and workspace management via real protocols; you can chat with the model by entering your DeepSeek API key.
The installation follows the standard DSH plugin package: index.js exports apply(ctx), cordis.patch.yml declares the dsh.bundle patch layer, and a single command writes to the web profile without altering files in the DSH installation directory.
Core Features¶
Difficulty Tiers = Agent Presets¶
The mode selection interface replicates the Terraria character creation dialog. Four difficulty buttons correspond to four backend presets; switching triggers agentPreset.select:
| Difficulty Tier | Preset | Description |
|---|---|---|
| Journey | standard | Full-featured coding agent |
| Softcore | code | Code Mode SDK |
| Mediumcore | minimal | Minimal dual tools |
| Hardcore | cordis | Custom preset template |
Plugins change in real-time with the difficulty; the plugin manager reads the current preset’s cordis.yml, lists mounted plugins along with their Chinese descriptions, and grays out disabled items.
Interface and Interaction Mapping¶
Official UI concepts are uniformly translated into game language:
| Official UI | Theme Mapping |
|---|---|
| Agent Preset | Difficulty Tier: Journey / Softcore / Mediumcore / Hardcore |
| Session | Journey / Adventure |
| User Message | Adventurer |
| Tool Approval | Approval Stone Slate |
| Task List (todo) | Task List HUD |
| API Key Status | Life Crystal Indicator |
The main dialogue area features a three-column layout: the top bar includes connection status (“Connected to Guide World”), dialogue/terminal switching, and sound effects/music toggles; the bottom NPC dialogue box shows the Guide’s portrait on the left, with input box and mode selection, workspace, permissions, model, stop, send buttons on the right.
Settings, Wallpapers, and Desktop Pets¶
The settings dialog is divided into four sections:
- API Key: Stored via
credentials.setin the host’s.dsh-home/.credentials.yaml; plaintext is not saved on the page; tool approval mode (auto-allow / manual confirmation) can be switched. - Wallpaper: Supports dragging or clicking to upload images/videos; images are automatically compressed to 1920px JPEG and stored in localStorage, GIFs retain animation, MP4/WebM (≤512 MB) are stored in IndexedDB as fullscreen dynamic wallpapers.
- Background Music: Supports MP3/WAV/OGG (≤64 MB), stored in IndexedDB for loop playback; the top bar provides a one-click toggle.
- Plugins: Opens the aforementioned plugin manager.
The title screen “Character Desktop Pet” can replace the companion character in the dialogue area and independently control the visibility of five desktop pets (Eye of Cthulhu, King Slime, Plantera, Moon Lord, Ice Golem); supports custom avatars, names (≤12 characters), and personality settings (can be imported from .md files).
Sound Effects and Narrative Details¶
Built-in 8-bit WebAudio sound engine (square wave synthesis, no audio files): assistant reply completion, tool approval, asking the user, and send failure each correspond to a short prompt; streaming output is silent, and sound effects can be turned off via the top bar.
Interactive text is infused with adventure narrative: the user’s signature is fixed as “Adventurer,” manually stopping generation displays “Journey interrupted,” and disconnection prompts “Connection lost, reconnecting…”
Installation and Enabling¶
Environment Requirements¶
- Installed DSH CLI,
dsh --versionis available - Node.js
^22.19 || >=24and pnpm (dsh plugininternally forwards to pnpm) - DeepSeek API key (required for conversation; interface can be browsed without a key)
Installation Steps¶
First, install the theme as a plugin into the web profile:
dsh plugin --profile web add dsh-theme-terraria
If the npm package is not yet published, you can install from GitHub or a local path:
dsh plugin --profile web add github:10086ggqq/dsh_theme_terraria
# or
dsh plugin --profile web add /path/to/dsh_theme_terraria
When running within the deepseek-harness source repository, the above commands need a pnpm prefix, e.g., pnpm dsh plugin --profile web add dsh-theme-terraria.
After installation, start the web service:
dsh web
Default address: http://127.0.0.1:3080/.
Typical Usage¶
After the above steps, you can start a conversation following this process:
- Open
http://127.0.0.1:3080/and click “New Session.” - On first entry, a “Settings” dialog will pop up; enter your
sk-...in the “DeepSeek API Key” input box and click “Save Key.” - After the HUD displays “API Key: Configured,” you can enter commands in the bottom dialogue box.
When switching coding styles, click “Mode Select,” choose Journey / Softcore / Mediumcore / Hardcore in the character creation-style dialog, then click “Select”—the backend preset and session name will update synchronously.
To change the working directory, click “Workspace,” click on an existing directory row to start a new session at that path; you can also register a new workspace by selecting a folder, dragging, or manually entering the full path.
Suitable Scenarios and Notes¶
Who Is It For
- Those already using the DSH web console who want to retain all Agent capabilities while only changing the visual style and interaction tone.
- Those who like pixel art, Terraria UI metaphors, or need difficulty tiers to intuitively correspond to different presets.
- Those needing light customization like wallpapers, BGM, and desktop pets without modifying core DSH code.
Please Note Before Use
- The plugin runs with the permissions of the current
dsh webprocess; it is recommended to read the GitHub repository source code and MIT license before installation. - The SkillHub directory page (https://www.skillhub.cn/plugins/10086ggqq/dsh_theme_terraria) is an independent community site, with no official affiliation to DeepSeek / High-Flyer.
- If the page still shows the old UI after updating the plugin, try force-refreshing (
Ctrl+F5) or adding?v=2to the address to bypass browser cache. - If
dsh plugin addreports pnpm-related errors, install pnpm first and restart the terminal; key saving failures are common in sandbox environments where host directory writes are blocked. - When selecting a folder in the browser, it may only return the folder name; the theme will attempt to match an already registered directory with the same name; otherwise, you may need to manually complete the path.
Conclusion¶
dsh_theme_terraria transforms the DSH web UI into a single-file Terraria pixel world: the Guide accompanies your coding, with real conversation, tool approval, and difficulty switching all included, and zero external JavaScript dependencies. If you are already using DSH, a single dsh plugin --profile web add dsh-theme-terraria will let you experience it.
- Directory page: https://www.skillhub.cn/plugins/10086ggqq/dsh_theme_terraria
- GitHub: https://github.com/10086ggqq/dsh_theme_terraria