Skip to content

Repository files navigation

Study Assistant 浏览器插件

一个基于 Manifest V3 的学习辅助插件:自动提取网页中的题目内容,调用大模型 API 给出答案与简要讲解,并支持继续追问。

功能特性

  • 自动识别页面中的题目与选项
  • 支持单题分析和批量分析
  • 支持追问(连续对话)
  • 浮动面板展示分析结果
  • 快捷键操作
    • Alt + S:分析当前页面题目
    • Alt + X:关闭分析面板
  • 多模型服务商支持(含 OpenAI 兼容接口)
    • SenseNova
    • OpenAI
    • Claude(Anthropic 原生协议)
    • DeepSeek
    • Moonshot(Kimi)
    • 智谱 GLM
    • 通义千问
    • 自定义 OpenAI 兼容接口

项目结构

study-assistant/
├─ manifest.json        # 插件清单(MV3)
├─ popup.html           # 配置弹窗
├─ popup.css            # 弹窗样式
├─ popup.js             # 弹窗逻辑(配置保存、连接测试)
├─ question-extractor.js# 题目提取核心(多策略候选与评分去重)
├─ content.js           # 页面题目提取、面板展示、交互逻辑
├─ content.css          # 页面浮动面板样式
├─ background.js        # API 调用与消息中转
├─ lab/                 # 本地识题实验站(多排版回归测试)
└─ icons/               # 插件图标

工作原理

  1. content.js 在页面中提取题目和选项。
  2. 提取结果通过 chrome.runtime.sendMessage 发送给 background.js
  3. background.js 按服务商协议发起请求:
    • OpenAI 兼容:/chat/completions
    • Claude 原生:/v1/messages
  4. 返回结果在页面浮动面板中渲染展示,可继续追问。

安装方式(开发者模式)

  1. 打开 Chrome / Edge 扩展管理页。
  2. 开启「开发者模式」。
  3. 点击「加载已解压的扩展程序」。
  4. 选择本项目目录 study-assistant

首次配置

点击插件图标,在弹窗中完成以下配置:

  • API 提供商
  • API Base URL
  • API Key
  • 模型名称

然后点击:

  • 保存:写入本地 chrome.storage.local
  • 测试连接:验证接口可用性

使用方法

  1. 打开包含题目的网页。
  2. Alt + S 触发分析(或通过页面交互触发)。
  3. 在右侧浮动面板查看答案和解释。
  4. 可在输入框继续追问。
  5. Alt + X 关闭面板。

配置项说明

  • provider:服务商标识
  • baseUrl:接口地址(会自动清理多余斜杠)
  • apiKey:鉴权密钥
  • model:调用模型名

注意:Claude 使用原生协议头,其他服务商走 OpenAI 兼容格式。

安全与隐私

  • API Key 仅保存在浏览器本地存储(chrome.storage.local
  • 不会主动上传无关页面数据
  • 实际传输内容取决于你在页面中触发的题目提取结果

常见问题

1) 测试连接失败

排查顺序:

  1. 检查 API Key 是否正确
  2. 检查 Base URL 是否可访问
  3. 检查模型名是否存在
  4. 检查服务商协议是否匹配(Claude / OpenAI 兼容)

2) 页面没有识别出题目

  • 当前页面结构可能不在已有识别规则内
  • 可刷新页面后重试
  • 可在控制台查看 content script 是否正常注入

3) 快捷键无效

  • 检查系统或浏览器是否占用了 Alt + S / Alt + X
  • 到浏览器扩展快捷键设置页手动改键

开发说明

本项目是原生浏览器扩展,无构建步骤,修改后在扩展管理页点击「重新加载」即可生效。

本地识题实验站

用于快速验证“修复前/修复后”识题成功率对比(10 种排版场景)。

  1. 在项目根目录运行静态服务(任选其一):
    • python -m http.server 4173
    • npx http-server -p 4173
  2. 打开:http://127.0.0.1:4173/lab/index.html
  3. 点击「运行全部场景」查看:
    • 基线成功率(修复前规则)
    • 当前成功率(修复后规则)
    • 每个场景的通过/失败明细

版本计划(Roadmap)

  • 优化更多站点题目提取兼容性
  • 增加更细粒度的提示词和答题模式
  • 增加题目导出和学习记录能力

开源协议

本项目采用 MIT License,详见 LICENSE

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages