You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An assistive A-Level study coach for Obsidian: learning stays offline-first — open the plugin
only when you need help: an unclear concept, a problem you're stuck on, or essay grading.
Every request is logged so weaknesses surface over time. Targets: A-Level all A*, IELTS 7.5+.
Product design: docs/产品设计.md (v0.3). Prompt system from the chat-2 coach pack;
tech base simplified-forked from AI Study Buddy.
Feature Overview
Coach Sessions
Feature
Description
Per-subject sessions
Each subject keeps its own session; switching saves/restores automatically; concluding closes it
Auto session start
A session opens instantly when you enter a subject — no button needed; sessions with no user input are never recorded
Opening mode menu
The opening is rendered locally from the prompt's ```opening fence (zero API call): Concept Drill A–G (blind write / decomposition / colloquial rewrite / logic chain / drill / F concept relation map — chapter-level: includes learned + not-yet-learned concepts, the latter marked as preview with a short auto-explanation, mermaid with keyword edges / G keyword recall — reproduce the whole map from keywords); Economics A–D; IELTS A–D. Reply with a letter to pick a mode, jump anytime, or let the AI guide by context
Concept map
After a chapter-level F map, a confirm card registers concepts to 记录/概念地图.md (chapter/concept/status); preview/pending concepts are auto-injected into the drill prompt so they switch to detailed mastery when actually learned, and become “learned” after confirmation; the records center shows the ledger
Conclude flow
Conclude = self-review, scrutiny, error-log rows, session tagging; then auto-archive and auto-reopen a fresh session
Problem solving & correction (unified)
Being stuck on a new problem and correcting a wrong one share one flow: any problem request enters it (with your attempt → compare; stuck → first ask how far you got); attempt images auto-transcribed; three-tier baseline for the correct answer (official / model solution verified by you / pending); locate the divergence and guide the correction; after conclude, a confirm card registers to the wrong-answer ledger and unmastered entries are auto-injected into later sessions
Session extras
SSE streaming output, image attachments (vision models; more than 4 images are auto-batched for recognition with per-batch progress and resume-on-failure, transcripts merged into the session record), session-wide doc references, resume from history
Think-first timer
In-session countdown; sending is blocked before the threshold; finishing adds a "thinking credit" note to the next message
Context & Models
Feature
Description
Global model selector
Top-bar dropdown applies to every AI call; the settings page manages models as a list per provider (add / test individually / set default / delete)
Context management
Usage shown under the input box ("x / y (n%)"); auto-compress threshold is configurable (default 80%); over-limit turns red with a "force compress" button; compression is long-running and always shows progress notices
Records & Review
Feature
Description
Error log ledger
13-column main table; recurrence auto +1; review in 7 days (3 if recurring); status flows unresolved → observing → resolved
3-way routing
Specific losses → ledger; question-type habits → practice focus; vague claims → weakness impressions
Records center
One tab shows all ledgers: A-Level error log + IELTS grades + expression library + question log (data files stay separate — zero information loss)
Review reminders
The Review tab shows today's full due list in four queues: error-log points (per item: variant question / passed / recurred), term drills, expression sentence drills, wrong-answer follow-up (per-item "mastered after redo"); you can also practice offline — report results in natural language for batch parsing, or give per-item feedback directly; plus status-bar badge and one gentle daily notice
Wrong-answer ↔ session backlink
Every wrong-answer entry records the session it occurred in; one click opens the original conversation from the records center / review queue, and "redo" prefills your mistake-at-the-time plus the session link
Mastery progress badges
Each status shows the distance to the next state (e.g. "1 spot-check away from stable"); per-row "practice" buttons jump to the coach with a prefilled request (term spot-check / wrong redo / variant)
Weakness profile (L2)
A compressed per-subject profile with ledger-ID backlinks, auto-refreshed after each conclude; injected instead of full tables when many entries are open (saves tokens); the manual-notes section survives regeneration
Review sheet
One click compiles the four due queues into a single printable note (term flashcards / wrong redo / expression sentences); fingerprint drift detection flags a stale sheet for regeneration
Trend charts
Local SVG (no deps): overall-score sparklines for writing/speaking, 30-day mark-loss code bars in Records
Answer rewrite diff
After the English review step, a Compare button opens a word-level before/after diff of the student's own two versions
Quick capture
One natural-language sentence → AI suggests a category → accept / edit / discard
Weakness Analysis
Feature
Description
Insight engine
Question hotspots × recurrence hotspots × expression-code trends × term/review backlogs; pure local stats; a suggestion needs ≥3 hits on one signal
Suggestion cards
Persisted under 建议/; view/disagree feedback loop; study advice is generated once, only after consent (no schedules)
Weekly report
周报/{ISO-week}.md with six stat blocks (help, losses & recurrence, reviews, terms, IELTS, suggestions)
Advanced corner
Stage-based advanced-exam roadmap (G10 UKMT → G11 MAT/TMUA → G12 STEP/PAT/ESAT) with one-click thinking-problem sessions and auto timer
IELTS
Feature
Description
Unified entry
Coach "IELTS Writing": A full grading / B paragraph commentary / C discussion & dispute / D targeted practice — freely mixed and switchable mid-session
Grade any note
Open any note (task + essay, images included); six-part output written to ## AI 批改; re-grading archives the previous version for comparison
Score ledger
Every grade appends overall + TR/CC/LR/GRA to 雅思/批改记录.md — your improvement trajectory
Expression library
High-score expressions auto-collected (deduplicated) with simplified SM-2 intervals 1→3→7→14→30→60 days and due sentence drills
Speaking training
Coach "IELTS Speaking": A full mock exam (Part 1→2→3) / B single-part focus / C free practice / D discussion & review; delayed & limited corrections, first-session calibration with staged targets (stepwise path to 7.5), evidence-based Band-7 scoring (ranges, no flattery); final scores go to 雅思/口语记录.md alongside the writing trend, speaking mistakes to the existing wrong-answer ledger (SP/GR/VX), upgraded expressions to the library; voice pipeline (Aliyun NLS): 🎤 hold-to-talk ASR with auto-send, examiner replies read aloud sentence-by-sentence via TTS (interruptible), recordings normalized to 16k WAV (optionally saved); falls back to text mode when keys are unset; P-dimension pronunciation eval awaits P5c
Data Locations (all inside the vault, syncable via git / iCloud)
npm install
npm run build
./install.sh /path/to/your/vault
Then in Obsidian: Settings → Community plugins → enable A-Level Study Coach → configure the LLM
in plugin settings (OpenAI-compatible endpoint or native Anthropic; the API key stays on your machine).
Development
npm run dev # esbuild watch
npm run typecheck # tsc --noEmit
npm test# full UT + FVT suite (must stay green on every change)
Test suite (test/, obsidian isolated via FakeVault, runs directly in node):