Foreword¶
The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” During development or debugging, staring at the screen for a long time can easily cause fatigue. As a lightweight tool plugin, dsh-mini-games mounts three pure front-end mini games in the details panel (right sidebar) of the DSH Web interface, without relying on a backend. It uses browser local storage to record high scores.
What It Is¶
This is a plugin maintained by aga-j, used to provide a persistent game entry point in the details panel of the DSH Web interface. It contains three classic games: Number Guessing, 2048, and Minesweeper. The plugin runs completely in the browser and does not consume host logic resources.
Core Features¶
- Persistent panel: The game interface is integrated into the details panel. Game state is retained when switching game tabs, but reset when switching sessions.
- Floating toggle: A floating button in the top-right corner (
shell.overlayslot) is provided to reopen the panel when it is collapsed. - Data persistence: High scores are stored using
localStorage, with the key prefixdsh-mini-games:. - Game mechanics:
- 2048: Supports keyboard arrow keys and on-screen touch buttons.
- Minesweeper: Supports right-click flagging, a first-click safety rule, and timing.
- Theme following: Uses DSH theme alias token colors and automatically adapts to light and dark themes.
Installation and Enablement¶
Install it using the official plugin management command:
dsh plugin --profile web add dsh-mini-games
After installation, restart dsh web for the configuration to take effect. After restarting, a circular 🎮 button appears in the top-right corner of the chat area. Click it to open or collapse the mini game panel.
Verify that the installation is successful:
# 1. 检查配置树中是否存在 mini-games 行
dsh --profile web --dump-config
# 2. 验证浏览器端文件可访问
Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-mini-games/client.js
Typical Usage¶
- Make sure the DeepSeek Harness Web process is started and running.
- Click the 🎮 button in the top-right corner of the chat area.
- If this is the first time opening it, the panel displays three game tabs (Number Guessing / 2048 / Minesweeper).
- Choose a game to play. Switching tabs does not interrupt the current game progress.
Technical Notes and Limitations¶
- Session requirement: The panel can open normally only in a non-empty session (clicking the button prompts “Enter a session first”).
- Dependency warning: The
missing peer @deepseek-ai/*warning that appears during installation is normal. Do not manually install@deepseek-ai/cordis; these dependencies are provided by the official bundle. - Panel width: The displayed width of the panel is controlled by the
ui-layoutcomponent and is usually between 300px and 520px. If it is too narrow, the panel closes automatically. - Implementation details:
- To avoid conflicts with the default DetailsPanel, the details slot registration uses a priority of
-100for shadowing. - The
exportsfield must explicitly export./package.json; otherwise, the activation scan will report an error. - Game state is reset when switching sessions, but retained while switching tabs.
- To avoid conflicts with the default DetailsPanel, the details slot registration uses a priority of
Conclusion¶
dsh-mini-games is a lightweight plugin that conforms to DSH ecosystem specifications. It is suitable for developers who want to relax during development breaks or test interface interactions. All logic is implemented on the front end, and the source code is transparent.