程序聚合 软件案例 自动答题系统 QuizWindow

自动答题系统 QuizWindow

2026-09-30 12:18:26
行业:在线教育、生活服务
载体:Windows应用
技术:PowerShell、Python

业务和功能介绍

背景与目标:学习通「信仰知识挑战」要求每天在 10 个题库板块答题,每个板块每天 1 轮、每轮约 10 题、每题限时 20 秒,人工反复操作既耗时又容易超时丢分。目标:用一台安卓手机+一台电脑把这套流程自动化,并且严格"不越界"——不做任何与答题无关的手机操作。

功能模块:1)设备层:USB/无线 adb 自动连接、多设备自动选择、掉线重连;配套 PhoneWindow 手机投屏(scrcpy 内核+图形界面)实时看手机画面、按需留帧。2)识别层:截图+Windows 内置 OCR 拿到每行文字与像素坐标,按"题干左对齐、选项居中"把文字聚类切分成选项块。3)作答层:本地题库 bank.tsv 相似度匹配(字符二元组多重集,阈值 0.72)命中即秒答;未命中调用大模型(OpenAI 兼容接口)判题并把新题回写题库(标记未核实);判断题、多选题、填空题分别处理——填写空题通过 ADBKeyBoard 广播中文输入再回读核对,多选题逐个点选后自动提交。4)核对层:进入"答题记录"逐场抓取官方答案,与题库比对修正、补录,输出核对报告。5)编排层:自检 probe、单轮答题 run_quiz、日常 daily(10 个板块额度检查+逐轮答题+抓官方答案)、单板块刷满 grind_category、抓记录 harvest_records、夜间巡检 night。6)桌面程序:QuizWindow.exe 图形界面(首页/任务/日志/题库/说明 五个页签)+QuizWindowCLI.exe 命令行版,双击桌面快捷方式即用;每次运行都生成逐步日志(run.log/steps.tsv/summary.txt/shots 文件夹)。

业务流程:手机停在答题页→脚本先过"前台闸门"确认学习通在前台,否则什么都不做→逐轮截图+OCR→题库或大模型判题→以原地长按方式点击选项→遇到不会的题等超时后继续答后面的→一轮结束进记录页抓官方答案修正题库→全过程写入日志与报告。每个板块每天 1 轮,题库随轮次增长,命中率趋近 100%。

项目实现

技术选型:Python 3.13+PySide6 6.11(Qt)+PyInstaller 6.22 打包双 EXE;PowerShell 5.1 脚本族;Android platform-tools 33(adb/uiautomator);Windows.Media.Ocr;ADBKeyBoard 输入法桥;OpenAI 兼容大模型接口。我独立完成方案设计、脚本内核、自动化流程、图形程序、打包流水线、文档与交接体系。

设计思路:① 分层——工具层/平台层/设备层/编排层/数据层/界面层,将来移植到 Linux 或安卓自跑时只需改平台层。② 先"包装"后重写——第一阶段图形界面只做编排与显示,真正的动作仍由已验证的 PowerShell 脚本执行,保证行为与老脚本完全一致;第二阶段再逐块把内核搬进 Python,每搬一块都与旧脚本对照跑一轮,一致才切换。③ 安全闸门写进内核:要动手机的任务先确认学习通在前台,不在前台直接返回"nothing was touched";识别不到题目编号标题绝不点击;题库未命中宁可不答也不乱点。④ 打包——one-dir 双 EXE(GUI 无控制台+CLI 有控制台,共用 _internal),构建五步:静态检查→预检查→PyInstaller→塞入 adb→冒烟测试(GUI 出错会弹框并永久等待,所以冒烟必须带超时)。

难点与解决:① uiautomator 控件树在 H5 答题页"惰性构建":同一个页面有时导出 33 个节点、有时只有 14 个空壳→改用"截图+OCR",彻底不依赖无障碍树。② adb shell input tap 会被该页面忽略→所有点击改为 input swipe x y x y 120~130(原地按住再松开)。③ "答案对却点错":大模型思考的 3~5 秒里 H5 重排版,先前算好的坐标失效→点击前再截一次屏,按答案文字重新定位选项行。④ 退出确认框出现时倒计时照走→按 OCR 找到"取消"尽快点掉,保证当轮答完。⑤ 填空题在无障碍树里没有输入框→用 OCR 定位"第 N 空",经 ADBKeyBoard 广播输入后回读核对,共四层兜底。⑥ 中文路径、PowerShell 5.1 按 ANSI 解析脚本、BOM、subst 虚拟盘、adb 二进制重定向等工程坑,全部固化成文档与自检脚本(dev_check/dev_precheck/selftest)。

结果:题库从 6 题增长到 171 题(含官方核实项、结构破损 0);首轮实战 6 题 6 分、160 秒内完成(约 18 秒/题,命中题库后 2~4 秒/题);判断、多选、填空三种题型全部实测通过;GUI 与 CLI 打包自检全过(--selftest/--qtsmoke 退出码 0);每一步都有日志与截图可复盘。

