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/standstep-by-step via helper LLM calls. - Choose two personalities: Big Fat Fish and Brat. Personality selection is persisted via the
blackjack/personaevent. - 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, andblackjack/personaare replayable. - Deterministic gameplay: Standard 52 cards,
seedstored in thegame-startevent; 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
blackjackRemote namespace. - Uses published dependencies: Uses published
@deepseek-ai/*npm package0.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
dshprocess; check the source code, license, and dependencies before installation. - License is
MIT, version is0.1.0. - Git installation retrieves source code; the first
addrequires allowing a self-containedpreparebuild inallowBuildsofpnpm-workspace.yaml. - When LLM routing is missing or fails, the dealer uses preset dialogue based on personality.
- The
package.jsonin verified materials is truncated, and the complete range ofpeerDependenciescannot 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