Releases: virbird/Alevel-study
Releases · virbird/Alevel-study
Release list
0.1.7 — Session Resilience 会话健壮性补丁
0.1.7 — Session Resilience 会话健壮性补丁
A focused patch release: unfinished coach sessions now survive restarts, plus two data-integrity fixes for the closing flow. / 专注补丁版本:未结束的教练会话在重启后自动恢复,另含结题链路两项数据完整性修复。
New / 新功能
- Session slot persistence / 会话槽位持久化 — unfinished sessions (messages, archive progress, tagging state, attachment references) are now stored in plugin data and automatically restored after restarting Obsidian or reloading the plugin; closed sessions are cleared from the restore set. Image payloads are intentionally not persisted to keep the data file small (all text is retained and incrementally archived to the vault). / 未结束会话(消息、存档进度、打标状态、附件引用)写入插件数据,重启 Obsidian 或重载插件后自动恢复现场;已结题会话不再恢复。图片不持久化以控制数据文件体积(文字全量保留且已增量存档)。
Fixes / 修复
- Closing replies no longer skip session tagging / 结题回复不再跳过会话打标 — a regression from the delayed-close change made the closing branch return before the side-effect handler ran, so the sessionTag (the only source of the question log) was never parsed and the question log silently stopped growing. The side effect now runs for every reply before any closing branch. / 延迟关闭改动引入的回归导致结题分支提前返回、跳过副作用处理,sessionTag(提问记录唯一数据源)永不被解析、提问记录静默断流;现副作用在所有回复上先于结题分支执行。
- Self-rating stored in the question log / 自评落库修复 —
appendTagnow passesselfRating(0.1.6 instrumentation omission), so closing self-ratings actually reach the ledger and can feed the calibration flags. /appendTag补传selfRating(0.1.6 埋点遗漏),结题自评真正落入提问记录,支撑自评校准旗标。
Notes / 说明
- No vault data format changes; no new settings. / 无 vault 数据格式变更,无新设置项。
- 512/512 UT+FVT passed. / 512/512 测试全绿。
0.1.6 — Learning-Method Enhancements 学习方法增强(Q1–Q4)
0.1.6 — Learning-Method Enhancements 学习方法增强(Q1–Q4)
DeepTutor-inspired learning-method layer, all local & zero extra LLM calls: retrieval practice, metacognitive calibration, attention focusing, interleaving. / 借鉴 DeepTutor 学习方法层的四项增强全部落地,纯本地统计、零新增 LLM 调用。
New / 新功能
- Q1 Blind redo with session attachment / 附件式盲重做 — the wrong-answer "Practice" button now attaches the original session archive and prefills a 3-step retrieval-practice flow: attempt blind first → contrast with your past mistake → then walk to the standard approach. Falls back to the old prefill when the session file is missing. / 错题「去练」自动挂上原会话存档并预填三步检索练习流:先盲做 → 再对照当时的错误 → 最后到标准做法;会话缺失时降级为旧预填。
- Q2 Self-rating instrumentation / 自评埋点 — the closing self-rating (1–5) is now stored: sessionTag gains
selfRating, the question log grows a 6th column (read lenient, write full). / 结题自评 1–5 落库:sessionTag 新增 selfRating,提问记录台账扩为 6 列(旧行宽容读取)。 - Q2 Calibration flags / 自评校准旗标 — per mark-loss code: self-rating avg ≥4 but the code recurred ≥2× within 30 days (min 3 rated samples) → "overconfident code" line appended to the subject section of
记录/weakness-profile.mdwith evidence dates; reverse case → "underestimated" (display only). Weekly snapshot gains an overconfident-code-count column (old 5-column tables migrate leniently). / 按失分码聚合自评与实际复发:自评均 ≥4 但 30 天内复发 ≥2 次(样本 ≥3)→「过度自信码」进入弱点画像科目节尾(带证据日期);反向为「低估码」仅展示。周快照新增「过度自信码数」列(旧 5 列表宽容迁移)。 - Q3 This week's top 3 / 本周三件事 — home tab shows an action card with the 3 items to clear first (2 due mark-loss entries + oldest open wrong answer), each with a one-line reason and a direct practice button. / 首页顶部行动卡:本周最该清的 3 条(到期失分前 2 + 最旧未订正错题),各带一句理由和直达「去练」。
- Q4 Interleaved review sheet / 复习单交错编排 — when section ② has ≥6 items across ≥2 subjects, items are arranged by subject round-robin (desirable difficulty); fingerprint is now order-independent. / 复习单②节条目 ≥6 且跨 ≥2 科目时按科目轮转排列(合意难度);源指纹改为顺序无关。
Fixes / 修复
- Topic names containing non-breaking spaces (U+A0, common in AI sessionTag output) are normalized before cross-ledger matching — calibration links no longer silently fail. / 考点名中的不换行空格(U+A0,AI 打标输出常见)在跨台账匹配前归一,校准关联不再静默失效。
- Review tab ① empty state explains not-yet-due entries; review cards show readable ID · subject · topic layout; subject column normalized to a whitelist (mark-loss log); closing confirmation cards stay visible until handled.(已随 dev 合入)
Notes / 说明
- All features are local statistics — no new model calls, no new settings; thresholds are fixed and documented in
docs/学习方法增强设计.md. / 全部为本地统计,无新增模型调用与设置项;阈值固定并记录于设计文档。 - Calibration flags need a few weeks of self-rating data to appear — instrumentation starts from this version. / 校准旗标需积累数周自评数据后才会出现,埋点自本版开始。
- 512/512 UT+FVT passed. / 512/512 测试全绿。
0.1.5 — Evidence Loop 证据闭环 + Audit Fixes
0.1.5 — Evidence Loop 证据闭环 + Audit Fixes
The DeepTutor-inspired evidence loop (P1–P5) is complete, plus a round of UX and community-plugin audit fixes. / 借鉴 DeepTutor 的证据闭环 P1–P5 全部落地,另含一轮体验与社区插件审核修复。
New / 新功能
- P1 Wrong-answer ↔ session backlink / 错题↔会话回链 — the mistake ledger gains a Session column; one click reopens the exact session where the error happened. / 错题本新增会话列,一键回到当时做错的会话。
- P2 Mastery badges + inline practice / 掌握度徽章+去练 — every status shows the distance to the next state ("1 spot-check away from stable"); per-row practice buttons jump to the coach with a prefilled request. / 状态旁显示升级距离;行内「去练」预填请求直达教练。
- P3 Weakness profile (L2) / 弱点画像 —
记录/weakness-profile.md: per-subject compressed profile with ledger-ID backlinks, manual-notes preserved on regen; injected instead of full tables when >10 open entries (saves tokens); weekly snapshots in 统计分析. / 按科目压缩画像+证据回链+人工备注保留;条目多时替代全表注入省 token;周快照落盘。 - P4 Review sheet / 复习单 —
记录/review-sheet.md: one click compiles due queues into printable flashcards / redo / sentence tasks; fingerprint drift detection flags stale sheets. / 一键编译到期队列为可打印复习单;指纹漂移检测提示过期。 - P5 Trend charts & rewrite diff / 趋势图与复盘对照 — local SVG (no deps): overall-score sparklines, 30-day mark-loss code bars; after the English review step a Compare button shows a word-level before/after diff of the student's own two versions. / 零依赖 SVG 折线/条形图;英文复盘后词级 diff 对照学生两版。
Fixes / 修复
- Conclude no longer closes the session before register/ignore confirm cards are handled (deferred close; click conclude again to skip). / 结题不再吞掉入库确认卡片(延迟关闭,再点结题可跳过)。
- Review queue explains not-yet-due entries; error-point cards now show ID · subject · topic + a question-type line; subject column whitelist-normalized (topic names fall back to the session subject); prompt log tables unified to one-line 13 columns. / 复习空态说明未到期条目;失分卡片可读性重排;科目白名单规范化;log 表头统一。
- Audit: SVG charts built via
createElementNS(no innerHTML); MIT LICENSE added. Two warnings remain by design (declarative settings API deferred until minAppVersion ≥ 1.13.0; streaming fetch kept becauserequestUrlcannot stream). / 审核:SVG 改 createElementNS、补 MIT LICENSE;两条 Warning 为兼容性决策保留。
Stats / 数据
- 484/484 tests green (UT+FVT). / 484 项测试全绿。
- Install: copy
main.js,manifest.json,styles.cssinto<vault>/.obsidian/plugins/alevel-study-coach/.
0.1.4 — 中英双语 Bilingual UI
0.1.4
- Bilingual UI: English by default; switch to Chinese in Settings → Language (instant, no reload needed). 界面默认英文,设置页可切换中文,即时生效。
- Dual prompt sets: 9 English prompt templates as default + Chinese .zh.md twins, loaded by language with fallback. 提示词中英两套,按语言加载,缺失回退。
- AI language adaptation: the coach replies and teaches in the language the student uses; can be overridden in-conversation. AI 按学生输入语言回答与教学,对话中可指定。
- All UI copy (tables, statuses, notices, suggestion cards, voice logs, injected context blocks) follows the language setting; vault data files keep their original format. 全部界面文案随语言设置;vault 数据文件保持原格式。
0.1.3
New
- Playback link test (Settings → Voice training → Playback link): synthesizes a sentence and plays it for real on the current device through two paths in sequence — ① Web Audio (AudioContext) and ② HTML
<audio>media element — then asks which one produced sound. The tap gesture also unlocks the iOS audio context. Results are written to the voice log. Use it to verify TTS on any device and to diagnose iOS silent-switch behavior (web audio is muted by the iOS silent switch by design).
Fixes
- iOS/iPadOS TTS silence: the AudioContext is now a shared instance created and resumed inside user gestures (🎤 press-to-talk / send button), so examiner replies can be spoken on iPad.
- If playback still detects a suspended audio context, a notice now points the user to the playback test instead of failing silently.
0.1.2
Fixes
- iPad / iOS TTS silent: the AudioContext is now created once and unlocked inside a user gesture (🎤 press-to-talk / send button), so examiner replies are spoken on iPad. Previously the context was created after the AI reply, which iOS WebKit keeps suspended (no sound).
- Records tab scroll jump: scroll position is now preserved after chapter actions (unlock / mark mastered / lock), so the list no longer snaps back to the top and scrolled-down sections stay reachable. Applies to all four tabs.
Also included (since 0.1.0)
- All Obsidian community-review lint fixes: CSS classes instead of inline styles, short-lived render component for MarkdownRenderer, Platform API instead of navigator, settings headings via Setting.setHeading, PromptModal instead of window.prompt, typed LLM responses.
- English README as default (README.md), Chinese translation in README.zh.md.
- Manifest: author filled, description in English ending with a period and not starting with the plugin name.