在当前 Codex 对话发送清晰的题目照片;可同时提供答案图、书名、页码、题号与黑先/白先。识别在收到照片后进行,网页本身不含图片识别器。
- 识别棋子与题意,确认棋盘边界、先行方、目标棋块。看不清的棋子先核对,不猜测后当成确定事实保存。
- 按原题保留 9 路或 19 路棋盘。必须保留真实边角与影响气、连接、征子的相关棋子;不裁掉关键棋子强行缩成小棋盘。
- 录入答案页的应手和分支,逐手核对;没有答案时只能录入已验证的变化,不声称穷尽所有防守。
- 生成下述 JSON,用网页选择文件导入,或 POST 本地
/api/lessons/import。题库保存后可直接选题。
单题 JSON 对象:
id:唯一英文数字编号,可含-、_,不能覆盖已有题号。title、prompt、hint:题名、题意、提示文字。size: 9 或 19:棋盘尺寸;省略时按 9 路校验。19 路必须明确填写 19。skill: "capture"、sequence: true、difficulty: 1..5、to_play: 1 或 2。stones: [{"x": 0, "y": 0, "color": 2}, ...]。坐标左上为[0,0](9 路 A9、19 路 A19),19 路右下 T1 为[18,18],字母跳过 I;颜色 1 黑、2 白。objective: {"kind": "capture", "targets": [[0,0], ...]}:提掉所有指定初始对方棋子。capture_any为提掉其中任一颗,适用于双打吃。marks: [{"x":0,"y":0,"label":"1"}]:可选棋盘标记。source: {"kind":"book","title":"书名","page":"页码","problem":"题号","note":"核对情况"}:只保存文字来源,不自动读取链接或上传原图。原创题用original,手动题用manual。tree: {"children": [...]}:根不含落子。每个后续节点为{"move":[x,y],"explanation":"本步讲解","children":[...]};从先行方交替落子,叶节点children: []。同一父节点的不同孩子表示该方可选分支。
每条叶分支必须由先行方实际提掉目标结束。校验上限为 31 手、256 节点、每节点 16 分支。初始无气棋块、非法落子、重复节点走法、循环引用、目标未完成均拒绝导入。该校验验证给定变化,不证明最优解或所有防守;未收录走法会提示待复核。
客户端选择文件上限 240 KiB。服务端 JSON 请求上限 256 KiB。题目和答案只保存在本机;网页状态和题库列表不返回答案树。