看见题目,马上分析

ExamPilot 同时提供 Chrome 插件与 Tauri 桌面应用。截取当前页面、显示器或框选题目区域,即可把图片发送到你配置的视觉模型;普通模式展示解析,静默模式通过悬浮命中区和剪切板反馈答案。

同时提供 Chrome 插件与 Tauri 桌面应用,并保留静默模式、百分比坐标和剪切板答案能力
ExamPilot 悬浮面板显示 AI 分析结果
全屏与区域截图
AI多模型自由切换
API 密钥本地保存
静默命中区反馈

三步开始使用

选择 Chrome 扩展或桌面应用,添加 API 配置后即可开始截图识别。两端配置彼此独立,也可以通过备份文件迁移。

1

选择使用方式

安装 Chrome 扩展并固定到工具栏,或安装桌面应用并确认 ExamPilot 出现在系统托盘。

2

填写模型配置

输入 API 地址、模型名称与 API Key,选择匹配的接口模式后保存。

3

截图并分析

扩展可点击“全屏”或“区域”;桌面端使用全局快捷键。普通模式查看答案,静默模式通过命中区或剪切板反馈。

使用前准备你需要一个支持图片输入的视觉模型 API。若开启静默模式,模型还需要稳定返回约定 JSON。

安装扩展

推荐直接从 Chrome 应用商店安装。开发者也可以构建项目后加载 chrome-extension/dist/chrome/

1

打开扩展商店

进入 ExamPilot 商店页面,点击“添加至 Chrome”,并在浏览器确认窗口中完成安装。

2

固定到工具栏

点击浏览器右上角的扩展按钮,在 ExamPilot 旁点击固定图标。之后点击 ExamPilot 图标即可在当前网页呼出面板。

3

确认面板出现

打开任意普通网页后点击扩展图标,右下角会出现悬浮面板。双击页面空白区域可以快速显示或隐藏面板。

面板没有出现?Chrome 内置页面、扩展商店页面和部分受保护页面不允许注入扩展脚本。请切换到普通 HTTPS 网页后重试。

桌面应用使用说明

桌面端支持 Windows x64 与 macOS Apple Silicon,通过系统级截图和真实鼠标位置工作,不依赖浏览器扩展。答案窗口可在浏览器全屏时保持置顶。

下载桌面端(Windows / macOS Apple Silicon)

1

启动应用并打开设置

启动 ExamPilot 后,答案窗口默认位于屏幕右下角,系统托盘会出现 ExamPilot 图标。右键托盘图标并选择“打开设置”,即可进入独立设置窗口。

答案窗口始终置顶、背景透明并支持点击穿透,不会抢走当前应用焦点。答案内容超出显示区域时,使用键盘 / 滚动。

2

添加并保存 AI 配置

在设置窗口点击“添加配置”,填写配置名称、API 地址、模型名称和 API Key,再选择与服务商匹配的接口模式并保存。列表中高亮的配置就是当前使用的配置。

普通提示词、静默提示词、答案窗口透明度和静默模式开关都在“识别与界面”中设置;提示词可以随时恢复默认值。

3

使用全局快捷键识别

把鼠标移到题目所在显示器,按 Ctrl+Shift+1 截取整个显示器;按住 Ctrl+Shift+2 记录区域起点,移动鼠标后松开即可识别。

截图时答案窗和静默命中层会暂时隐藏,完成后自动恢复。普通模式下,模型答案会直接显示在右下角的置顶透明窗口中。

桌面端快捷键

1
截取鼠标所在显示器

Ctrl+Shift+1,完成截图后立即发送给当前 AI 配置。

2
框选屏幕区域

按住 Ctrl+Shift+2 移动鼠标,松开后按两个鼠标位置截图;Windows 也支持小键盘 Num2

3
切换 AI 配置

Ctrl+Shift+3,按配置列表顺序切换到下一个配置。

4
取消或清除

Ctrl+Shift+4,识别中取消任务,空闲时清除答案和命中区域。

5
显示/隐藏答案

Ctrl+Shift+5,Windows 和 macOS 均使用 Ctrl,仅普通模式生效。

桌面端普通模式

关闭“静默模式”后,答案窗口会显示在桌面右下角并保持置顶。窗口点击穿透,识别完成后可继续操作原来的应用;设置中的透明度按 0% 到 100% 生效。

  • 可覆盖 Chrome 等应用的全屏窗口
  • 答案内容超出显示区域时使用键盘 / 滚动
  • 切换配置后,答案窗口会同步使用当前配置

