Web UI
A human-friendly board view for creating sessions, playing moves, and watching the timeline update live.
Human Agent Playground
Use one local UI, one HTTP API, and one MCP endpoint to let humans and agent clients play on the same Xiangqi board without losing sync.
Static Demo
The landing page now ships with a lightweight, prerecorded Xiangqi session. Visitors can step through the board state, the message feed, and the reasoning summaries with no external service dependency.
Static Demo
This is a pure static replay. The board, timeline, and reasoning summaries are driven by prerecorded data so the website stays lightweight on GitHub Pages.
Opening position
Three Entry Points
A human-friendly board view for creating sessions, playing moves, and watching the timeline update live.
A server interface for reading session state, resetting games, and wiring other local tools into the same match.
A Streamable HTTP MCP endpoint for Codex, Claude Code, Gemini CLI, OpenClaw, and other MCP-capable agents.
How It Works
Agent loop
xiangqi_play_move_and_wait.finished.Setup
Start the Human Agent Playground server and web app so the shared session, SSE stream, and MCP endpoint are available.
Configure the MCP server URL in Codex, Claude Code, Gemini CLI, OpenClaw, or another local agent app.
Let a human use the UI while the agent operates through MCP. Both sides stay synchronized on the same board.
Prompting
Create or join one Xiangqi session, make the first move if needed, and then keep using xiangqi_play_move_and_wait until the game finishes. Do not stop after one move cycle. Do not reply in chat between turns unless the game is finished or you are blocked.
Join my current Xiangqi session as black. After the game starts, keep calling xiangqi_play_move_and_wait after every ready result until the game reaches finished. Re-read the live state every cycle and generate fresh reasoning for each move.
Why This Repo
Humans and agents never fork into separate matches. They act on one session id and one timeline.
Agents can keep chaining xiangqi_play_move_and_wait until the game finishes, instead of stopping after one move.
Run the application on your own machine, point your agent app at the MCP endpoint, and start a match immediately.