Skip to content

Repository files navigation

learning-wiki (protoAgent plugin)

An adaptive learning wiki: the agent maintains a persistent, interlinked wiki of concept pages — Karpathy's LLM-wiki pattern — plus the layer that pattern is missing for learning: a learner ledger (per-concept strength, misconception log, evidence trail) and FSRS-scheduled retrieval cards. Every page render and tutoring move is a function of both models; the wiki compounds with understanding, not just with reading.

The load-bearing invariant, enforced in the store and tested: only retrieval events move strength. Reading, filing, and hearing a great explanation never do — that's the fluency illusion, and it's designed out. Design + evidence base: ADR 0001.

It is also a plugin-SDK showcase: every seam it uses (and every seam it deliberately declines) is documented in SEAMS.md.

What it contributes

  • 13 toolswiki_index / wiki_page / wiki_file / wiki_link (content model, typed edges incl. prerequisite), ledger_status / ledger_record / ledger_misconception (learner model), card_add / review_next / review_grade (FSRS review loop), wiki_map (the knowledge map: your wiki as a tier-colored SVG with prerequisite arrows, rendered inline in chat via the media store), wiki_export (markdown dump), wiki_research (optional rabbit-hole rh CLI acquisition, off by default). Plus tutor knobs on a host: tutor_knobs / tutor_tune / tutor_preset live-tune desired_retention and session_limit (presets: exam-cram, steady, light).
  • learning-tutor skill — the evidence-based session policy: reviews first, probe-first diagnosis (never trust self-report), tier-matched scaffolding (novice → worked examples, frontier → one-idea-per-tier generation, fluent → teach-back), answer-holding, plain-spoken correction, end-of-session filing + card generation from the session.
  • Two subagentsreview-coach (one honest session over the due cards; scheduled via review_cron) and wiki-lint (read-only curation pass: orphans, stale strengths, frontier inconsistencies; lint_cron). Both ride plugin-owned cron jobs that are swept automatically on disable.
  • Chat commands/review (what's due), /wiki [topic] (page peek / frontier), and /learn <topic> [target] — arms a self-driving learning loop: a study cadence plus a ledger-verified watch (learning_wiki:strength) that retires itself when you actually reach the target. Uses the host's one-call start_goal_loop when present (protoAgent #2061), composing the identical loop from schedule_recurring + create_watch on older hosts. Goal verifiers also work with /goal.
  • A2A card skillslearning_status (structured ledger snapshot) and quiz_me (due prompts, answers withheld) let other fleet agents query your frontier over A2A and get schema-enforced JSON back.
  • Console view — a "Wiki" rail icon: page list with tier dots + due badges, page reader with [[wikilink]] navigation, links/backlinks; responsive to its panel width via container query. A utility-bar pill opens the same page in a dialog. Any learning_wiki.* event lights the notification dots.
  • Review-nudge surface + wake hook — inert by default; with nudge_interval_hours > 0 it emits learning_wiki.reviews_due (typed contract in the manifest) when cards are due, and a desktop wake triggers a due check via the lifecycle-hook seam.

Storage is instance-scoped SQLite (instance_paths().store("learning_wiki")), no runtime pip deps; the FSRS-4.5 scheduler is pure Python with the published default weights (overridable via config).

Install & enable

protoagent plugin install https://github.com/protoLabsAI/learningWiki-plugin

Then enable it (install ≠ enable ≠ trust — it ships disabled):

# langgraph-config.yaml
plugins:
  enabled: [learning_wiki]

# optional overrides
learning_wiki:
  desired_retention: 0.9    # FSRS target recall at review time
  nudge_interval_hours: 24  # push "reviews due" onto the event bus daily
  rh_enabled: false         # opt-in web research via the rh CLI

Say "teach me X" / "quiz me" / "let's review" — the learning-tutor skill picks it up. The wiki grows as you learn; reviews surface on the schedule the evidence says works (spacing ≈ 10–20% of the retention interval, handled by FSRS).

Development

python3 -m venv .venv && .venv/bin/pip install -r requirements-dev.txt ruff
.venv/bin/pytest -q          # host-free: no protoAgent checkout needed
.venv/bin/ruff check .

License

Apache-2.0

About

protoAgent plugin: adaptive learning wiki — LLM-maintained wiki + learner ledger + FSRS spaced review

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages