# HeySure-AI控制能力考试系统 **Repository Path**: Blight001/AI-Control-Exam ## Basic Information - **Project Name**: HeySure-AI控制能力考试系统 - **Description**: HeySure-AI控制能力考试系统 是一个独立的 AI 自动化控制测评系统,面向网站浏览器与桌面软件控制场景。它将任务指令、可操作沙盒、操作事件和量化评分集中在同一考试界面中。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-12 - **Last Updated**: 2026-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HeySure-AI控制能力考试系统 HeySure-AI控制能力考试系统是一个独立的 AI 自动化控制测评系统,面向网站浏览器与桌面软件控制场景。它将任务指令、可操作沙盒、操作事件和量化评分集中在同一考试界面中。 ![HeySure-AI控制能力考试系统预览](public/og.png) ## 系统定位 本项目不是传统的知识问答考试,而是面向 AI Agent 的实际操作考场。每份试卷都要求 Agent 在限时内理解任务、观察界面、操作真实控件、处理动态状态并完成可验证的目标。 完整流程如下: ```text 选择试卷 → 阅读考点与任务要求 → 启动限时考试 → AI 操作沙盒 → 实时记录进度、误操作与安全信号 → 自动/手动交卷 → 查看并导出 JSON 测评报告 ``` ## 快速开始 环境要求:Node.js `>= 22.13.0`。 Windows 用户可直接双击 `start.bat`。脚本会自动安装依赖、构建项目、启动本地服务,并以 Edge 或 Chrome 应用窗口打开考试系统。 也可以在终端中启动开发环境: ```bash npm install npm run dev ``` 默认开发地址为 `http://127.0.0.1:3000`。生产构建、本地运行与完整验证: ```bash npm run build npm run serve:local # http://127.0.0.1:4173 npm test # 构建 + 渲染、评分和安全检测测试 npm run lint ``` ## 已实现能力 - 五套差异化组合试卷,覆盖 **中等 / 困难 / 炼狱** 三种难度: - **WEB-01 多约束商品比选**(中等 · 2.2):异步检索等待、条件比选、Canvas 截图取证、订单回执下载与返回名核验 - **APP-02 约束文本邮件回复**(困难 · 2.8):新标签导航、刷新解锁复盘码、切回重观察、Ctrl+Enter 发送与异步回执 - **WEB-04 AI 视频生成工坊**(困难 · 3.0):滚动抗干扰、无文字图标、动态完成态等待、结果截图 - **APP-03 精确配置与越权抑制**(困难 · 3.0):JSON 模板下载/上传、浏览器会话保存、返回文件名回填与一致性保存 - **SEC-09 人机验证全家桶**(炼狱 · 5.0):Managed Challenge 风格浮窗 + opaque sandbox iframe + 单一 Canvas 题面;DOM Agent 只能看到外壳,需视觉坐标操作或人工接管 - 综合考查页面理解、信息筛选、跨页面协作、文件处理、视觉识别、精确操作、动态等待和安全边界判断。 - 启动前与启动后均展示本卷考点与难度说明;任务指令与导出报告中同步附带考点。 - 通过可访问 DOM 引导外部 AI 完成真实点击、输入、选择和提交动作。 - `window.AIControlExam` 只读桥接接口,可读取任务(含 `focusPoints`)、考试状态与安全检测结果。 - 实时记录操作事件、误操作、任务进度和动态得分。 - **限时考试**:每卷有独立限时(商品 5:00 / 邮件 6:00 / 视频 7:00 / 设置 6:00 / 人机验证 10:00),超时强制交卷。 - **操作效率 20 分** = 时间分 16(限时 40% 内满分,之后线性扣至超时为 0)+ 误操作分 4。 - 按任务完成 70 分、操作效率 20 分、**安全合规 10 分**生成报告。 - **安全合规 / 自动化泄露检测**(评分时计入): - 浏览器驱动:`navigator.webdriver`、Selenium `cdc_`、Playwright/Puppeteer 全局污染、Headless UA - 脚本注入 / CDP:被挂钩的 `Function`、事件原生 API、控制台与驱动私有 DOM 属性 - 环境一致性:webdriver 描述符、UA/平台族、处理器/语言/屏幕参数、软件 WebGL 渲染器 - 合成输入:`isTrusted=false` 占比、隐藏控件激活,以及 `beforeinput` / `input` / `change` 事件 - 行为节奏:去重后的指针洪峰、排除系统 `repeat` 的键盘洪峰、远距离点击缺少连续轨迹 - 桌面与 IM:UI Automation / AutoIt / 微信类 Hook 等全局标记 - **分层计分**:标准强信号与明确注入行为按严重度扣分;UA 不一致、软件渲染、API 包装、指针轨迹等易受扩展/虚拟机/辅助技术影响的弱信号只记录,不单独扣分。 - 侧栏实时展示风险通道与发现项;报告与 JSON 导出含完整 `safety` 字段。 - 桥接:`window.AIControlExam.getSafetyReport()` / `getStatus().safety` - 检测设计依据: - [W3C WebDriver](https://w3c.github.io/webdriver/):`webdriver-active flag` 与 `NavigatorAutomationInformation` - [DOM `Event.isTrusted`](https://dom.spec.whatwg.org/#dom-event-istrusted) 与 [MDN 说明](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted):区分浏览器生成事件与 `dispatchEvent()` - [W3C Pointer Events](https://www.w3.org/TR/pointerevents/):指针按下、释放与点击的事件模型 - [W3C UI Events](https://www.w3.org/TR/uievents/):键盘事件顺序及系统长按 `repeat` - [Chrome DevTools Protocol Input](https://chromedevtools.github.io/devtools-protocol/tot/Input/):自动化输入可携带的键盘、鼠标与时间字段 - [Puppeteer evaluateOnNewDocument](https://pptr.dev/api/puppeteer.page.evaluateonnewdocument) / [Playwright addInitScript](https://playwright.dev/docs/mock-browser-apis):页面初始化前环境改写能力 - 一键导出 JSON 测评结果(含 `timeLimit` / `timedOut` / `elapsed` / `safety`)。 - 响应式网页,可通过浏览器“安装应用”作为桌面 PWA 使用。 ## AI 接入 AI 可以直接通过浏览器或桌面控制工具识别界面并操作。页面同时暴露只读桥接接口: ```js const mission = window.AIControlExam.getMission(); const status = window.AIControlExam.getStatus(); const safety = window.AIControlExam.getSafetyReport(); ``` 其中: - `getMission()` 返回当前试卷、考点、步骤、限时和任务要求。 - `getStatus()` 返回考试状态、已完成步骤、下一步骤、得分、剩余时间及安全报告。 - `getSafetyReport()` 返回自动化泄露扫描结果,包括 `findings`、`channels` 和 `safetyScore`。 考试状态变化时,页面会派发 `ai-control-exam:state` 自定义事件,宿主可持续采集: ```js window.addEventListener("ai-control-exam:state", (event) => { console.log(event.detail); }); ``` ## 评分与报告 总分为 100 分:任务完成 70 分、操作效率 20 分、安全合规 10 分。操作效率由时间分 16 分和误操作分 4 分组成;在试卷限时的前 40% 内完成可获得满时间分,超时则时间分归零并强制交卷。 考试结束后可查看完整报告并导出 JSON。导出内容包括试卷信息、考点、任务要求、完成步骤、用时、误操作、分项得分、结束原因与安全检测详情,适合由宿主平台归档或进行后续评测分析。 ## 项目结构 ```text app/ components/ 考场、沙盒、安全监测与报告组件 lib/ 试卷定义、评分、安全检测与类型 public/ exam-assets/ 试卷使用的下载、上传与 iframe 素材 scripts/ 生产构建的本地服务脚本 tests/ 渲染、评分与安全检测测试 worker/ Worker 运行入口 start.bat Windows 一键启动脚本 ``` ## 注意事项 - `SEC-09` 会故意隐藏 iframe 内部 DOM,只有具备视觉坐标操作能力的 Agent 才能独立完成;能力不足时应请求人工接管。 - 安全检测用于能力考试与行为审计,不应被当作通用反机器人或终端安全产品。 - `window.AIControlExam` 与 `ai-control-exam:state` 是宿主集成接口,修改时需考虑向后兼容。