示例图片视频


66可
3天前活跃
方向: 前端-跨端开发、移动端-安卓、
交付率:100.00%
相似推荐
销售帐务管理系统
1、立项背景和目标:公司应收账款长期依赖 Excel 手工台账管理,客户多、出库单据量大,回款核销与账龄统计效率低、易出错,逾期账款缺乏主动提醒,坏账风险难以及时发现。本项目旨在建设一套应收账款管理系统,实现从销售出库记录、回款冲销到逾期预警的全流程线上化,目标是做到账实一致、账龄清晰、逾期可追溯,将财务对账工作量降低 50% 以上。 2、软件功能与核心模块:系统包含五大核心模块。 (1)客户管理模块:维护客户编码、名称及信用天数等基础档案,支持新增、编辑、删除与 Excel 批量导入; (2)销售账务记录模块:管理出库单号、存货编码、数量、含税单价与含税金额等销售出库明细,支持手工录入与 Excel 批量导入; (3)回款冲销模块:录入回款记录并自动核销对应应收余额; (4)应收总账模块:按客户汇总应收余额、回款金额与账龄分布,形成应收账款全景视图;(5)逾期提醒模块:依据客户信用天数自动计算到期日与逾期天数,输出逾期账款报表并分级预警。此外提供登录认证与用户管理模块,保障数据安全。 3、业务流程与功能路径:业务流程为“建立客户档案 → 录入/导入销售出库记录 → 系统按信用期自动计算应回款日 → 登记回款并冲销应收 → 生成应收总账与逾期报表”。用户登录后,通过“客户管理”路径维护档案;通过“销售记录管理”路径录入出库数据;出库后系统按月末节点加信用天数自动推算回款期限;回款发生后在“回款记录”中登记冲销;管理层通过“应收总账”与“逾期提醒”页面随时掌握整体应收状况与逾期风险。
员工通道出入管理系统
1、立项背景和目标:公司员工通道原有人工登记/刷卡模式存在代刷、漏登,台账靠 Excel 月底手工汇总耗时,且无法核对现场影像。为此立项建设「员工出入口管理系统」:入口、出口各部署 AI 人脸识别摄像头(人脸比对在相机本地完成,不依赖外网、不上传云端),摄像头把抓拍与识别结果通过 HTTP 实时推送到本系统,由系统统一完成留档、检索、统计与导出,形成「何人、何时、从哪个门进出」的完整电子台账;同时让本地人员档案与四台相机的人脸底库一键同步,免除逐台上门维护。 2、核心功能模块:(1)抓拍接收:对接摄像头厂商 HTTP 推送协议,解析报文、兼容秒/毫秒时间戳、幂等去重,人脸特写图压缩落盘,过期图片自动清理;(2)抓拍记录:关键词(姓名/工号/部门)与起止时间(精确到秒)检索、分页含序号、人脸缩略图与详情、摄像头属性码值中文翻译、CSV 导出、一键清空(密码二次确认);(3)本地人脸库:人员(姓名/工号/部门/照片)增删改查与检索分页,支持 Excel/CSV 名单配合按姓名命名的照片整目录批量导入,重复导入不产生重复人员;(4)相机同步:把人员资料幂等下发到入口1、入口2、出口1、出口2 四台相机人脸底库,支持单人、本页、全部待同步,逐台显示已同步/待更新/失败;(5)相机配置:四台相机 Web 地址与账号维护、一键跳转相机管理页、保存并测试连接;(6)分析报表:出入概况、人员与部门报表、24 小时及星期时段分布、外出离岗分析(在司→离厂→回厂计一次外出),报表与明细支持按区间导出。 3、业务流程与路径:摄像头刷脸→HTTP 推送→接口解析、时间归一、幂等去重→人脸图压缩落盘、记录入库→按上报 IP 映射进/出方向→管理端检索、看图、导出→报表统计在司与外出情况;人员侧流程为本地建档或批量导入→同步到四台相机→相机端刷脸通行并回传抓拍。页面路径:登录后进入抓拍记录(/)及其详情页,本地人脸库(/faces/)及批量导入、新增/编辑,相机配置(/cameras/),分析报表(/reports/)。
设备管理可视化平台
本系统是一套面向离散制造车间的设备稼动率统计与运行监控系统,由我独立开发,核心目标是用自动采集的真实数据算出设备稼动率,而不是靠人工填报估算。 引入前的主要痛点是:管理者并不清楚设备一天到底运转了多少小时,稼动率只能靠班组长事后填写,数据失真且口径不一;设备大量时间处于待机、空转或故障停机状态却无人察觉,产能被白白浪费;想提升稼动率时,也说不清损失究竟来自待机、故障还是调试停机,改进无从下手。 系统围绕稼动率这一目标提供四块能力: 状态实时采集与看板:通过 MQTT 持续采集设备状态(运行/待机/故障/停机),按车间展示每台设备的当前状态与三色灯,并汇总各状态设备数量,让管理者随时掌握"此刻全厂有多少台在跑";同时对超过 65 分钟未上报的设备判定为离线,防止通讯中断造成的"假运行在岗"拉高稼动率。 状态变化全量留痕:设备每次状态切换都会记录一条带精确时间戳的日志,据此可用相邻日志的时间差还原每台设备在各状态下的持续时长,进而统计任意时间段(当班、当日、当月)、任意维度(单台设备、单车间、全厂)的运行时间、待机时间、故障停机时间及稼动率。 日志查询与追溯:支持按车间、设备、状态筛选查询,既能作为稼动率数据的核对依据,也能直接定位某台设备何时发生故障、持续多久,找出拉低整体稼动率的瓶颈设备与主要损失原因。 异常报文记录与对外接口:无法解析的报文自动留存备查,保证采集不丢数、稼动率不失真;同时提供实时状态与日志探测 REST 接口,可对接车间大屏或 MES 等第三方系统取数。 由此带来的价值是:稼动率从"拍脑袋填报"转变为"系统自动统计",口径统一、可追溯;管理者能清晰看到时间究竟损失在待机还是故障上,从而针对性压缩非运行时间;真实稼动数据也为排产排期、产能评估、班组绩效考核和后续设备投资提供了量化依据。
人力资源管理系统
本项目是一套面向制造型企业的人事管理系统(HRM),部署于企业内网供人事部门及管理层使用。立项前公司人事数据依赖 Excel 台账手工维护,存在数据分散易错、合同到期无提醒、考勤需人工从钉钉导出核对、人员结构统计耗时等问题;项目目标是将员工档案、人事异动、合同、考勤与统计分析统一线上化。系统首页为人力资源数据看板,左侧菜单按业务域组织,功能如下: 一、首页看板:展示在职员工总数、男女人数、30天内新入职人数等指标卡,并以图表呈现性别分布、工龄分布、年龄分布、学历分布及各部门人数分布。 二、基础信息:①员工管理——在职员工花名册,60余字段完整档案(身份信息、学历专业、招聘来源、合同日期、考核分数等),支持按工号/姓名/手机号/身份证模糊搜索与分页浏览;②部门管理、③职务管理、④职级管理——组织架构三类基础数据的增删改查与分页维护。 三、人事管理:①入职登记——新员工登记与档案维护,支持 Excel 批量导入建档和全量导出;②转正管理——试用期员工列表与一键转正,自动写入转正日期;③离退管理——支持在职、待离职、离职、退休、自离、急辞六种状态流转与批量处理;④合同管理——合同签订/到期/续签日期维护及合同扫描件上传、在线预览、删除;⑤师徒管理——师徒关系绑定与多方评分记录,自动计算平均分;⑥工龄管理、⑦生日管理——按工龄区间和自然季度分组展示,支持多 Sheet 分组导出 Excel。 四、行政管理:①快递管理、②宿舍管理、③餐费管理、④车辆管理——用于后续扩展公司日常行政事务的线上化管理,目前已在菜单中完成入口规划与页面框架预留。 五、考勤管理:①同步数据——对接钉钉开放平台,获取 access_token 并批量拉取员工打卡数据入库;②考勤数据——打卡记录查询与核对;班次、排班、请假、补卡、加班、调休、报表为规划中的扩展菜单。 六、绩效管理:①绩效考核、②绩效报表——规划中的员工绩效评价与统计模块。 七、系统管理:①用户管理(账号增删改查);②系统配置、③服务配置;以及登录鉴权与退出登录。 核心业务流程:Excel 批量导入建档 → 入职登记/转正/离退/合同等日常异动维护(系统自动派生年龄、工龄等数据)→ 钉钉考勤自动同步 → 生日、工龄等报表一键分组导出,形成"建档—异动—考勤—分析"的完整人事管理闭环。
MES生产系统
本项目面向电子元器件(片式电阻/电容)制造车间,旨在打通“计划→生产→质量→物料→绩效”的全流程数字化闭环,替代传统 Excel/纸质台账,实现批次可追溯、数据实时联动、质量防呆和绩效量化。 核心功能模块包括: 生产管理:生产计划排产、多工序报工(印刷/镭切/AOI/电镀/测包等)、计划进度自动回写、车间/仓库盘点、调拔单与尾料管理、网版全生命周期唯一码管理。 质量管理:客户标签模板与变更审批流程、二维码自动核对、标准 8D 客诉闭环管理。 物料与库存:油墨入库/出库/调制/库存预警、ERP 库存只读对接、零配件以旧换新与 ERP 领料单同步。 绩效与文档:员工花名册、品质异常、6S、月度绩效考核;文档在线预览/编辑(OnlyOffice)。 业务流程以“生产报工”为数据中枢:报工保存时自动完成批次锁/转阻防呆校验、良率核算,并联动更新生产计划进度、自动生成尾料入库、登记不良仓、回写调拔完成状态,形成一环驱动多环的数据流。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服