桌面端静默模式

开启“静默模式”后,普通答案窗口会隐藏。模型返回坐标时,桌面端会创建原生透明命中区域;真实鼠标进入正确选项并短暂停留后,会执行一次轻微反馈。

  • 开启“显示静默命中框”可用红框检查命中位置
  • 没有坐标的简答或编程答案会复制到系统剪切板
  • 取消静默模式后,普通答案窗口会重新按需显示
查看模型返回和错误打开设置窗口底部的“最近一次模型返回 / 错误”,可以查看模型原始正文、请求错误、解析错误和命中框数量,也可以复制或清空记录。
首次运行与权限macOS 需要为 ExamPilot 授予“屏幕录制”权限;静默鼠标反馈还需要“辅助功能”权限。若启动后快捷键没有反应,请先查看答案窗口或设置窗口中的快捷键占用提示,并关闭占用相同组合键的软件后重启 ExamPilot。
应用更新ExamPilot 会在启动后静默检查最新稳定版;也可以在设置窗口的“应用更新”中手动检查。发现更新后,确认下载并重启即可完成安装。取消下载、无网络或校验失败不会影响当前版本、截图功能或已保存的配置。
从源码运行先安装 Node.js、Rust stable 和对应平台的 Tauri 依赖,再在仓库根目录运行 npm installnpm run tauri:dev。构建安装包使用 npm run tauri:build

配置视觉模型

Chrome 扩展点击面板右下角的 ⚙️;桌面应用从系统托盘选择“打开设置”。添加 API 配置后,选择当前要使用的配置。

配置示例

以下展示 OpenAI 兼容接口最常见的填写方式。

我的视觉模型
https://api.example.com/v1/chat/completions
vision-model-name
••••••••••••••••
Chat Completions
保存配置

首次访问需要授权

保存配置或开始识别时,ExamPilot 会检查 API 域名权限。静默模式遇到跨域 iframe 时,也会检查该 iframe 域名;未授权时,当前页面会显示授权弹层。

授权访问该域名
配置保存在本机Chrome 扩展按需申请 API 域名权限,并把配置存入浏览器本地存储;桌面端由 Rust 后端发起请求,配置保存在本机 Tauri Store 中,不受 WebView CORS 限制。

选择正确的接口模式

接口模式决定请求体和响应解析方式。请以 API 服务商文档中的接口路径与格式为准。

C

Chat Completions

适用于 /v1/chat/completions 及多数 OpenAI 兼容视觉接口。

R

Responses API

适用于 OpenAI 风格的 /v1/responses 接口与对应输出结构。

A

Anthropic

适用于 /v1/messages,图片会按 Anthropic 的 base64 格式发送。

格式不属于以上三种?选择“自定义模板”,自行定义 Headers、Body 和响应文本提取规则。

开始截图识别

Chrome 扩展使用面板按钮,桌面应用使用全局快捷键。区域识别通常更快,也能减少无关内容对模型判断的干扰。

截取当前视口

全屏识别

扩展点击“全屏”截取浏览器当前视口;桌面端按 Ctrl+Shift+1 截取鼠标所在的整个显示器。

  • 截图前答案面板会暂时隐藏
  • 使用桌面端前,先把鼠标移到题目所在显示器

区域识别

扩展点击“区域”,桌面端按住 Ctrl+Shift+2 并移动鼠标;松开后会按两个鼠标位置截取题目和必要上下文。

  • 选区限制在起点所在显示器内
  • 尽量包含完整题干、选项和图表

面板操作速查

全屏
识别当前视口

适合整页内容简洁、题目已完整显示。

区域
框选指定内容

减少干扰信息,推荐用于大多数题目。

取消
中止当前动作

识别中取消请求,区域选择中退出选择。

清除
清空当前结果

已有结果时清空答案、静默命中区与调试框。

Ctrl+Shift+1/2
快捷截图

Windows 和 macOS 均使用 Ctrl+Shift+1/2。

Ctrl+Shift+4
取消或清除

Windows 和 macOS 均使用 Ctrl+Shift+4。

Ctrl+Shift+5
显示/隐藏答案

Windows 和 macOS 均使用 Ctrl+Shift+5,仅普通模式下切换答案窗口。

⚙️
打开设置

管理模型、请求模板、配置迁移、提示词、静默模式与透明度。

