原贴所在位置:【插件分享】小镇做题家 - 智能题库管理工具
由于功能改变非常大,所以另起一贴。
SAVI Teaching Assistant
Systematic AI-powered Visual Intelligent Teaching Assistant
面向一线教师的 Obsidian 智能教学管理插件,集题库管理、智能组卷、成绩分析、AI 质量优化于一体。
版本: v2.3.1 | 官网: https://saviteachingassistant.cn
七大模块
题库查询
- 高效的题库检索系统
- 多维度筛选(来源、知识点、分类、题型、评价、难度)
- 全文搜索采用方式为:文字加空格求与
- 卡片式题目视图,一键修改题目思维层次
自动组卷
- AI驱动的智能组卷
- 多种组卷策略(综合平衡、易错题优先、新鲜题优先、高思维优先)
- 预览试卷,二次添加、排序试题
- 依据正确率、时间,智能推荐学生历史测试题目
试卷播放
- 课堂讲评辅助工具
- 选择历史测试试卷,一键全屏播放,摆脱PPT依赖
- 答案选项统计,精准显示本班学生的答题情况
- 定时自动播放,方便多样化课堂设计
题库管理
- 题目质量智能分析
- **题目解析,自动化和自适应学习
- **题目改编,AI驱动的自动化改编
- 智能分析历史数据,快速优化题库题目难度和选项质量
批量导入
- Word数据快速导入
- 图片文字提取
- 批量导入题目
- 大题细分,使知识点数据统计更加精准
数据分析
- 可视化学情分析
- 一键导入Excel,生成测试班级报告
- 多维度测评数据使知识点掌握程度、题目质量、班级和学生个人的掌握可视化
- 利用Obsidian插件Dataview,动态生成分析报告
学习跟踪
- 学习进步轨迹追踪
- 班级进步分析报告关注全班学生的进步率和退步率,知识点的正确率变化
- 学习进步分析报告关注学生个人的成长,跟踪记录历史错题
- 个人错题集帮助学生及时了解学习情况
安装
手动安装
- 从 插件下载 下载最新版本
- 解压到 Obsidian vault 的
.obsidian/plugins/intelligent-teaching-manager/目录 - 重启 Obsidian,在设置中启用插件
- Obsidian下载
沙箱
- 集成了相关的插件,新手可以直接下载使用
激活
- 首次启动自动显示激活窗口
- 免费试用: 7 天,1 台设备
- 专业版 (年费): 3 台设备
技术栈
- 框架: Obsidian Plugin API
- 构建: esbuild + JavaScript 混淆
- LLM: Deepseek /Qwen VL/ Ollama (Qwen)
数据安全
- 所有教学数据保存在本地 Markdown 文件中
- 云端分析仅传输脱敏数据(不上传学生姓名)
- HTTPS 加密传输 + JWT 认证
- License 三级验证(本地缓存 → 云端 → 宽限期)
作者
Fan Zhiyi (Charles Morse)
邮箱:[email protected]
SAVI V2.3.1 更新说明
版本号:V2.3.1
发布日期:2026-03-10
版本主题:OCR 图像提取与文字识别精度全面提升
本版本聚焦 OCR 扫描件处理与图形提取的稳定性,覆盖 4 个核心文件(savi_ocr_v6_eraser.py / savi_skeleton_combined.py / batch_import.py / batch-import.ts),共计 22 个修复提交,并补充了 Windows 全平台兼容支持。
一、OCR 文字识别精度提升
选项行置信度自适应
背景:Vision OCR 此前对所有行统一使用 0.4 置信度阈值。当选项(A./B./C./D. 开头)含有电路元件标注(如 Rp1、VD1、R₁ 等)时,OCR 引擎对这类字符的置信度偏低,导致整行被误丢弃。
改动:
- A./B./C./D. 开头的选项行:阈值降至 0.25
- 其余普通行:保持原 0.4 阈值
二、底部标注自适应捕获(全新功能)
新增 BOTTOM_EXPAND 参数
电路图、波形图等题目图形下方往往有 A/B/C/D 等标注文字,原版固定裁剪范围无法捕获这些标注。
改动:
- 新增底部自动延伸机制:检测到图形下方存在暗像素组时,自动向下扩展截取范围
- 二次扫描收紧为精确区间,仅取第一连续暗像素组末尾,避免多截内容
预设值:
| 预设 | BOTTOM_EXPAND 值 |
适用场景 |
|---|---|---|
| 标准 | 10pt | 默认推荐 |
| 宽松 | 15pt(UI 默认) | 标注距图形较远时 |
| 严格 | 7pt | 题目排列紧密时 |
- 最小值保护:不低于 1pt,防止参数设置过小导致标注截断
三、扫描件图形提取修复
本版本针对扫描件(非矢量 PDF)做了多项关键修复:
- 坐标偏低:图形排序
sort_y改用seeds_inside原生坐标,解决图形位置识别错误 - 裁图包含多余文字:修复扫描件裁剪范围错误导致题目文字被裁入图片的问题
- 全页扫描件兼容:
has_graphic=False的全页扫描件现在也能正确应用BOTTOM_EXPAND和二次扫描 - 小标注被压制:修复扫描件通道 CCA 近邻计算逻辑,防止 K、Ω 等单字符标注被误判为噪点删除
四、矢量 PDF 改进
- Stage 1 缺漏标注:修复矢量 PDF 第一阶段未扫描标注的问题,含标注时自动渲染并扩展裁图
- 过度截取文字:保护词向下扩展增加 10pt 上限,防止电路图截取范围意外包含下方题目文字
五、黑名单过滤优化
新行为:黑名单检查移入边距区域门控,仅过滤页面边距范围内的内容,不影响正文。
六、批量导入格式改进
- OCR 识别图片输出改为居中对齐(Obsidian 渲染更美观)
- 题目之间自动插入空行分隔,提升可读性
- 综合题子题移除 Markdown 标题标记(
##),避免 Obsidian 生成多余大纲层级
七、情景题修复
修复了情景题(多题共用背景图)中,图片无法正确分配给各子题的问题。
八、UI 改进
- OCR 专家参数滑块 CSS 选择器提升特异性,修复部分环境下滑块宽度显示异常
- 知识点筛选标签(pill)点击后不再自动滚动至页面顶部
九、Windows 全平台兼容
本版本正式支持 Windows 环境运行
问题:Windows 默认 stdout/stderr 编码为 GBK,中文文件名在 Python 输出和 TypeScript 子进程通信中产生乱码,部分情况下直接报错退出。
修复内容:
| 位置 | 修复 |
|---|---|
savi_skeleton_combined.py |
启动时强制设置 stdout/stderr 为 UTF-8 |
batch_import.py |
同上 |
batch-import.ts |
所有 spawn() 调用追加 PYTHONIOENCODING=utf-8 环境变量 |
batch-import.ts |
新增路径长度检查:路径超过 240 字符时给出明确提示(Windows MAX_PATH 限制) |
十、完整参数表
| 参数 | 类型 | 默认值 | 可调范围 | 说明 |
|---|---|---|---|---|
| BRIDGE_H | 对外 | 30 | 1–100 | 水平膨胀核(图形合并) |
| BRIDGE_V | 对外 | 3 | 1–5 | 垂直膨胀核 |
| MIN_HEIGHT | 对外 | 75pt | 10–200 | 图形最小高度 |
| GHOST_RADIUS | 对外 | 60pt | 10–150 | 聚类容限 |
| CROP_PADDING | 对外 | 15px | 2–30 | 裁剪边缘留白 |
| BOTTOM_EXPAND | 对外 | 15pt | 1–40 | 底部标注捕获距离(V2.3.1 新增) |
| _MAX_DOWNWARD_EXPAND | 内部 | 10pt | — | 保护词向下扩展上限(V2.3.1 新增) |
十一、环境要求
- Python:≥ 3.10
- 依赖包:
PyMuPDFpython-docxlxmlopencv-pythonnumpy - Windows:所有依赖均有官方 wheel,
pip install可直接安装,无需编译
十二、升级方法
通过 Obsidian 插件标准更新流程升级即可,无需额外配置。Windows 用户升级后自动获得兼容性修复,无需手动设置编码。
SAVI V2.3.1 · 发布于 2026-03-10 · 维护者: Fan Zhiyyi
SAVI V2.6.0 更新说明
版本号:V2.6.0
发布日期:2026-05-31T16:00:00Z
版本主题:技术与工程学科智能体建设实践 及工具补全(草图电路图绘制与管理、文字处理 )
设计核心:建设技术与工程学科智能体,你的每一输入,将获得成倍的输出回报。以万变应万变。
一、学科智能体建设(数据驱动)
技术与工程目录下的知识库.md由题库管理-知识体系维护-知识库MD维护-合成知识库工具对KP子知识库合成,用户只需对KP目录下的子文件进行修改
1.1 KP 结构各阶段完善
本版本进一步规范了 KP 文件各阶段的内容分工,明确了每个部分对 AI 解析和教学决策的作用:
| 阶段 / 部分 | 内容 | 作用 | 补充 |
|---|---|---|---|
| 阶段1 | 定义 + 一句话判断 | 教材内容及总结 | |
| 阶段2答题指导 | 判定方法 / 学生解答顺序 / 答题步骤 | 引导学生规范解题流程 | 阶段2是对实战的整理 |
| 阶段2易混辨析 | 相似概念 / 班级易混 / 正确理解 / 错误模式 | 高频混淆点针对性辨析 | 也是LLM的判断依据 |
| 阶段2选考表述 | 选考典型情境 / 选考表述总结 | 收录选考真题语言风格,支持改编 | |
| 阶段3 | 历史测试数据(正确率 / 争议度 / 选项分布 / 典型错题) | 数据驱动教学决策 | |
| 阶段5 | 真题自检集合 | 教学自测与对标真题 | |
| 阶段6 | 好题出题特征 | 指导命题改编参考 |
1.2 CC 系列电路题知识库(新建,由于VL对电路图的识别不完善,模块还不成熟)
本版本完整建立了 CC 系列电路题知识库,覆盖 9 个子类编号:
CC200 / CC300 / CC310 / CC400 / CC510 / CC580 / CC810 / CC830 / CC910
主要建设内容:
- STATS 注入块全量补全:各子类阶段3统计数据块全部到位
- 阶段4考试方向标准化:17个 KP 文件的 CONFIRMED 考试方向块全部补全
- 电路题视觉识别:CC 系列题目视觉识别能力上线,支持从电路图图片直接解析题目要素
KP书写指南同步更新:新增第五章 CC系列电路题规范,明确电路类KP各阶段的书写要求与格式约束。
1.3 阶段3数据流设计
测试数据处理遵循以下流程,确保数据来源可追溯、内容经人工审核:
学生测试完成
↓
数据分析 → 导入成绩单
↓
应用自动生成统计数据(正确率 / 争议度 / 选项分布 / 典型错题)
→ 输出到 DRAFT 块
↓
老师审核后,手动粘贴到 CONFIRMED 块(教材锚定 / 补充解释)
↓
题库管理 → 知识库MD维护 → 全量更新
→ 将知识库 .md 文件转化为 JSON,供应用调用
↓
题库管理 → 知识库MD维护 → 合成知识库
→ 将子知识库合成为知识库 .md 供题目改编使用
注意:人工修改 KP 文件后,必须运行"题库管理 → 知识库MD维护 → 全量更新/合成知识库",才能将最新内容同步到 JSON 索引中,修改才会生效。
1.4 预测与洞察面板(数据深度利用)
本版本将原本零散的统计数据聚合为深度洞察面板,帮助老师从海量成绩中发现规律。
- 考前预测分析:基于历史测试大数据与知识点掌握曲线,自动预测考前复习重点与学生潜在失分项。
- 教学洞察看板:多维可视化展示班级知识点掌握分布,识别"全班共性盲区",辅助精准教学决策。
二、题目分析助手(必修文字类全覆盖)
必修课程所有纯文字类题目现已全部支持解析,实现从题目输入到知识点识别、解析报告输出的完整流程,无需手动选择知识点类型。
三、草图设计工具集(全新功能)
本版本引入草图设计工具集,覆盖三视图、机械传动、电控三大题型场景,核心理念是让学生去搭积木——提供结构化素材库,学生通过拼搭元件完成草图,而非从零绘制。
3.1 三视图查看器
内置 SketchUp 三维模型查看器,支持六种视角切换,无需安装外部软件,直接在 Obsidian 内查看。
| 视角 | 说明 |
|---|---|
| 轴测 | 三维等轴测视图 |
| 主视 | 正前方正交投影 |
| 左视 | 左侧正交投影 |
| 俯视 | 顶部正交投影 |
| 后连线 | 后视线框图 |
| 高度控制 | 手动调整视点高度 |
格式支持扩展:除 OBJ 外,现已支持 STL、GLB、GLTF 格式,覆盖主流三维设计软件导出标准。
3.2 机械传动草图设计
依赖:Excalidraw 插件(注意Excalidraw插件生成图片后可以粘贴为SVG格式,这个格式复制到其它地方时需要截图)
本次对机械传动草图工具进行了系统性重建,新增素材库管理工具,并全面优化等轴测绘图体验。
素材库管理工具
- 通过"框选元件 → Control+P"调出工具,可保存或替换素材库中的元件
- 库文件全部存储于 Excalidraw 文件夹,切换素材库时需使用 Excalidraw 的重置打开功能(Electronic电子元件库、Mechanical机械驱动类素材库)
等轴测坐标系重建
- 等轴测格生成:Grid size=25px,Grid step=5px
- 切换按钮:一键切换是否显示等轴测网布
- 吸附:线段吸附到格点
带轮结构生成
- 多段折线模拟圆弧:传动皮带的圆弧段由多段折线拟合,接近真实效果
- 弥补Excalidraw圆弧绘制
遮挡面算法
- 使用凸包轮廓算法生成遮挡面轮廓
- 支持
line类型元素的填充处理,修复了此前填充区域错误的问题 - 弥补Excalidraw线的背景填充
3.3 电控电路图设计
依赖:Excalidraw 插件
电子元件管理工具
- 统一管理电路元件库,支持增删改查
- 添加或修改电子元件后,需点击管理工具 → 同步到库文件,才能在 Excalidraw 画板中使用更新后的元件
- 操作步骤与机械传动素材库相同:添加元件时框选后通过 Control+P 保存/替换
电路图元件解析工具
- 依赖第二阶段手工修正识别错误的元件,再自动解析电位关系
- 需要 Qwen VL 支持
- 解析工作流优化:支持"解析当前 Excalidraw 中的电路图"命令,可直接识别画板中已有的图片,大幅提升截图处理效率。
当前状态:电控 KP 知识库仍在建设中,暂不支持复杂电路题目解析。
3.4 3D 建模工具(实验室功能,目前还是要依赖其它3D应用)
新增内置 3D 建模编辑器,支持通过基本几何体拼搭、布尔运算(CSG)快速创建三视图题目所需的 3D 模型,无需切换外部建模软件。支持直接导出模型文件并在笔记中引用。
四、文字处理工具集
4.1 OCR 图片文字提取(新增)
新增"提取当前图片中的文字"命令(命令面板调用),支持截图题目(印刷体/手写体)直接转文字录入,省去手动输入步骤。
典型场景:拍摄试卷截图后,通过 OCR 命令将题目文字提取到 Obsidian 笔记。
4.2 视频查看支持
Obsidian 内支持视频文件直接查看,提供循环播放功能,便于在教学笔记中嵌入演示案例(如机械传动实物演示、电路实验视频等)。
支持格式:mp4 / webm / mov / mkv / m4v
4.3 视频压缩工具(新增)
新增视频压缩工具,当前支持 Mp4 / Mpeg 等格式,专为非运动类视频(如板书讲解、实物展示、电路接线演示)设计,可在画质损失极小的情况下大幅减小文件体积,节省 Obsidian vault 存储空间。
注意:题库管理- FFmpeg工具管理,需要按流程完成安装
五、工具体系速查
| 工具 | 入口 | 功能 |
|---|---|---|
| 数据分析 → 导入 | 数据分析模块 | 导入测试成绩,生成阶段3统计数据 |
| 批量导入 | 题库管理 → 批量导入 | 批量导入题目,自动生成属性 |
| 质量优化流水线 | 题库管理 → 质量优化流水线 | AI 辅助题目评审与改编(支持多版本生成) |
| 命令面板 | 分析考试趋势与学生薄弱环节 | |
| 命令面板 | 班级知识点热力与掌握度分析 | |
| 知识库MD维护 → 全量更新/合成知识库 | 题库管理 | KP 文件 → JSON 索引同步 |
| 三视图查看器 | 点击 3D 模型文件 | 多格式支持(OBJ/STL/GLB/GLTF),六视角查看 |
| 3D 建模工具 | 命令面板 | 内置 CSG 建模编辑器 |
| 机械传动素材库 | Excalidraw 画板内 | 等轴测机械草图设计 |
| 电子元件管理 | Excalidraw 画板内 | 电路草图设计 |
| OCR 文字提取 | 命令面板搜索"提取" | 截图题目转文字录入 |
| 视频压缩工具 | 文字处理工具 | 压缩 Mp4/Mpeg 视频文件 |
六、设计理念
V2.6.0 将工具链组织为三个协同层次:
知识层:以历史错题数据和选考真题为原料,数据驱动填充 KP 知识库的阶段3和选考表述区域,让知识库持续"进化"而非静态保存。
草图和电路层:基于 Excalidraw 提供机械传动与电控两套素材库,配合等轴测网格与吸附系统,让学生像搭积木一样完成草图设计,降低绘图门槛、聚焦知识考查。
文字层:OCR + 题目分析助手构成完整的文字题处理流水线,覆盖所有必修文字题型,从图片输入到知识点解析全程自动化。
三层协同,以不变(学科核心知识结构)应万变(题目形式与考查角度的变化)。
七、新旧兼容
Questions目录,做为临时存放使用
Questions Main 主要数据
Questions Low 低质量题目
Questions PROTECTED 存放只查询不参与改编的题目
Questions MOD题目改编工具的存放位置
旧版用户需要改成上述所示目录,也可以直接导入数据包,将文件粘贴新的目录
八、注意事项
saviteachingassistant.cn下载sandbox及数据包,再通过题库管理-数据同步-导入数据包,可选择Exam Analyze(会带入学生的测试数据)
SAVI V2.6.0 · 发布于 2026-05-30 · 维护者: Fan Zhiyi
