Introduction

For developers using DeepSeek Harness for plugin extensions, a plugin package often has to handle host-side services, browser-side UI, and session event recording simultaneously. dsh-blackjack targets this scenario: it puts the 21 Blackjack table rules, dealer decisions, chat output, and browser UI into the same DSH bundle.

In this plugin, the model acts as the dealer, deciding hit / stand step-by-step through helper LLM calls; round events are written to the session log and can be replayed by event; if the LLM routing is missing or fails, it degrades to using preset dialogue based on personality.

Overview

dsh-blackjack is a 21 Blackjack plugin for DeepSeek Harness. The version in verified materials is 0.1.0, and the license is MIT. The repository pages are as follows:

  • Directory page: https://www.skillhub.cn/plugins/WhiseNT/dsh-blackjack
  • GitHub: https://github.com/WhiseNT/dsh-blackjack

Its core positioning is a dual-facing DSH bundle: a package containing both host game services and browser sidebar UI.

Main capabilities include:

  • Model acts as dealer: Decides hit / stand step-by-step via helper LLM calls.
  • Choose two personalities: Big Fat Fish and Brat. Personality selection is persisted via the blackjack/persona event.
  • Cross-round memory: The dealer prompt carries cumulative score and shared chat history.
  • Event sourcing: Round events such as blackjack/game-start, blackjack/hit, blackjack/stand, blackjack/dealer-hit, blackjack/settle, blackjack/banter, blackjack/emotion, and blackjack/persona are replayable.
  • Deterministic gameplay: Standard 52 cards, seed stored in the game-start event; Aces are 11/1, face cards are 10; dealer draws to ≥17; Busts lose immediately; equal totals push.
  • Browser UI: Sidebar bottom entry, opens 21 Blackjack table in the right detail column; includes table cards, dealer mood badges, career stats, chat stream, and emoji quick actions.
  • UI does not retain game state: The browser side communicates with the host via a self-mounted blackjack Remote namespace.
  • Uses published dependencies: Uses published @deepseek-ai/* npm package 0.1.0-rc.6, without the need for a sibling monorepo or unpublished internal packages.

Installation and Setup

The plugin runs with the privileges of the current dsh process. Before installation, you should check the source code, license, and dependency scope.

First, execute the installation:

dsh plugin --profile <name> add github:<owner>/dsh-blackjack

The <name> in the command is a DSH profile placeholder, and <owner> is a repository owner placeholder; these need to be replaced with the confirmed repository owner.

Since Git installation retrieves source code, the first add requires allowing a self-contained prepare build. The method is to copy the corresponding pnpm key to allowBuilds in the profile’s pnpm-workspace.yaml, and then re-execute add. Only allow trusted source code.

Verify the configuration layer:

dsh --profile <name> --dump-config

This command is used to confirm if dsh-blackjack’s configuration has been entered into the current profile.

Start the web interface:

dsh --profile <name>

Or:

dsh web
dsh --profile <name> web

After starting, a table entry will appear at the bottom of the browser sidebar; after opening, the 21 Blackjack table is displayed in the right detail column.

Configuration

Override the blackjack configuration in the profile’s cordis.patch.yml. An example is as follows:

- id: blackjack
  config:
    dealerPersona: Brat
    randomBanterChance: 0.3

Here, dealerPersona is the initial personality; session-based persistent selection is still recorded via the blackjack/persona event. randomBanterChance represents the probability of triggering non-requested chat or snarky comments after hit.

Local Development

If maintaining source code directly, you can use the pnpm workflow inside the repository:

pnpm install
pnpm run build
pnpm test

Tests cover 136 test cases, including 92 host tests and 44 UI tests.

Use Cases and Notes

Suitable for the following scenarios:

  • Add a bundle to DSH web containing both browser sidebar UI and host services.
  • Verify how plugins write round events as replayable session events.
  • Observe the degradation path when LLM routing is missing or fails.
  • Serve as a reference for plugin structure containing host services, Remote namespace, React UI, and tests.

Notes:

  • The plugin runs with the privileges of the current dsh process; check the source code, license, and dependencies before installation.
  • License is MIT, version is 0.1.0.
  • Git installation retrieves source code; the first add requires allowing a self-contained prepare build in allowBuilds of pnpm-workspace.yaml.
  • When LLM routing is missing or fails, the dealer uses preset dialogue based on personality.
  • The package.json in verified materials is truncated, and the complete range of peerDependencies cannot be fully confirmed; check the complete dependency list before installation.

Conclusion

dsh-blackjack puts 21 Blackjack rules, the model dealer, personality outputs, and browser UI into one DSH bundle, providing event sourcing and degradation paths. It is suitable for observing how the host side and browser side of a DSH plugin collaborate.

Directory page: https://www.skillhub.cn/plugins/WhiseNT/dsh-blackjack

GitHub: https://github.com/WhiseNT/dsh-blackjack