DSH Game Center

August 23, 2026 · View on GitHub

English | 中文

Put swappable AI Agents at a real poker table inside DeepSeek Harness.
Models, personas, strategies, rules, rooms, and interfaces remain replaceable plugin capabilities.

DeepSeek Harness · Quick start · Architecture · Friend rooms

DSH Game Center lobby with Texas Hold'em and Agent setup controls

DSH Game Center is an experimental game runtime and interface built on DeepSeek Harness. Texas Hold'em is the first playable game: sit at a two-to-eight-seat table, assign a different model, character, or strategy to every Agent seat, and watch the Harness drive each decision through the same legal-action boundary.

This is an open-source Agent playground using non-cash tournament chips. It is not a real-money poker platform.

What you can do

  • Play against actual Harness Agents. A language-model seat calls the selected DSH model on its turns instead of replaying a hard-coded NPC script.
  • Change the player, not the game. Mix models, published character profiles, structured strategies, or a trusted solver adapter at one table.
  • Run auditable poker rules. The Host owns private information, legal actions, betting, side pots, showdown, settlement, and deterministic replays.
  • Bring people into the same match. An optional temporary friend room turns the current DSH process into an internet-accessible table; unused seats can still be filled by Agents.
  • Extend the harness. Games, Agent catalogs, decision engines, room transport, and UI surfaces are separate plugin capabilities rather than one poker-specific monolith.

See it running

DSH desktop friend-room setup inside the Game Center lobby Live DSH friend-room poker table on a phone
The DSH Host chooses human and Agent seats. Guests play from a mobile browser.

Meet the table

The bundled roster is deliberately more like a familiar home game than a solver benchmark. Each character is fictional, versioned, and replaceable.

AgentStyleTable tell
A-HuiLoose-aggressiveOpens too many pots to prove he really does have a range.
Mr. WangPolarizedShrugs off small pots, but hates being pushed off one.
ZhouTight-passiveCan wait an hour for a hand without getting bored.
XiaolinLoose-passiveHas already called this far, so one more card feels reasonable.
AjieTight-aggressiveStays quiet until he finds an edge, then keeps applying pressure.
Xiao GuBalancedKnows the charts and still overthinks the easy spots.

Quick start

The current distribution runs from this repository checkout. The Host needs Node.js 22.19+ or 24+; local Agent play does not require cloudflared.

git clone https://github.com/lmong11/dsh-game-center.git
cd dsh-game-center
npm install --global pnpm@11.7.0
pnpm install
pnpm run build

Start a local table against Agents:

pnpm dsh --profile game-center

Open the local address printed in the terminal, enter Game Center, select Play against Agents, configure the seats, and start the table. Model-backed seats use the provider configured in DSH; structured seats can run without making a model request.

Three decision engines

ModeHow a seat actsBest for
Language modelSends a seat-safe view and finite legal-action list to the selected DSH model.Model behavior, persona experiments, and token-cost comparisons.
StructuredUses a versioned numeric strategy and records its complete action distribution.Fast, reproducible opponents and regression tests.
SolverCalls a trusted external adapter and falls back explicitly when it is unavailable or invalid.Bounded solver experiments without coupling one solver to the game.

Every ordinary seat receives only its own private cards and public table state. Agents cannot see another live hand, the seed, or the undealt deck.

Why a Harness game

Poker is useful here because every decision has incomplete information, a cost, a deadline, and a measurable result. The interesting part is not only whether an Agent can play; it is whether the surrounding Harness lets you replace and compare the parts safely.

CapabilityReplaceable boundary
GameRules, state projections, legal actions, settlement, and replay format.
AgentIdentity, version, model, strategy controls, resource budget, and session history.
Decision sourceLanguage model, deterministic policy, or solver adapter.
RoomLocal durable table or optional temporary public sharing layer.
InterfaceLobby, roster, table, replay, and future game surfaces registered through slots.

The Hold'em implementation is documented in @deepseek-ai/dsh-game-holdem. The broader DSH architecture is described in the development guide, architecture documentation, and Cordis paper A Programming Paradigm for Spatiotemporal Composability.

Temporary friend rooms

Install cloudflared using the official Cloudflare instructions, confirm that cloudflared --version works, and start the friend-room profile:

pnpm dsh --profile friend-room

In Game Center, select Play with friends, configure the table, and copy the invitation URL. Guests only need a phone or computer browser; they do not install DSH or create an account.

Current MVP constraints are intentional:

  • The Host process, computer, and network must stay online.
  • The temporary public URL changes after a restart and has no reconnection recovery.
  • The Host is authoritative, so this mode is for trusted friends and non-cash chips only.

Project status

Both DeepSeek Harness and Game Center are in developer preview. Expect compatibility-breaking changes, unfinished surfaces, and intentionally narrow product limits while the plugin boundaries stabilize.

Feedback and bug reports are welcome in this repository's issues. For upstream Harness discussions, use the DeepSeek Harness community and add the dsh-plugin topic to related plugin repositories.

Contributing

See CONTRIBUTING.md. For agents working in this repository, follow AGENTS.md.

License

MIT. Third-party dependencies and their licenses are disclosed in THIRD_PARTY_NOTICES.md.