Self-Hosted · Multi-Agent · Claude Code

PokerBot

AI bots with distinct personalities play Texas Hold'em against you. Self-hosted game server, GTO strategy engine, and live coaching — all powered by Claude.

4
Subsystems
6
AI Bots
5
GTO Tools
5
Strategy Docs
Get Started View on GitHub

Quick Start

Prerequisites: Claude Code (CLI, desktop, or IDE) · Node.js 18+ · Python 3.10+

1
Clone & install
git clone https://github.com/nicekid1/PokerBot.git
cd PokerBot/poker-server && npm install
2
Open Claude Code in PokerBot/
The CLAUDE.md file auto-loads everything. Just start talking.
3
Play!
Say any of these:
"play poker" — start server, open browser UI "add bots" — add AI players to the table "create a new bot, aggressive old man who loves to bluff" "join pokernow.com/games/pglXXXXXX" — join external room
4
Get coached
CoachBot is always active. Ask for GTO advice, hand analysis, or strategy tips mid-game. It reads your game state in real-time and responds in your language.
5
Stop
Say "stop game" and everything shuts down cleanly.

Features

Everything you need for a full AI poker experience.

Self-Hosted Server
Full Texas Hold'em engine running on localhost. HTTP + WebSocket on port 3457, browser UI for human players, API endpoints for bots. No external dependencies.
Node.js WebSocket Browser UI
Multi-Agent Bots
Six AI personalities from fish to pro, each with unique play styles, tells, and decision workflows. Create custom bots with natural language descriptions.
Opus Sonnet Haiku
GTO Strategy Engine
Five strategy documents and five Python calculation tools. Equity calculator, pot odds, preflop charts, hand evaluator, and range parser. Three-layer architecture: Thinking, Application, Tools.
Python Equity Ranges
Live Coaching
CoachBot runs in your main session — get real-time GTO advice, hand analysis, and strategy tips while you play. Always responsive, never blocked by bot decisions.
Real-time GTO Advice Bilingual
Dual-Session Architecture
Main session for coaching + background BotManager for AI decisions. Each bot spawns as a fresh isolated session with parallel subagents. Zero information leakage.
Isolation Parallel Fair Play
🌐
PokerNow Fallback
Join existing pokernow.com rooms with full bot support. WebSocket bridge + file-based IPC orchestrator. Use when joining someone else's game.
pokernow.com WebSocket Bridge

Architecture

Four subsystems, two ports, three isolation layers.

CoachBot / You
:3456
Main session · relay layer
Poker Server
:3457
Game engine · BotManager API
poker-server/ PRIMARY
Self-hosted Texas Hold'em backend. HTTP + WebSocket on port 3457, browser UI, /state and /action API for bots. Optional --public for LAN play.
poker-strategy/ GTO BRAIN
Five strategy docs (1,025 lines) + five Python tools (1,343 lines). Equity, odds, preflop, evaluator, range parser. Three-layer: Thinking → Application → Tools.
bot-management/ BOTS
BotManager background loop polls for pending turns. Each batch spawns fresh claude -p sessions with parallel subagents. Personality + strategy per bot.
pokernow-runtime/ FALLBACK
WebSocket bridge to pokernow.com rooms. Orchestrator manages bot connections + file-based IPC. Only used when joining external rooms.

Information Isolation

Three layers ensure no bot cheats.

L1
Data Layer
Each bot only receives its own hole cards. No cross-bot data at the API level.
L2
Prompt Layer
Bot prompts contain zero file paths, no directory names, no other bot names. Strategy docs inlined, not read from disk.
L3
Session Layer
CoachBot runs in main session. Bot decisions run in separate claude -p sessions. User's cards never enter any bot's prompt.

Bot Roster

From fish to pro. Create new bots with natural language.

G
GTO Grace opus
Balanced pro — plays GTO with full tool access, exploits deviations.
Balanced GTO Tools Reads Opponents
S
Shark Alice sonnet
Ice-cold shark — tight-aggressive, preys on weakness, minimal tells.
TAG Predatory Silent
A
ARIA Bot sonnet
Steady regular — solid fundamentals, adapts to table dynamics.
Regular Adaptive Consistent
M
Maniac Charlie sonnet
Reckless LAG — loves to bluff, puts max pressure, unpredictable.
LAG Aggressive Bluff-heavy
B
Fish Bob haiku
Happy fish — calls too much, chases draws, having a great time.
Loose-Passive No Tools Fun
+
Your Custom Bot
Describe a personality in natural language and a new bot is created. "Create a TAG-style bot using opus model" — that's all it takes.
Natural Language Any Style