Reference
Every toolbar action at a glance, plus the full CLI and the honest caveats.
Toolbar at a glance
The toolbar is contextual: the full set shows in the notes view; the graph and chat show only a Back to notes button to keep the chrome clean. Each icon shows its name as a label.
| Icon | Does | More |
|---|---|---|
| β Add | Import a course PDF, or add one PDF as a single note | Using β Add |
| π Link | Cross-link related notes domain-wide | Connect β Link |
| π Refresh | Reload domains & notes from the vault | below |
| π§ Concepts | Build the multi-layer concept graph | Connect β Concepts |
| πΈοΈ Graph | Open the interactive graph (drill Areas β Themes) | Connect β Graph |
| π¬ Chat | Ask your notes, grounded & cited | Connect β Chat |
| π Appearance | Light / dark / system | below |
| βοΈ Settings | Models, filters, API key | below |
Appearance
The appearance icon cycles system β light β dark and persists your choice. It sets the app's appearance directly, so the whole UI β including rendered note summaries and chat β follows it. Leave it on system to track macOS.
Refresh
Reloads domains and notes from the vault on disk β useful if you changed files outside the app (e.g. in Obsidian) or ran the CLI in a terminal.
Settings
The gear opens model dropdowns (transcription Β· concept/cross-link Β· chat), the content filters, your Claude Code login status, and an optional Claude API key. The concept-map, cross-link, and chat reasoning run through Claude Code by default β no API key needed.
uv run python -m engram config set transcribe claude-code
uv run python -m engram config set-key sk-ant-β¦ # optional
CLI reference
# domains
engram domain create | list | remove | status "Data Science"
engram domain groups "Data Science" # section groups + sections
# ingest
engram add "Data Science" "CSE 234.pdf" [--group "CSE 234"]
engram add-page "Data Science" page.pdf --section "Lectures" [--title "β¦"]
# edit notes
engram note delete | move | duplicate <note.md>
engram retranscribe <note.md>
# connect
engram link "Data Science"
engram concepts "Data Science" ["Mathematics"] [--layers 3]
# chat (needs a concept graph)
engram chat query "Data Science" "β¦" (--concept "β¦" | --course "β¦")
engram chat synthesis "Mathematics" ["Data Science"] -q "β¦"
# inspect / config
engram inspect "CSE 234.pdf"
engram status
engram config set transcribe claude-code
Run as uv run python -m engram β¦ from the repo root.
Honest limitations
- Bulk auto-split is OneNote-tuned β other layouts may mis-split; use
add-pagefor those. - Structure parsing is heuristic & locale-dependent (the
εεΊ β¦ η第 N ι‘΅footer); an English fallback is future work. - Re-exports aren't pixel-stable, so cross-export incremental determinism isn't fully solved.
- The graph rebuilds from scratch β cross-links & concepts recompute each run; incremental refresh is next.
- Chat has no internet / external tools yet β the model's own knowledge over your notes only.
- One-way (notes β vault); never written back.