← 全部指南
本页内容
指南 扑克语义 · 07/09 牌局复盘 15 分钟 高级

如何用 API 解析和回放 PokerKit .phh 手牌历史?

使用 POST /v1/pokerkit/notation/parse 将一段 PokerKit .phh 字符串转为结构化配置,再使用 POST /v1/pokerkit/notation/replay 将已文档化 action 重建为复盘 snapshot。

更新于 维护方 Pokerai API

直接答案:POST /v1/pokerkit/notation/parse 接受必填的 text 字段,其中包含 PokerKit .phh 手牌历史字符串。POST /v1/pokerkit/notation/replay 接受该 text,或已文档化的配置与 actions;可选 index 用于一个步骤。parse 提取结构化手牌数据;replay 返回用于展示和牌局结束后复盘的状态 snapshot。对于已知底牌的牌局结束后结果,POST /v1/pokerkit/eval/hand 评估所提交的 holding 和可选 board,POST /v1/pokerkit/eval/compare 对两个或更多所提交的 holding 和可选 board 排名;两者都不评估手牌历史、不重建缺失信息,也不返回策略或实时对局行动。

核心事实

解析端点POST /v1/pokerkit/notation/parse
回放端点POST /v1/pokerkit/notation/replay
已文档化输入parse 要求 text。replay 接受 text,或含 actions 的已文档化配置字段;index 可选。
已文档化回放输出公开示例返回 result.snapshotresult.step_count
用途边界仅限训练、教学、手牌复盘、学习和研究;禁止真实资金 RTA。

parse 与 replay 的区别

当输入是 PokerKit .phh 文本且需要其结构化配置时,使用 parse;其输出包含已文档化的 variant、blinds、starting stacks 与 actions 等字段。当需要提交历史的状态视图时,使用 replay:它可接受源 text,或直接接受已文档化的配置字段与 actions

这两个端点职责不同。parse 不会创建复盘时间线或扑克建议。replay 会从已提交历史重建状态;不会将手牌转换为 solver 策略、equity 或行动建议。

最小 parse 请求与响应

使用 JSON 和 API key。该请求与响应来自公开 pokerkitNotationParse docs-code 示例。

curl -s https://pokerai.bet/v1/pokerkit/notation/parse \
  -H "Authorization: Bearer $POKERAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"variant = \"NT\"\nactions = [\"d dh p1 AhKh\", \"d dh p2 QsQd\"]\n"}'
{"result":{"variant":"NT","actions":["d dh p1 AhKh","d dh p2 QsQd"]}}

完整公开 docs-code 示例还包含额外解析字段。请将返回配置视为提交 notation 的结构化表示,并在当前 Reference 或 OpenAPI snapshot 中查看完整 contract。

为展示或复盘回放手牌

replay 可在 text 中接收 .phh 字符串,也可接收已文档化的配置字段与 actions。仅当需要一个已文档化步骤 index 的 snapshot 时传入可选 index

curl -s https://pokerai.bet/v1/pokerkit/notation/replay \
  -H "Authorization: Bearer $POKERAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"variant":"NT","antes":[0,0],"blinds_or_straddles":[1,2],"min_bet":2,"starting_stacks":[200,200],"actions":["d dh p1 AhKh","d dh p2 QsQd","p2 cbr 6","p1 f"],"index":2}'
{"result":{"snapshot":{"terminal":false,"street_index":0,"pot":3,"bets":[2,1],"stacks":[198,199],"board":[],"hole_cards":[{"player":0,"cards":["Ah","Kh"]},{"player":1,"cards":["Qs","Qd"]}]},"step_count":5}}

可用 snapshot 中的 pot、bets、stacks、board 与 legal actions 字段渲染已提交历史。示例的 step_count 是该提交 action 列表的已文档化计数。

全信息边界

replay 是对你提交内容的全信息重建。公开响应示例中,snapshot.hole_cards 包含已提交玩家的牌。仅当这些信息属于已提交且已结束手牌的工作流时,才将其用于展示或复盘 UI。

不要将 replay 表述为隐藏牌推断、部分信息模拟、结果准确率保证或实时决策工具。它只会根据已提交 notation,或配置与 actions,重建已文档化状态。

适用与不适用场景

当训练、教学、牌局结束后的复盘或研究工具需要结构化 PokerKit notation 记录及其重建状态时,使用这些端点,例如手牌历史导入、复盘时间线和学习展示。

不要用它们宣称支持另一种手牌历史格式、推断缺失手牌信息、提供真实资金实时辅助,或将 snapshot 转为下注指令。若任务是 GTO 策略、equity 或手牌评估,应使用独立公开且已文档化的对应端点。

错误与当前 contract

两个公开 OpenAPI operation 都声明 422 validation error 响应。对 parse,请确认 text 存在且符合 PokerKit .phh notation。对 replay,请按当前 Reference 或 OpenAPI schema 检查 text 或已文档化配置字段、actions 及可选 index,然后修正并重新提交。

账号级处理请使用当前鉴权文档配额文档错误文档。不要重试未改变的无效请求。

禁止真实资金 RTA

Pokerai API 仅用于训练、教学、手牌复盘、学习和研究。禁止在真实资金牌桌上提供实时辅助。不要将 parse 与 replay 输出接入 live-table automation,也不要把 snapshot 展示为实时行动指令。

相关端点

请使用每个端点的当前公开 contract,而不要推断额外的格式或分析支持。

端点作用使用目的
POST /v1/pokerkit/notation/parse解析必填的含 PokerKit .phh notation 的 text,得到结构化手牌数据导入已文档化的 PokerKit 手牌历史
POST /v1/pokerkit/notation/replay将提交的 text 或配置与 actions 重建为 snapshot;可选 index 选择一个步骤展示或复盘提交的已结束手牌

SDK、MCP 与相关资源