SCRIPT

自动答题-题库匹配

脚本说明 一、脚本工作原理(节点树概览) root ├─ 初始化:已答列表=""、连续未中=0、连续已答轮数=0、已处理题号=-1(GLOBAL,跨子流程回传) ├─ file action EXISTS 检查题库文件 → 不存在则弹窗提示并 STOP ├─ file action READ 读取题库 → run code JS 解析成 题干/题型/答案/附加 四数组 ├─ 题库总数=len(...),为 0 则提示并 STOP └─ 主循环 repeat(单题最大等待轮数): ├─ 内层遍历题库(区分三种情况):

通用脚本

脚本介绍

脚本说明

一、脚本工作原理(节点树概览)

root
├─ 初始化:已答列表=""、连续未中=0、连续已答轮数=0、已处理题号=-1(GLOBAL,跨子流程回传)
├─ file_action EXISTS 检查题库文件 → 不存在则弹窗提示并 STOP
├─ file_action READ 读取题库 → run_code JS 解析成 题干/题型/答案/附加 四数组
├─ 题库总数=len(...),为 0 则提示并 STOP
└─ 主循环 repeat(单题最大等待轮数):
   ├─ 内层遍历题库(区分三种情况):
   │    视觉命中且未答 → 命中题号,break
   │    视觉命中但已答 → 已答命中数+1(说明屏幕上只有题库中已答过的题)
   │    视觉未命中     → 继续遍历下一题
   ├─ 命中 → call_subflow 作答题目(命中题号) → 已答列表追加 → 连续未中/连续已答轮数清零
   ├─ 已答命中数>0 → 连续已答轮数+1;≥2 轮 → break 退出(判定题库已答完,不触发 AI 兜底)
   ├─ 无任何命中 → 连续未中+1;≥3 轮 → call_subflow AI兜底读题
   │            └─ ai_vision 读屏幕题目 → JS 与题库模糊匹配 → GLOBAL 回传题号
   └─ 检查已处理题号 ≥ 0 → 作答 → 标记已答 → 复位
└─ 主循环退出 → 通知提示"题库已答完或连续无新题"
子流程「作答题目」:取答案/题型/附加 → 选择=click_text 点选项;填空=粘贴+回车/点提交按钮
子流程「AI兜底读题」:ai_vision 识别题目文本 → JS contains 匹配题库题干 → GLOBAL 回传

已答完判定:题库全部答完后,屏幕上若仍显示题库中的题(已答过),脚本通过「连续 2 轮只有已答题」判定题库已答完并提前退出,不再触发 AI 兜底(AI 兜底仅当"屏幕上完全没有题库的题"连续 3 轮时才触发)

二、题库文件格式(UTF-8,每行一题,`|` 分隔 4 列)

题干关键词|题型|答案|附加文字

| 列 | 说明 |

|---|---|

| 题干关键词 | 屏幕上会出现的唯一文字(越独特命中越稳),支持 # 分隔多个关键词(任一出现即命中) |

| 题型 | 选择填空 |

| 答案 | 选择=选项上的文字;填空=要输入的文本 |

| 附加文字 | 选择=可空的完整选项文字(当答案列是 A/B 编号时填此项);填空=可空的提交按钮文字(空则回车提交) |

示例 /sdcard/WeMod/题库.txt

唐朝建立于哪一年|选择|618年|618年
1+1等于几|选择|2|2
中国首都是哪个城市|选择|北京|北京
填写英语单词:苹果|填空|apple|提交
3.14 的整数部分是几|填空|3|

注意:题干关键词/答案/附加文字内部不能含 |(保留分隔符)与换行。

三、使用步骤

  1. 手机放题库文件到 /sdcard/WeMod/题库.txt(路径可在 App 控制台面板改「题库文件路径」)。
  2. App 内导入本脚本(.axs 完整导入,保留控制台变量/设置)。
  3. 打开答题 App,停在题目界面,运行脚本。
  4. 面板可调:「单题最大等待轮数」(默认 15 轮×2 秒,连续无新题即结束)。

兼容信息

适配分辨率:1080x2194

运行前提:需要开启:无障碍权限、悬浮窗权限、屏幕录制权限、存储权限、通知权限

风险等级:NORMAL

验证设备:OPPO PLE110

版本信息

版本号:1.0.0

脚本社区移动端使用应用内查看