DeepSeek Harness (DSH) supports extending functionality through plugins. dsh-tetris is a bundle plugin that embeds the classic Tetris game into the DSH Web sidebar. It supports full-screen play and a cross-player shared leaderboard.

Core Features

This plugin includes the core gameplay elements of modern Tetris:

  • 7-bag randomizer: shuffles the seven pieces in each cycle to avoid drawing the same piece repeatedly.
  • SRS wall kicks: supports rotation close to walls and the floor.
  • Ghost piece: shows a preview of the landing position.
  • Hold: temporarily stores the current piece.
  • Lock delay: the piece can still be moved or rotated within 500 ms after landing.
  • Sound effects + BGM: theme music synthesized with Web Audio.
  • High-score persistence: saves the historical high score in localStorage.
  • Cross-player leaderboard: scores from all users appear on the same leaderboard.

Installation and Activation

Install it using the official command:

dsh plugin --profile web add dsh-tetris

After installation, restart dsh web. A 「🎮 Tetris」 button will appear at the bottom of the sidebar. Click it to play in full screen.

To install from the GitHub source:

dsh plugin --profile web add github:jasoncanada77-star/dsh-tetris

Installing with git runs the prepare build script. If your pnpm version is >= 10, you need to add the following to the profile’s pnpm-workspace.yaml:

allowBuilds:
  dsh-tetris: true

Usage Instructions

After entering the game, enter a nickname in the sidebar (maximum 12 characters, default: 「Player」) to appear on the leaderboard. After the game ends (with a score > 0), the score is automatically submitted to the shared leaderboard.

Notes

  • KV service limitations: The leaderboard uses the free kvdb.io service, with no SLA guarantee, and the data may be unstable.
  • Security and anti-cheat: Scores are reported by the client, there is no authentication mechanism, and cheating cannot be prevented.
  • Offline support: When the network is unavailable, scores are stored locally and automatically submitted after the connection is restored.

Technical Architecture

This is a standard DSH bundle plugin:
* Entry points are registered in sidebar.footer.action (button) and shell.overlay (full-screen overlay).
* The game logic runs in the browser and uses native setInterval/setTimeout.
* Uninstall command: dsh plugin --profile web remove dsh-tetris.