Introduction

The philosophy of DeepSeek Harness (dsh) is “everything is a plugin”; the appearance and interaction of the Web client can be extended via plugins. The default interface is stable and sufficient, but if you use it for a long time in your browser every day, you might inevitably want to switch to a visual style that suits your taste. Additionally, API balance information is not displayed in the client interface; checking the balance usually requires opening another page.

These needs can be solved by writing a plugin yourself, but handling theme injection, interaction state, and host RPC involves many details. The dsh-blue-archive-shiroko introduced below turns these into ready-to-install packages: install it to get a Blue Archive style theme, an interactive Shiroko desk pet, and convenient DeepSeek API balance checking.

What is this

dsh-blue-archive-shiroko is a DSH Web client theme plugin maintained by mldhao, current version 0.6.0, with source code using the MIT license. One-sentence positioning: a Blue Archive style unofficial fan theme plugin for the DeepSeek Harness (dsh) Web client, including a Shiroko desk pet, Codex-style short bubble phrases, petting interaction, and DeepSeek API balance query.

It is important to note that this is an unofficial fan work, with no affiliation, authorization, or partnership with NEXON Games, NEXON, Yostar, “Blue Archive / Blue Archive”, or OpenAI. Character names, character likenesses, and user-provided images are not included within the MIT license scope; please confirm usage rights before publishing or redistributing, see details in ASSET_NOTICE.md in the repository.

Core Features

Blue Archive Style UI

The theme primarily features Academy Blue and cyan highlights, paired with white frosted panels and a tactical grid background. It adapts to the DSH sidebar, messages, input area, buttons, code blocks, and settings interface. This means that after installation, the entire client shares the same visual style, rather than just the chat area changing colors.

Shiroko Desk Pet

The desk pet supports dragging, scaling, hiding, resetting position, and toggling animations. When idle, it autonomously switches between interactions such as greeting, observing, stretching, and being curious. It is enabled by default and triggers after approximately 12–25 seconds of page inactivity; it pauses during task execution, menu opening, or when the page is hidden. Individual settings are saved in the browser’s localStorage.

Secure Balance Query

Short-pressing the desk pet allows you to query your balance. The implementation works by the plugin host reading the DEEPSEEK_API_KEY configured in DSH and calling the official DeepSeek https://api.deepseek.com/user/balance interface, displaying the currency and available balance. The low balance warning threshold can be adjusted in the settings.

The key does not enter the browser or localStorage; the balance RPC only allows pages running on the DSH host (loopback address) to call it, rejecting remote pages on the local area network. Additionally, custom OpenAI-compatible proxies usually do not provide the DeepSeek official balance interface, so the balance query by default only supports the DeepSeek official API.

Codex-Style Short Bubble Phrases

The plugin reads the assistant’s output from the current conversation and splits it into short phrases. It supports streaming sync, character-by-character display, a blinking cursor, and a carousel after completion, retaining up to the 8 most recent phrases. “Codex style” refers only to the interaction style of short phrases, character-by-character display, and status prompts; it does not copy official pet images, voices, or sound effects.

Petting Interaction, Sound Effects, and Settings Interface

Holding the character’s head for approximately 420ms triggers the petting interaction, including nodding, a pink aura, floating hearts, and exclusive lines. Dragging beyond 8px cancels it to avoid accidental triggers. Sound effects include the character click sound, assistant reply completion sound, and low balance warning sound. The warning sound has a 60-second cooldown and can be disabled in settings. The settings interface is fully centered on desktop, automatically switching to a horizontal tab layout on narrow screens, and respects prefers-reduced-motion.

Installation and Usage

Environment Requirements: DeepSeek Harness / dsh must be installed and running normally, and the DSH Web client must be enabled; a valid DEEPSEEK_API_KEY is required to query balance; modern browsers such as Chromium, Chrome, or Edge are recommended.

It is recommended to download dsh-blue-archive-shiroko-0.6.0.tgz from the GitHub Releases page, then execute the installation command, replacing the path with your actual download location:

dsh plugin --profile web add "C:\path\to\dsh-blue-archive-shiroko-0.6.0.tgz"

After installation, completely restart the DSH Web client and then press Ctrl+F5 to force a refresh. Simply refreshing the page is not enough; the host RPC in version 0.6.0 requires a restart to take effect.

If you want to debug directly on the source code, you can install from the source directory:

git clone https://github.com/mldhao/dsh-blue-archive-shiroko.git
cd dsh-blue-archive-shiroko
dsh plugin --profile web add "$PWD"

After restarting DSH Web, refresh the page. Changes in the directory can usually be verified immediately after a restart or refresh. After installation, use the following command to confirm the plugin appears in the web profile’s plugin list:

dsh plugin --profile web list

Daily Usage

Interactions are centered on the desk pet:

  1. Short press character: Plays the click sound and queries the DeepSeek API balance.
  2. Hold head: Triggers the petting effect after approximately 420ms.
  3. Drag character: Moving beyond 8px enters drag mode; it will not accidentally trigger balance queries or petting, and position is automatically saved.
  4. Click the gear button: Opens or closes the quick panel; a self-interaction can be triggered immediately inside the panel.
  5. When the desk pet leaves the visible area: Click “Restore Desk Pet Position” in the settings.

The Shiroko theme settings allow you to control the desk pet display, conversation sync, desk pet sound effects, low balance threshold, animations, self-interaction, and scaling; manual balance query is also available. To customize the appearance, the theme colors and DSH token are in TOKENS in lib/client.js; the desk pet image is assets/shiroko-custom.webp, changing it requires synchronously updating PET_IMAGE in lib/client.js, otherwise the running plugin will still display the old image.

Local Preview and Development

The repository provides a static visual preview that does not depend on DSH. Start a local static server in the repository directory:

cd dsh-blue-archive-shiroko
python -m http.server 4173

Access the preview page at http://127.0.0.1:4173/preview/ in your browser; the preview page allows switching desk pet states and dragging the character.

Development and packaging use three commands: npm run check for syntax checking, npm test for balance parsing and credential boundary tests, and npm run pack:release to generate the installation package to dist/.

npm run check
npm test
npm run pack:release

Applicable Scenarios and Notes

Suitable for individual users who want to personalize the DSH Web client, like the Blue Archive theme, and wish to conveniently check their DeepSeek API balance. There are a few points to note before use:

  1. The plugin runs with the permissions of the current dsh process, and the host can read the DEEPSEEK_API_KEY configured in DSH. It is recommended to check the source code and license before installing: the source code is MIT, but character names and image assets are not within the MIT license scope.
  2. Conversation sync depends on DSH’s current DOM structure, such as [data-chat-flow-kind="assistant-step"] and the aria-label of the stop button; the selectors may need adjustment after major DSH updates.
  3. If the browser is unauthorized for audio playback, the page is in the background, or the system limits Web Audio, click, completion, and warning sounds may be silently skipped.
  4. Uninstall-related removal commands may vary between different DSH versions; executing dsh plugin --help and dsh plugin --profile web --help can check the parameters supported by the current CLI.

Conclusion

This plugin combines skin changing and practical functions: the theme handles visuals, the desk pet handles interaction, the balance query solves actual information needs, and security boundaries (key not entering the browser, RPC loopback restricted) are clearly designed. If you are using the DSH Web client, the cost to try it is low; if it’s not to your taste, simply uninstall it.

Project homepage and listing page:

  • GitHub: https://github.com/mldhao/dsh-blue-archive-shiroko
  • Community Directory: https://www.skillhub.cn/plugins/mldhao/dsh-blue-archive-shiroko