All projects

Multi-agent systems

Texas-Poker-Agents

A locally runnable multiplayer LLM poker system for exploring agent behavior in imperfect-information games.

View source on GitHub
Figure 1. A local runtime capture with fictional seats. Agents use the built-in offline fallback; this demo does not show live model inference.

An imperfect-information environment

One human player can share a table with multiple LLM agents, each configured with its own model and style prompt. An agent receives only the state visible to its seat, excluding other players’ cards, future community cards, and server-only information.

Rules and model actions

The Node.js server controls shuffling, dealing, legal actions, blinds, side pots, all-ins, showdown, and match progression. Models propose actions; the server validates them before changing game state.

Malformed JSON, impossible bets, and illegal actions are marked in the logs and replaced with a valid check or fold, allowing the game to continue.

Review and verification

Events are appended to data/sessions/*.jsonl and can be exported through the interface. After each hand, the host can inspect hidden cards, short reasoning summaries, fallbacks, and hand reflections.

Engine tests cover hand ranking, side pots, multiple-runout settlement, heads-up action order, blind increases, hidden-card filtering in table talk, and chip conservation.

Running locally

The project uses Node.js 20+ and built-in modules, with no database. Without an API key, agent seats use the server’s fallback actions.

npm start
# Open http://127.0.0.1:3000
npm run check
Built with

Node.js · SSE · JSONL · OpenAI-compatible APIs

Back to all projects