折叠为迷你按钮

拖动 ⚡ 按钮可调整面板位置,点击按钮重新展开。

双击
显示或隐藏面板

在页面空白区域双击即可切换。

状态提示识别过程通常依次显示“截图中 → 裁剪中(区域模式)→ AI 识别中 → 识别完成”。

静默模式

静默模式是全局开关,默认关闭。关闭时按普通模式展示答案;开启后会要求 AI 返回结构化 JSON,用于创建悬浮命中区域。

显示静默框

选择题命中区

AI 返回每道题正确答案的百分比坐标。Chrome 扩展会在当前页面创建透明命中区并使用仿光标反馈;桌面端会创建原生命中层并检测真实鼠标悬停。

  • 支持一次截图识别多道题
  • 区域截图会自动把选区内百分比换算回视口位置
  • 调试框只用于查看位置,关闭后悬浮触发仍保留

无选项题复制答案

简答题、填空题、编程题没有可靠的悬浮目标时,提示词要求 AI 不编造坐标,而是返回 clipboardOnly,Chrome 扩展和桌面应用都会把答案写入系统剪切板。

  • 编程题如果已有代码内容,默认提示词要求在已有内容上补全
  • 静默提示词可编辑,也可以恢复默认后再保存
可配置项两端都可以开启静默模式、显示红色调试框并单独编辑静默提示词。仿光标大小和样式只适用于 Chrome 扩展;桌面端直接使用真实鼠标和原生命中区域。
跨域 iframe普通版检测到跨域 iframe 时会请求该 iframe 域名授权,开启静默模式后动态加载或换址的 iframe 也会重新检查。授权后,子页面会隐藏原生光标并把坐标传给页面上的仿光标;刷新扩展后请同时刷新网页。Full Access 版已包含所有网站访问权限,无需逐个授权。
自定义模板注意自定义模板也能配合静默模式,但响应模板最终提取出的文本必须是约定 JSON;解析失败、缺坐标或坐标越界都会显示错误。

迁移与备份配置

在 ⚙️ 设置的“配置迁移”中,可以把常用模型设置带到另一台设备,或在修改前留一份本地备份。

↓ 导出配置

Chrome 会下载 exampilot-settings-YYYY-MM-DD.json,桌面端会打开文件保存对话框。备份包含全部模型配置、当前选中项、提示词、静默模式设置和界面透明度。

↑ 导入配置

选择 ExamPilot JSON 备份并确认后,应用会校验内容,再替换当前端的全部配置、提示词、静默模式设置与透明度。桌面端兼容扩展导出的 v1 备份。

备份包含未加密的 API Key请只保存在可信设备和私密位置,不要分享、上传到公共网盘链接或提交到代码仓库。导入后首次使用新 API 域名时仍需重新授权。
面板位置单独保存在本机扩展面板位置和桌面答案窗口位置分别保存在对应设备中,不会写入导出文件;Chrome 的 API 域名授权也不会随配置迁移。

高级配置

当服务商需要额外参数时,可以使用 JSON 覆盖;请求结构完全不同则使用自定义模板。

Headers / Body JSON 覆盖

对象会递归合并,数组与基础类型会替换默认值;字段设置为 null 可删除默认字段。

Body JSON 示例
{
  "temperature": 0.2,
  "max_tokens": 2048,
  "stream": false
}

自定义模板占位符

常用占位符包括 {{model}}{{apiKey}}{{apiKeyBearer}}{{prompt}}{{imageUrl}}{{imageBase64}}{{imageMimeType}}

Headers 模板示例
{
  "Content-Type": "application/json",
  "Authorization": "{{apiKeyBearer}}"
}
检查请求预览发送前展开“请求预览”,确认 URL、Headers、Body 和图片字段符合服务商文档,尤其不要把 API Key 放进不必要的字段。

常见问题

优先检查 API 地址、接口模式、模型是否支持图片输入,以及 API 域名是否已授权。

桌面应用启动后在哪里打开设置?

在 Windows 通知区域或 macOS 菜单栏找到 ExamPilot 托盘图标,打开菜单后选择“打开设置”。退出应用也需要使用托盘菜单中的“退出”。

桌面端全局快捷键没有反应

先查看答案窗口或设置窗口是否提示“快捷键被占用”。关闭占用 Ctrl+Shift+1/2/3/4/5 的其他软件后重启 ExamPilot;macOS 还需确认已授予屏幕录制权限。

