Preface¶
When working with DeepSeek Harness (DSH), there is often a scenario where you are waiting: compilation is running, tests are running, and long tasks are still hanging in the session. You want to briefly switch tasks, but don’t want to leave dsh web, nor do you want to disrupt the task context.
dsh-whale-cards is a local arcade plugin that can be installed into the DeepSeek Harness (DSH) Web interface: it provides several curated mini-games, as well as an original whale companion named “Lanyin”. You can open a game during the wait, close it at any time, and then continue from the same step later.
It is designed for the local workflow of DSH / AI Agent developers: it adds a low-distraction, resumable, locally runnable leisure entry within the host interface. It is a community plugin and should not be interpreted as an “official app” from the “official app store”.
What is it¶
changer-changer/dsh-whale-cards is a local arcade plugin for the DSH Web interface. The repository license is MIT.
It provides three types of local mini-games:
- Whale Card Tea Break
- Harbor Duel
- Tide Light Catch
The plugin also provides a cross-game companion character, Lanyin, and supports resuming gameplay.
Its basic division of labor is:
- The Classic mode uses local rules and deterministic AI and does not consume Tokens.
- The Agent mode creates an independent DSH Agent Session for each round; Lanyin makes legal decisions, which will invoke the selected model and consume Tokens.
Requirements¶
The following environment conditions must be met:
- DeepSeek Harness
0.1.0-rc.7compatible version - Node.js
^22.19.0or>=24.0.0 - Available
dshand pnpm;dsh plugininvokes pnpm within the profile
Additionally, DSH is still in developer preview. Before releasing the plugin, it should be rebuilt, tested, and subjected to real-world Web smoke testing on the target DSH version.
Core Capabilities¶
The following introduces the capabilities explicitly provided by this plugin.
Local Arcade¶
The plugin provides a local arcade within DSH Web, including:
- Whale Card Tea Break
- Harbor Duel
- Tide Light Catch
Save files are isolated per game, so you can open the corresponding game to continue the previous match.
Classic Mode¶
Classic mode uses local rules and deterministic AI.
Its characteristics are:
- No model invocation
- No Token consumption
- Decisions are made by local rules and local AI
It is suitable for scenarios where you just want to play cards without triggering model calls.
Agent Mode¶
Agent mode creates an independent DSH Agent Session for each round.
In this mode:
- Lanyin is responsible for making legal decisions
- Invokes the selected model
- Consumes Tokens
- The player can chat directly with Lanyin or trigger quick expressions within the match
The Agent can only select legal Action IDs generated by the engine for the current round. Real state changes are verified and executed by the local rule engine.
Lanyin Companion¶
Lanyin is an original companion character across games.
It can:
- Conduct real model chat
- Provide a Soul view
- Use browser-persisted long-term memory
- Generate relevant lines and expressions based on the situation
When the model is unavailable, the game can downgrade to local lines or local decisions.
Resuming Gameplay¶
The plugin supports resuming gameplay.
After closing the game, the match state will be frozen and saved. You can resume when refreshing the page, switching DSH sessions, or reopening it later.
Non-blocking Alerts¶
When a DSH task completes or requires confirmation, the plugin displays a non-blocking reminder only once. It does not pause the game and does not steal focus.
Localization and No Extra Services¶
The plugin explicitly ensures:
- No account
- No ads
- No online multiplayer
- No telemetry
The only external dependency is the model call. When the model is unavailable, the game can downgrade to local lines or local decisions.
Installation¶
The following provides the installation flow for a local repository.
First, clone the repository, enter the plugin directory, install dependencies, and build:
git clone <this-repository-url>
cd <this-repository>/dsh-whale-cards
npm ci
npm run build
After the build is complete, install the plugin to the DSH web profile:
dsh plugin --profile web add .
After installation, check the configuration first, then start Web:
dsh --profile web --dump-config
dsh web
After the above steps, the plugin is available in DSH Web, and you can access the arcade through the floating entry.
Typical Usage¶
The following is a reproducible usage path.
- Open
dsh web. Click the floating entry to expand the arcade; click “Direct Access” to the right of the entry to directly enter your set default game. - Select a game in the lobby. If there is no save, start a new match; if there is an unfinished match, the game card will show “Has Save”—open it to continue.
- Select “Classic Mode” or “Agent Mode” in the lobby, and set the “Direct Access” default game.
- In an Agent match, you can click “Teach me this step”, “Take it easy”, or “Go easy on me”, or chat freely.
- The Memory tab allows you to view, edit, or delete items Lanyin remembers; the Soul tab allows you to view the personality, the current match Session, and the context strategy.
- After closing the game, the match state is frozen and saved. You can resume when refreshing the page, switching DSH sessions, or reopening it later.
Cost and Model Boundaries¶
Here we need to distinguish between the two modes.
Classic Mode¶
Classic mode does not invoke the model and does not consume Tokens. It relies on local rules and deterministic AI, making it suitable for offline, low-cost local matches.
Agent Mode¶
Agent mode invokes the selected model and consumes Tokens. It also uses two read-only session tools:
search_sessions: returns up to 5inspect_session: viewing the most recent 12
These tools may send relevant session snippets to the selected model. When using Agent mode, you should evaluate based on the privacy terms of the service provided by the selected model.
Decision Boundaries¶
The Agent cannot bypass local rules. It can only select legal Action IDs generated by the engine for the current round. Real state changes are verified and executed by the local rule engine. When the model is unavailable, it can downgrade to local lines or local decisions.
Data and Uninstall¶
Local Data¶
The plugin’s data is mainly stored in the browser’s localStorage.
Please note:
- Browser
localStoragesaves are not secure storage - You can manually
removeItemto clean them - Browser local saves will remain after uninstalling the plugin
If you care about local remnants, you should clean the corresponding browser storage after uninstalling.
Uninstall¶
The uninstall command is:
dsh plugin --profile web remove dsh-whale-cards
After uninstalling, browser local saves will remain.
Applicable Scenarios and Notes¶
This plugin is suitable for those using it within DSH Web who want a short break without interrupting long tasks.
Suitable for:
- Opening a game while waiting for compilation, tests, or long tasks
- Using only local rules without wanting to consume Tokens
- Testing the interaction between Lanyin and the selected model in Agent mode
- Wanting a game that can be closed and resumed without stealing focus
Please note:
- The plugin integrates with DSH’s model configuration and session capabilities; please review the source code and the MIT license before installing.
- Agent mode invokes the selected model and consumes Tokens.
- Agent mode may read relevant session snippets via session tools and send them to the selected model.
- Browser
localStoragesaves are not secure storage and will remain after uninstall. - DSH is still in developer preview; before release, it should be rebuilt, tested, and subjected to real-world Web smoke testing on the target DSH version.
- If installing from a Git commit, it may trigger pnpm 10+ to block the
preparebuild script; you need to add the exact package key to theallowBuildslist in the Web profile’spnpm-workspace.yamlaccording to the error message. - The README does not assume this package has been published to the npm registry.
- The project has not copied or packaged code, artwork, character designs, dialogue, or audio from
Small-tailqwq/dsh-deep-whale.
Conclusion¶
The value of dsh-whale-cards is quite concrete: it provides a local arcade within DSH Web, supports resuming gameplay, supports both Classic local mode and Agent mode, and tries not to interrupt tasks or steal focus.
Current verified information provides the repository address, but does not provide a confirmed directory page URL, so only the repository link is provided here.
- GitHub: https://github.com/changer-changer/dsh-whale-cards
- License: MIT