Tool tree
gradeNot graded
get_game_stateAnswer
Read the current Taiwanese Chinese Dark Chess (暗棋 / banqi) game on this page: board (4 ranks × 8 files), whose turn it is, your colour, legal moves, captured and still-hidden pieces, the no-progress draw counter, move history and the result. Red pieces are 帥仕相俥傌炮兵, black are 將士象車馬包卒, ■ is face-down, ・ is empty. Call this before choosing a move.
View tool JSON
{
"name": "get_game_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the current Taiwanese Chinese Dark Chess (暗棋 / banqi) game on this page: board (4 ranks × 8 files), whose turn it is, your colour, legal moves, captured and still-hidden pieces, the no-progress draw counter, move history and the result. Red pieces are 帥仕相俥傌炮兵, black are 將士象車馬包卒, ■ is face-down, ・ is empty. Call this before choosing a move.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/banqi/"
}get_rulesAnswer
Read the full rules of Taiwanese Chinese Dark Chess as played on this page (piece ranks, cannon jumps, draw rules).
View tool JSON
{
"name": "get_rules",
"kind": "answer",
"impl": "imperative",
"description": "Read the full rules of Taiwanese Chinese Dark Chess as played on this page (piece ranks, cannon jumps, draw rules).",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/banqi/"
}make_moveAction
Play one move for the human player ("you") in a human-vs-computer game, then wait for the computer's reply. Squares are file a–h + rank 1–4 (a1 is bottom-left). Flip a face-down piece with "flip a1" (or just "a1"); move or capture with "a1-a2" / "a1xa2". Returns your move, the computer's reply and the new game state. Only legal moves on your turn are accepted.
View tool JSON
{
"name": "make_move",
"kind": "act",
"impl": "imperative",
"description": "Play one move for the human player (\"you\") in a human-vs-computer game, then wait for the computer's reply. Squares are file a–h + rank 1–4 (a1 is bottom-left). Flip a face-down piece with \"flip a1\" (or just \"a1\"); move or capture with \"a1-a2\" / \"a1xa2\". Returns your move, the computer's reply and the new game state. Only legal moves on your turn are accepted.",
"inputSchema": {
"type": "object",
"properties": {
"move": {
"type": "string",
"description": "e.g. \"flip c2\", \"c2-c3\", \"c3xd3\""
}
},
"required": [
"move"
]
},
"page": "/banqi/"
}suggest_moveAction
Ask the selected engine (Light or Lightning, with expectiminimax search and an endgame tablebase) for the best move for you in the current position, without playing it. Returns the model, move, evaluation, win probability, principal variation and alternatives.
View tool JSON
{
"name": "suggest_move",
"kind": "act",
"impl": "imperative",
"description": "Ask the selected engine (Light or Lightning, with expectiminimax search and an endgame tablebase) for the best move for you in the current position, without playing it. Returns the model, move, evaluation, win probability, principal variation and alternatives.",
"inputSchema": {
"type": "object",
"properties": {
"thinkTimeMs": {
"type": "number",
"description": "Search time in ms (200–10000, default 1500)"
}
}
},
"page": "/banqi/"
}new_gameAction
Start a new game with a fresh random deal. mode "human" = you play against the computer; mode "ai" = watch two engines play each other. Omitted options keep the page's current settings.
View tool JSON
{
"name": "new_game",
"kind": "act",
"impl": "imperative",
"description": "Start a new game with a fresh random deal. mode \"human\" = you play against the computer; mode \"ai\" = watch two engines play each other. Omitted options keep the page's current settings.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"human",
"ai"
]
},
"first": {
"type": "string",
"enum": [
"you",
"engine",
"random"
],
"description": "Who flips first in human mode"
},
"thinkTimeMs": {
"type": "number",
"enum": [
500,
2000,
5000,
10000
],
"description": "Computer think time per move"
},
"model": {
"type": "string",
"enum": [
"light",
"lightning"
],
"description": "Human mode: computer engine. Light is the original evaluator; Lightning is the 499-parameter learned evaluator."
},
"modelA": {
"type": "string",
"enum": [
"light",
"lightning"
],
"description": "AI mode: engine for computer A"
},
"modelB": {
"type": "string",
"enum": [
"light",
"lightning"
],
"description": "AI mode: engine for computer B"
}
}
},
"page": "/banqi/"
}undoAction
Take back your last move (and the computer's reply) in a human-vs-computer game.
View tool JSON
{
"name": "undo",
"kind": "act",
"impl": "imperative",
"description": "Take back your last move (and the computer's reply) in a human-vs-computer game.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/banqi/"
}get_share_linkAnswer
Get a link that replays the current game move by move (the deal and every move are encoded in the ?r= query string).
View tool JSON
{
"name": "get_share_link",
"kind": "answer",
"impl": "imperative",
"description": "Get a link that replays the current game move by move (the deal and every move are encoded in the ?r= query string).",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/banqi/"
}open_replayAction
Open a shared replay link (or just its ?r= code) on this page. Use replay_goto to step through it.
View tool JSON
{
"name": "open_replay",
"kind": "act",
"impl": "imperative",
"description": "Open a shared replay link (or just its ?r= code) on this page. Use replay_goto to step through it.",
"inputSchema": {
"type": "object",
"properties": {
"link": {
"type": "string",
"description": "Full replay URL or the r= code"
}
},
"required": [
"link"
]
},
"page": "/banqi/"
}replay_gotoAction
While viewing a replay, jump to the position after the given number of moves (0 = the initial deal) and return that position.
View tool JSON
{
"name": "replay_goto",
"kind": "act",
"impl": "imperative",
"description": "While viewing a replay, jump to the position after the given number of moves (0 = the initial deal) and return that position.",
"inputSchema": {
"type": "object",
"properties": {
"ply": {
"type": "number",
"description": "Number of moves played (0 … total)"
}
},
"required": [
"ply"
]
},
"page": "/banqi/"
}