本地优先的素养评估工作台:按项目/行动收素材,AI 整理证据,生成行动、项目与学期总报告,并支持对外脱敏版。
A local-first Obsidian plugin for project-based literacy assessment. Educators collect classroom materials, recordings, photos, and observation notes in a project → action structure. The plugin transcribes audio, describes images, extracts evidence, and produces evidence-linked action reports, per-student project reports, project overviews, and term reports.
It also generates an internal version and a redacted external version of every report. The external version replaces student names with aliases and blurs photos.
面向一线教育者的本地素养评估工作台:把一次项目 / 课堂 / 活动的素材收进本地文件夹,由 AI 整理(录音转写、照片说明),生成行动成长报告;按项目生成单同学项目报告与项目总报告;按学期/学年生成单同学阶段报告与学期/学年总报告。每份报告同时生成内部版和对外脱敏版。
Download main.js, manifest.json, and styles.css from the matching GitHub Release, place them in:
<vault>/.obsidian/plugins/literacy-assessment/
Then enable Literacy Teacher Workbench in Obsidian's community plugins settings. BRAT users can add PBL-EDU/literacy-assessment.
The plugin has no server and no telemetry. It contacts only the AI provider and GetNote OpenAPI that the user explicitly configures, using the user's own API keys. Materials and reports stay in the local vault. A confirmation dialog is shown before any AI upload. No automatic updates.
Released under the GNU Affero General Public License v3.0 (AGPL-3.0-only). You may use, modify, and distribute it, including commercially, provided you comply with the AGPL. A separate commercial license is available for organizations that cannot accept the AGPL obligations. See LICENSE and LICENSE-COMMERCIAL.md.
literacy-assessment0.2.7
01_项目/<项目>/行动/日期_名称/(旧库 01_系列 仍可读)。| 能力 | 入口 |
|---|---|
| 新建项目(课程/活动群) | 侧栏「行动」组「新建项目」/ 命令面板 |
| 新建小组(固定成员) | 侧栏「人」组「新建小组」/ 命令面板 |
| 新建同学 | 侧栏「人」组「新建同学」/ 命令面板 |
| 新建行动(项目/课程/课堂/活动/行动) | 侧栏「行动」组「新建行动」/ 命令面板 |
| 项目下多次行动 | 新建行动时选「归属项目」 |
| 得到大脑录音同步(暂存 → 匹配已有行动) | 侧栏「同步得到」/ 命令面板 |
| 得到导入总目录(每条笔记存放/归口位置) | 侧栏「查看导入」/ 05_导入/得到/00_得到导入总目录.md |
| 扫描素材、生成素材清单 | 侧栏「扫描」/ 右键行动笔记 |
| 录音/视频转写(OpenAI 兼容 ASR) | 侧栏「AI 整理」 |
| 照片/学习单图像说明(视觉模型) | 侧栏「AI 整理」 |
| 视频关键帧说明(抽 3 帧,best effort) | 侧栏「AI 整理」 |
| 学习目标证据抽取(JSON) | 侧栏「生成报告」 |
| 行动成长报告(项目 · 行动) | 侧栏「生成报告」 |
| 单同学项目报告 | 项目标题旁「项目报告」/ 命令面板 |
| 项目总报告(项目内全部同学) | 项目标题旁「项目总览」 |
| 单同学学期/学年报告 | 命令面板「生成阶段性成长报告」 |
| 学期/学年总报告(全部项目/同学) | 侧栏「管理」组「学期总报告」/ 命令面板 |
| 内部 / 对外两版 | 生成报告时自动生成 _对外.md,化名 + 模糊照片 |
| 自动双链 | 行动 ↔ 项目 / 小组 / 同学 / 框架;正文首次提及自动内链,底部另有「关联」索引 |
| 图像说明附原图 | 转写/图像说明.md 每个说明块内嵌原图,便于核对 |
| 报告证据照片 | 自动带出 素材/ 照片,AI 可引用 |
| 报告导出 PDF | 报告卡片「PDF」/ 命令面板 / 文件右键 |
| 发送前隐私确认 | 默认开启 |
| 报告证据来源(文件 + 时间戳)与免责声明 | 自动写入报告 |
npm install
npm run build
把 main.js、manifest.json、styles.css 放进:
<你的库>/.obsidian/plugins/literacy-assessment/
或直接运行安装脚本:
.\install.ps1 -VaultPath "D:\我的Obsidian库"
在 Obsidian 设置 → 第三方插件里启用「素养评估」。
想先试一下:从 GitHub Releases 下载 main.js、manifest.json、styles.css,放入插件目录;或使用 zip 安装包。不要把测试用的学生素材库提交到本仓库。
BRAT 用户添加仓库 PBL-EDU/literacy-assessment,选择 0.2.7 即可。
05_导入/得到/,再按时间 + 内容匹配到已有行动;匹配成功只把转写/总结拷贝到该行动 素材/,原始录音始终留在得到暂存区。未匹配继续留在暂存区。详细说明见 使用指南。
白日梦行动/
00_框架/素养框架.md
01_项目/<项目>/ # 新目录;旧库 01_系列 兼容
<项目名>.md
行动/<日期_名称>/
<行动名>.md
素材/ 观察/ 转写/ 证据/ 报告/
02_小组/<小组>/
<小组名>.md
03_学员/<同学>/
<姓名>.md
04_模板/
05_导入/
得到/
00_得到导入总目录.md # 每次导入/归口的汇总目录
<日期_标题>/ # 得到笔记暂存区;转写/总结匹配成功后拷贝,原录音保留
06_报告/ # 学期/学年总报告
学期总报告_<周期>.md
学期总报告_<周期>_对外.md
社区小店调研项目.md、社区小店调研.md、小店探索组.md、张三.md),全库唯一。社区小店调研(社区小店调研项目).md),显示标题不变,双链仍指向正确文件。npm run dev # watch
npm run build # production bundle
npm run typecheck
npm test # 25 项纯逻辑单测
npm run test:asr # 本地 mock 服务验证 multipart / 中文文件名 / 25 MB 拦截
npm run test:getnote # 本地 mock 验证得到列表/详情/鉴权头
npm run test:smoke # 用 mock 的 obsidian 模块加载 main.js
typecheck、build、25 项单测、bundle 冒烟测试已通过。插件没有服务器、没有遥测。只有导师主动运行 AI 时,素材才从本机直连所配置的 AI 服务;发送前默认弹窗确认。对外分享报告前,请单独取得监护人/机构同意并做脱敏。