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.7 compatible version
  • Node.js ^22.19.0 or >=24.0.0
  • Available dsh and pnpm; dsh plugin invokes 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.

  1. 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.
  2. 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.
  3. Select “Classic Mode” or “Agent Mode” in the lobby, and set the “Direct Access” default game.
  4. In an Agent match, you can click “Teach me this step”, “Take it easy”, or “Go easy on me”, or chat freely.
  5. 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.
  6. 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 5
  • inspect_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 localStorage saves are not secure storage
  • You can manually removeItem to 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 localStorage saves 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 prepare build script; you need to add the exact package key to the allowBuilds list in the Web profile’s pnpm-workspace.yaml according 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