桌面端区域截图没有显示框选提示

桌面端区域截图不会显示遮盖层。按住 Ctrl+Shift+2(Windows 也可使用小键盘 Num2)时记录鼠标起点,移动鼠标后松开快捷键记录终点并开始识别。

桌面端为什么没有显示答案或红色命中框?

普通模式的答案显示在置顶透明窗口中;静默模式会隐藏该窗口。静默模式只有在模型返回有效选项坐标后才会创建命中区域,并且需要开启“显示静默命中框”才会看到红框。原始返回和解析错误可在设置底部查看。

桌面端如何查看大模型原始返回和错误?

打开设置窗口,查看底部的“最近一次模型返回 / 错误”。这里会保留最近一次模型正文、请求错误、解析错误和命中框数量,并提供复制与清空按钮。

桌面端如何更新到最新版本?

应用启动后会静默检查最新稳定版。也可以从系统托盘打开“设置”,在“应用更新”区域点击“检查更新”;确认后下载,完成时应用会重启并替换为新版本。Windows 使用 x64 安装包,macOS 仅支持 Apple Silicon。

点击扩展图标后没有出现面板

请确认当前是普通网页,而不是 chrome:// 页面、Chrome 应用商店或浏览器内置 PDF 页面。刷新普通网页后再次点击扩展图标。

提示需要 API 域名权限

在当前网页弹出的 ExamPilot 授权框中点击授权。权限仅针对配置 URL 对应的 HTTPS 域名;如果修改了 API 域名,需要重新授权。

接口返回 401、403 或模型不存在

401 通常表示 API Key 无效,403 可能是权限或区域限制,模型不存在则需要核对模型名称。请使用请求预览与服务商文档逐项对照。

提示 CORS 或网络请求失败

确认 API URL 使用 HTTPS、域名已授权,并且服务商允许浏览器扩展访问。部分仅面向服务器端的接口即使授权后仍可能拒绝浏览器请求。

答案不完整或没有识别到题目

优先使用区域识别,并完整框选题干、选项、图表和必要上下文。也可以在设置中优化自定义提示词,要求模型给出答案、步骤和简短解释。

静默模式为什么不在面板里显示完整答案?

静默模式会优先创建页面命中区,通过悬浮和仿光标位移反馈答案;因此不会把选择题完整答案追加到普通答案列表。没有可悬浮目标的简答题、填空题或编程题会把答案复制到剪切板。

静默模式里的红框是什么?

红框是“显示静默框”开启后的调试视图,用来查看 AI 返回的百分比坐标是否对齐正确选项。关闭后红框不显示,但透明命中区和仿光标悬浮反馈仍会工作。

仿光标进入 iframe 后停住或又显示原生光标

这是跨域 iframe 的浏览器权限限制。普通版会显示“授权 iframe 域名”窗口,请授权对应 HTTPS 域名后刷新网页;扩展更新后仅刷新扩展还不够,已注入页面的脚本也需要通过刷新网页更新。Full Access 版可直接覆盖所有可访问的 iframe。

静默模式提示坐标越界或 JSON 错误

这通常表示模型没有按静默提示词返回约定结构,或返回的百分比不在 0 到 1 范围内。请恢复默认静默提示词,或检查自定义模板的响应提取结果是否为合法 JSON。

本地构建后 Chrome 加载哪个目录?

在仓库根目录运行 npm run chrome:build 后,请在 Chrome 扩展页加载 chrome-extension/dist/chrome/ 目录,不要选择源码目录。

截图和 API Key 会上传到哪里?

截图只会发送到你配置的 API 地址。Chrome 扩展把 API Key 与配置保存在浏览器本地存储,桌面端保存在本机 Tauri Store;ExamPilot 本身不提供中转服务。详情请查看隐私政策。

导入配置后为什么仍然提示域名授权?

导出文件只包含模型配置、提示词和透明度,不包含 Chrome 授予扩展的 API 域名权限。换设备或浏览器后,首次使用每个 API 域名时需要重新授权。

导出的配置文件可以分享吗?

不建议。备份是可读的 JSON,其中包含 API Key 以及自定义请求内容。请把它当作密码文件保管;如发生泄露,请立即在 API 服务商处撤销或轮换密钥。

准备好开始了吗?

选择 Chrome 扩展或桌面应用,添加你的视觉模型配置,然后开始截图分析。

查看安装与使用说明