文档主题 · GTO 求解生命周期

如何运行 GTO solver 工作流?

创建自定义 Flop、Turn 或 River 求解,轮询 tree 至 queryable,然后请求已完成节点的策略。

更新于 维护者 Pokerai API

直接答案:调用 POST /v1/gto/solver,保存返回的 solve handle;轮询 POST /v1/gto/solver/tree 直到 spot_statusqueryable,再将返回节点的 token 传给 POST /v1/gto/solver/node

Quick facts

事项说明
创建POST /v1/gto/solver 调度 Flop、Turn 或 River 求解;board 长度决定街道。
就绪状态轮询 POST /v1/gto/solver/tree,直到 spot_statusqueryable
读取将 tree 节点的 token 传给 POST /v1/gto/solver/node
配额新的求解消耗一次 solve 配额;缓存复用、tree 读取和 node 读取不消耗 solve 配额。
Free tier每月 1,000 次预解查询 + 25 次实时求解。

何时使用

当需要提交 board、ranges、pot、effective stack 和 hero position 的自定义 Flop、Turn 或 River 局面时使用该工作流。它描述的是单个已提交 solve handle 的生命周期,不代表所有扑克格式或结果质量。

何时不使用

不得用于真钱实时辅助(RTA):Pokerai API 仅用于训练、教学、手牌复盘、学习和研究。不要将 computingexpiredno_nodes 或 node error 当作已完成策略。

最小可验证请求

curl -s https://pokerai.bet/v1/gto/solver -H "Authorization: Bearer $POKERAI_API_KEY" -H "Content-Type: application/json" -d '{"board":"2c2h2s","oop_range":"AA,KK","ip_range":"QQ,JJ","pot":6,"effective_stack":100,"hero":"OOP"}'

保存响应中的 solve handle。响应可能为 computingqueryable;只有新触发的求解才包含 solve_quota

轮询 tree,再读取已完成节点

curl -s https://pokerai.bet/v1/gto/solver/tree -H "Authorization: Bearer $POKERAI_API_KEY" -H "Content-Type: application/json" -d '{"solve":"<solve handle>"}'
curl -s https://pokerai.bet/v1/gto/solver/node -H "Authorization: Bearer $POKERAI_API_KEY" -H "Content-Type: application/json" -d '{"node":"<来自 queryable tree 的 node token>"}'

Hero node 的已文档化成功结构包含 strategy。Villain node,或省略 hole_cards 时,响应可包含 actionsrange_strategy。只消费当前 OpenAPI contract 已文档化的字段。

状态和错误处理

信号含义处理方式
computing求解或节点仍在计算。继续轮询 tree;不要将其当作已完成策略。
queryabletree 已可检查。选择返回的 node token 并调用 /v1/gto/solver/node
no_nodes查询的 round 或 runout 没有决策节点。停止轮询该 round 或 runout。
expired求解已被回收或替换。重新调度;旧 handle 无法继续查询。
error节点报告 strategy error,可带 message按失败节点处理;不要将其展示为策略。
HTTP 429status: busy所有 solver hosts 都忙。退避后重试;不消耗配额。
HTTP 503tree 或 node upstream 不可用。按暂时性错误处理,并在适当时退避重试。

配额和相关资源

新的求解消耗实时 solve 计数器;缓存求解复用和 solver tree/node 读取免费。当前月度计数器请见配额主题页

禁止在真实资金牌桌上提供实时辅助。