Introduction¶
DSH Web UI (dsh web) focuses on agent interaction and development debugging, but there are still gaps in local multiplayer entertainment scenarios. dsh-poker is a community plugin that adds a local multiplayer Texas Hold’em poker game center to DSH Web UI. It uses a server-authoritative architecture and WebSocket real-time communication, supports same-machine multi-window play, and provides optional server-side AI players.
What Is It¶
This is an unofficial community plugin maintained by Raybbish (not an official DeepSeek project) and is released under the MIT License. It runs inside the DSH Web UI process and leverages DSH’s storage domain for state persistence. The core value of the plugin is implementing a server-authoritative multiplayer game environment with complete Texas Hold’em rules (including blinds, side pots, etc.) and an immutable Play Token asset ledger.
Core Features¶
- Clubs and rooms: Supports creating tables or joining tables by room ID; the interface supports switching between Chinese and English.
- Full interaction: Provides expressive UI animations and complete betting controls (minimum raise, half pot, one-third/one-fourth pot, full pot, etc.).
- Server-side AI: Supports adding server-side AI players driven by the DeepSeek API, with responses validated against the rules.
- Real rules: Implements standard Texas Hold’em rules, including blind structure, side-pot logic, and raise progression.
- Immutable ledger: Uses Play Tokens as the in-game asset; all wallet changes are recorded as immutable ledger entries.
- State and fault tolerance: Provides real-time state synchronization based on WebSocket, with support for snapshot recovery after disconnection and reconnection. When the last human player disconnects, the current hand is frozen; when other players disconnect, they automatically fold/check after a timeout.
- Persistence: By using the DSH storage domain, game state, tables, and player identities remain available after
dsh webrestarts.
Installation and Enablement¶
Installing this plugin requires dsh >= 0.1.0-rc.7 and pnpm in the system PATH. The plugin is automatically injected through the profile bundle mechanism.
# 安装命令(请将路径替换为实际路径)
npx @deepseek-ai/dsh plugin --profile web add -w file:/absolute/path/to/dsh-poker
# 启动 Web UI
npx @deepseek-ai/dsh web
After installation, the plugin automatically inserts a poker loader line into the Web UI startup configuration; no manual configuration file editing is required.
Typical Usage¶
Local Multi-Window Play¶
- Open
http://127.0.0.1:3080in two browser windows (or a normal window plus an incognito window). - Click ♠ Poker at the bottom of the sidebar.
- Create a table in one window, then enter a different nickname in the other window and join.
- Once the table is active, players can start playing; refreshing the page restores the current state.
Enable AI Players¶
- After entering the table, click AI Settings or + Add Bot.
- Enter a DeepSeek API Key. This key is stored only in memory and is not written to a file.
- To enable unattended startup, set it via an environment variable:
DEEPSEEK_API_KEY=sk-your-key npx @deepseek-ai/dsh web
Notes¶
- Unofficial project: This plugin is developed by the community and has no official affiliation with DeepSeek.
- Simulation only: The game uses Play Tokens; it has no wallet, no real-money transactions, and no public-network features.
- Dependency environment: Requires DeepSeek Harness version >= 0.1.0-rc.7 and pnpm in the system PATH.
- Security: The AI API key is valid only in the current process memory and must be re-entered after a restart.
Conclusion¶
dsh-poker provides DSH Web UI with a lightweight, server-authoritative multiplayer game solution. It does not depend on external networks and uses local process communication to deliver a stable experience, making it suitable for local multiplayer entertainment during development and debugging breaks, or as a reference example for game center features.
- Project URL: GitHub - Raybbish/dsh-poker-plugin
- Directory page: SkillHub - dsh-poker