Skip to content

[Feature Request]: Add a Learning Experience Plugin SDK + first-party “Knowledge Garden” / “Concept Companion” learning layer #380

Description

@yepyhun

YES! I asked ai help to write my ideas into ticket , but these are my ideas and tips that i'm missing / would be interesting.
This is the reason I left a comment before I left this project cause it's abandoned...
Cause these suggestions are very important (for me at least) and it's a ton of work and development phase is too slow to do these in a meaningful phase.
Why would I use deeptutor if notebooklm is useable and first class implemented bugless ect ....
You should offer something more than the bare minimum...

Do you need to file a feature request?

  • I have searched the existing feature requests and I do not believe this exact feature request is already filed.
  • I believe this is a legitimate feature request, not just a question or bug.
  • This request is focused on long-term learning usefulness, not on deployment, SaaS, or installation convenience.

Feature Request Description

DeepTutor already has many of the hard ingredients of a serious AI learning platform: persistent memory, TutorBots, Question Bank, Book Engine, Skills, RAG-backed knowledge bases, notebooks, multi-mode chat, visualization, deep solving, and research workflows.

What still feels missing is a dedicated Learning Experience Layer: a plugin system that allows developers and educators to build motivational, adaptive, long-term study mechanics on top of real learner behavior.

This is not a request for shallow gamification such as XP, coins, streaks, badges, or generic leaderboards.

Instead, the proposal is to add a Learning Experience Plugin SDK that can react to study events, update learner-state models, render small interactive UI surfaces, and create meaningful study rituals. The goal is to make DeepTutor feel less like a set of AI tools and more like a living academic companion that evolves with the learner over months or years.

As a first-party example plugin, I propose something like:

Knowledge Garden
A living visual map where concepts behave like plants/ecosystems. Concepts grow when the learner recalls, explains, applies, and connects them. Weak concepts wilt, misconceptions appear as weeds, prerequisite gaps show up as shallow roots, and interdisciplinary connections become cross-pollination paths.

Or alternatively:

Concept Companions
A mature, non-childish version of “catch/train/battle” learning. Instead of Pokémon-like creatures, each concept or topic becomes an evolving companion/entity whose behavior reflects the learner’s actual understanding. A concept companion does not level up from time spent. It develops through demonstrated recall, explanation quality, transfer tasks, and correction of misconceptions.

The key idea: turn learning progress into a persistent world model, not a score.


What does this feature add or improve?

This would improve DeepTutor in five major ways:

1. It turns DeepTutor from an AI tutor into a long-term learning operating system

DeepTutor can already answer, solve, quiz, research, visualize, write, and remember. But the learner still needs to decide:

  • What should I practice next?
  • Which concepts are decaying?
  • Which concepts only feel familiar but are not actually retrievable?
  • Which mistakes keep recurring?
  • Which prerequisite is silently blocking me?
  • What does my knowledge look like across a semester?
  • How do I make coming back feel meaningful without fake points?

A Learning Experience Layer would make DeepTutor proactively answer those questions.

Instead of showing “you studied 5 sessions,” it could show:

  • “Your understanding of eigenvectors is stable in recognition but weak in transfer.”
  • “You can solve standard derivative problems, but your chain rule errors cluster around nested functions.”
  • “Your probability knowledge is fragmented: Bayes theorem, conditional probability, and independence are not yet connected.”
  • “This week’s review should interleave linear algebra and machine learning because your PCA notes depend on both.”

This is much more useful than a generic progress bar.


2. It makes memory actionable

DeepTutor has persistent memory, but memory becomes dramatically more powerful if plugins can subscribe to learning events and build their own learner-state models.

For example, a plugin should be able to listen to events such as:

onQuestionAnswered
onHintRequested
onConceptExplained
onMistakeDetected
onMisconceptionTagged
onNotebookSaved
onBookPageCompleted
onDeepSolveCompleted
onQuizGenerated
onQuizRetried
onTutorBotCheckIn
onStudySessionEnded

Then plugins can maintain models such as:

concept_mastery[concept_id] = {
  recall_strength: 0.72,
  explanation_quality: 0.61,
  transfer_strength: 0.34,
  misconception_count: 3,
  last_successful_recall: "2026-04-24",
  last_failed_transfer: "2026-04-25",
  confidence_calibration: -0.27,
  prerequisite_risk: ["conditional_probability", "matrix_rank"]
}

This would make memory less like “stored summary” and more like a true learning state engine.


3. It enables serious gamification without childish mechanics

The word “gamification” often gets reduced to:

  • XP
  • badges
  • streaks
  • leaderboards
  • daily quests
  • coins
  • cosmetic unlocks

Those can work for some users, but they are often shallow and sometimes harmful. They can make users optimize for fake activity instead of actual mastery.

DeepTutor should aim for something better:

  • curiosity loops
  • mystery resolution
  • visible knowledge ecosystems
  • Socratic trials
  • error archaeology
  • mastery rituals
  • simulated oral exams
  • concept “relationships”
  • semester-long narrative maps
  • personalized challenge arcs
  • study worlds that change based on real understanding

The principle should be:

Reward demonstrated understanding, not time spent.


4. It gives contributors a clear place to build “learning modes”

Right now DeepTutor has Tools, Capabilities, Skills, TutorBots, notebooks, memory, Book Engine, Question Bank, and plugins/registry surfaces.

That is powerful, but there should be a specific extension point for things that are not exactly:

  • a tool,
  • a chat capability,
  • a prompt skill,
  • a TutorBot persona,
  • or a normal notebook feature.

A “Learning Experience Plugin” would answer the question:

“Where do I build a study mechanic that reacts to learner behavior over time?”

Examples:

  • Knowledge Garden
  • Concept Companions
  • Misconception Case Files
  • Oral Exam Arena
  • Forgetting Debt Radar
  • Syllabus Quest Map
  • Research Expedition Mode
  • Failure Museum
  • Concept Relationship Graph
  • Exam Readiness Simulator
  • Study Ritual Generator

These should not all be baked into core. They should be plugins.


5. It makes DeepTutor more emotionally sticky without being manipulative

The best learning products are not sticky because they trick the user. They are sticky because they make progress felt.

A student should be able to open DeepTutor and feel:

  • “I know where I am.”
  • “I know what is weak.”
  • “I know what to do next.”
  • “My past work is alive.”
  • “My tutor remembers me.”
  • “My mistakes are being transformed into future strength.”
  • “This system is becoming more valuable every week I use it.”

That is the kind of retention that matters for education.


Related Module

This feature would likely affect or integrate with:

  • memory
  • question
  • notebook
  • book
  • TutorBot
  • skills
  • capabilities
  • runtime
  • plugin
  • web UI
  • CLI
  • session
  • knowledge
  • analytics/progress, if such a module exists or is added later

Suggested new module names:

deeptutor/learning_experience/
deeptutor/learning_events/
deeptutor/plugins/learning/
deeptutor/services/learner_model/
web/components/learning-experience/

Use Case

Use case 1: A university student builds a multi-year learning system

A student uses DeepTutor across several semesters.

They upload:

  • lecture notes,
  • textbooks,
  • assignments,
  • solved problems,
  • failed quizzes,
  • exam feedback,
  • research papers,
  • lab notes.

Over time, DeepTutor should not merely store these. It should infer:

  • which concepts have been studied,
  • which concepts are stable,
  • which are fragile,
  • which are overconfident,
  • which are forgotten,
  • which are prerequisites for upcoming topics,
  • which mistakes are recurring,
  • which topics should be interleaved,
  • which upcoming exam areas are risky.

A Learning Experience Plugin could turn this into a living semester map.


Use case 2: A learner wants motivation that is not childish

The learner does not want:

“You earned 50 XP! Keep your streak!”

They want:

“Your Knowledge Garden shows that differential equations are growing, but the roots depend on weak integration techniques. Your next 20-minute session should repair integration by parts before continuing Laplace transforms.”

Or:

“Your Linear Algebra companion is confident on definitions, but becomes unstable when asked to solve transfer problems. It is asking for a Trial: explain eigenbasis, diagonalization, and PCA in one chain.”

This feels motivating because it is meaningful.


Use case 3: Anki-style long-term review, but richer

Anki is excellent at spaced repetition, but it mostly works at card level.

DeepTutor could work at multiple levels:

  • card,
  • question,
  • concept,
  • misconception,
  • proof,
  • worked example,
  • assignment type,
  • chapter,
  • course,
  • research theme.

A plugin could schedule not only “review this flashcard,” but:

  • “explain this concept without notes,”
  • “solve a near-transfer problem,”
  • “compare two similar concepts,”
  • “teach it to a fictional beginner,”
  • “debug an intentionally wrong solution,”
  • “reconstruct the proof,”
  • “predict what happens if an assumption changes.”

This is much closer to university-level learning.


Proposed Architecture

1. Learning Event Bus

Add a structured event stream for learner interactions.

Example event types:

type LearningEvent =
  | QuestionAnsweredEvent
  | QuizCompletedEvent
  | HintRequestedEvent
  | ExplanationSubmittedEvent
  | MisconceptionDetectedEvent
  | ConceptTaggedEvent
  | NotebookEntryCreatedEvent
  | BookPageCompletedEvent
  | DeepSolveCompletedEvent
  | ResearchNoteSavedEvent
  | TutorBotCheckInCompletedEvent
  | StudySessionStartedEvent
  | StudySessionEndedEvent;

Example event:

{
  "type": "question_answered",
  "timestamp": "2026-04-25T10:32:00Z",
  "user_id": "local-user",
  "session_id": "session_abc",
  "source": "question_bank",
  "question_id": "q_123",
  "concept_ids": ["bayes_theorem", "conditional_probability"],
  "user_answer": "...",
  "correctness": 0.72,
  "confidence": 0.90,
  "hints_used": 2,
  "time_to_answer_sec": 84,
  "misconceptions": ["confuses P(A|B) with P(B|A)"],
  "evidence": {
    "rubric": "...",
    "llm_judgement": "...",
    "citations": ["kb://stats/ch3"]
  }
}

This would let plugins build meaningful adaptive experiences.


2. Learner Model Service

Add a service that maintains concept-level learner state.

Possible fields:

{
  "concept_id": "chain_rule",
  "name": "Chain Rule",
  "course": "Calculus I",
  "mastery": {
    "recognition": 0.86,
    "recall": 0.65,
    "application": 0.58,
    "transfer": 0.31,
    "explanation": 0.49
  },
  "retention": {
    "estimated_stability_days": 5.2,
    "last_reviewed": "2026-04-23",
    "next_review_due": "2026-04-28",
    "forgetting_risk": "medium"
  },
  "calibration": {
    "average_confidence": 0.82,
    "actual_performance": 0.61,
    "overconfidence": 0.21
  },
  "misconceptions": [
    {
      "id": "nested_function_order_error",
      "count": 4,
      "last_seen": "2026-04-24",
      "status": "active"
    }
  ],
  "prerequisites": ["function_composition", "basic_derivatives"],
  "dependents": ["implicit_differentiation", "backpropagation"]
}

This is the backbone for real educational personalization.


3. Learning Experience Plugin Manifest

A learning experience plugin could declare:

id: knowledge_garden
name: Knowledge Garden
type: learning_experience
version: 0.1.0

subscribes_to:
  - question_answered
  - misconception_detected
  - concept_tagged
  - study_session_ended
  - book_page_completed

provides:
  widgets:
    - garden_dashboard
    - concept_plant_card
    - weekly_growth_report
  commands:
    - garden.inspect
    - garden.repair
    - garden.plan_next_session
  tutorbot_hooks:
    - on_weekly_checkin
    - on_exam_prep
  memory_fields:
    - concept_growth_state
    - misconception_weeds
    - cross_pollination_edges

This would give plugins clear boundaries.


4. Plugin UI Slots

Allow plugins to render in predefined UI slots:

Dashboard sidebar
Course overview page
Question Bank detail page
Book page sidebar
TutorBot profile page
Study session summary
Notebook page
Concept graph page
Command palette

Example UI slots:

registerWidget({
  id: "knowledge_garden.dashboard",
  slot: "dashboard.learning_overview",
  component: KnowledgeGardenDashboard
});

registerWidget({
  id: "knowledge_garden.session_summary",
  slot: "study_session.after_action_review",
  component: GardenSessionSummary
});

The important part: plugins should not need to fork the UI to become useful.


5. Plugin Data Storage

Plugins need isolated storage:

workspace/
  plugins/
    knowledge_garden/
      state.json
      events.sqlite
      assets/
      config.yaml

Or a DB-backed equivalent.

Plugin data should be exportable and resettable.


6. CLI Support

Example commands:

deeptutor plugin install knowledge-garden
deeptutor plugin enable knowledge-garden
deeptutor plugin disable knowledge-garden
deeptutor learning events tail
deeptutor learning model show --concept "Bayes theorem"
deeptutor garden status
deeptutor garden inspect "Linear Algebra"
deeptutor garden plan-next-session

Structured JSON output would be especially useful:

deeptutor learning model show --concept "Bayes theorem" -f json

First-Party Plugin Idea #1: Knowledge Garden

Core metaphor

Every concept is a plant.

But the plant is not decoration. Its state reflects real learning signals.

Learning signal Garden representation
Strong recall Healthy leaves
Good explanation Strong stem
Transfer ability Fruit / seeds
Prerequisite strength Roots
Misconceptions Weeds or parasites
Forgotten concepts Wilting
Interdisciplinary links Cross-pollination
Overconfidence Bright but shallow leaves
Stable long-term retention Deep roots
Upcoming exam pressure Weather change / storm
Cramming without understanding Fast growth, weak roots

Why this is better than XP

XP says:

“You did activity.”

Knowledge Garden says:

“Your knowledge has structure, decay, dependencies, and health.”

That is much closer to how learning actually works.

Example user experience

After a study session:

Your Probability Garden changed:

  • Bayes theorem gained stronger roots after 3 successful recall attempts.
  • Conditional probability has a misconception weed: you reversed P(A|B) and P(B|A) twice.
  • Independence looks familiar but has shallow transfer strength.
  • Recommended next action: solve 2 contrast problems comparing conditional probability vs independence.

The learner can click “Repair weed” and DeepTutor generates a targeted micro-session.


Key actions

Inspect

Inspect concept → shows mastery, history, mistakes, prerequisites, related notes, next review.

Repair

Repair weak concept → generates a short active recall + explanation + transfer session.

Cross-pollinate

Cross-pollinate concepts → asks the learner to connect two topics.
Example: “Connect eigenvectors to PCA.”

Prune

Prune false confidence → challenges a concept where confidence is high but performance is low.

Deep Root

Deep Root session → focuses on prerequisites before advancing.

Harvest

Harvest → generate a polished notebook summary only after the learner proves understanding.

Example plugin event behavior

If learner answers correctly with high confidence:

increase recall_strength
slightly increase retention stability
mark recent successful retrieval

If learner answers incorrectly with high confidence:

increase overconfidence risk
spawn misconception weed
schedule calibration challenge

If learner asks for many hints:

do not mark as mastered
increase familiarity but not recall
schedule unaided retrieval later

If learner explains a concept clearly:

increase explanation_quality
connect concept to notebook entry

If learner solves a transfer problem:

increase transfer_strength
generate cross-pollination edge

First-Party Plugin Idea #2: Misconception Case Files

This would be a “detective board” for mistakes.

Every recurring mistake becomes a case file.

Example

Case #17: Confusing conditional probability direction

Suspect misconception:
You often treat P(A|B) and P(B|A) as interchangeable.

Evidence:
- Quiz 2026-04-22: wrong answer on medical test problem
- Chat 2026-04-23: explanation reversed known/given condition
- Deep Solve 2026-04-24: same pattern appeared in Bayes theorem derivation

Status:
Active

Next interrogation:
Explain the difference between:
1. probability of disease given positive test
2. probability of positive test given disease

Closure condition:
Pass 3 mixed problems without reversing the condition.

This is a much better framing than simply saying “wrong answer.”

It makes errors useful, memorable, and fixable.

Why this is powerful

Most students do not fail because they never saw the material. They fail because they repeat hidden misconception patterns.

DeepTutor could become exceptional at detecting and resolving those patterns.


First-Party Plugin Idea #3: Oral Exam / Tribunal Mode

A serious university-style assessment mode.

Not a game boss fight in a childish sense, but a simulated oral examination.

Modes

Friendly examiner
Strict examiner
Socratic examiner
Thesis-defense committee
Adversarial misconception hunter
Speed oral exam
Proof reconstruction exam

Example

The system says:

You claim to understand diagonalization. Defend that claim.

  1. Define diagonalizability.
  2. Explain why eigenvectors matter.
  3. Give one example of a matrix that is not diagonalizable.
  4. Connect this to solving systems of differential equations.
  5. Now explain it without using the word “basis.”

The plugin updates learner state based on:

  • correctness,
  • fluency,
  • confidence,
  • conceptual links,
  • ability to handle follow-up pressure,
  • ability to recover from mistakes.

This is much closer to real mastery than multiple-choice quizzes.


First-Party Plugin Idea #4: Forgetting Debt Radar

A dashboard that shows what the learner is “borrowing from the future.”

Instead of saying:

“You have 120 reviews due.”

It says:

“Your understanding of these 6 concepts is decaying and will likely affect next week’s topics.”

Example:

Forgetting Debt

High risk:
- Integration by parts → needed for Laplace transforms
- Matrix rank → needed for linear regression
- Conditional probability → needed for Bayes theorem

Medium risk:
- Taylor series
- Eigenbasis
- Big-O notation

Recommended 25-minute repair:
1. 5 min unaided recall
2. 10 min mixed problems
3. 5 min misconception check
4. 5 min explain-back

This avoids the anxiety of huge review queues and turns review into strategic maintenance.


First-Party Plugin Idea #5: Research Expedition Mode

For advanced students.

A research topic becomes an expedition map:

Base Camp: What do I already know?
Trailheads: Entry papers / chapters
Unknown Terrain: Concepts I lack
Landmarks: Key papers / theorems / models
Hazards: Common misunderstandings
Artifacts: Notes, diagrams, summaries
Return Briefing: Explain what I learned

The map changes as the student reads and asks questions.

This would fit DeepTutor’s Deep Research and Co-Writer features very well.


First-Party Plugin Idea #6: Concept Companions

This is inspired by creature-collection learning mechanics, but should be implemented in a non-copyrighted, mature, academic way.

Core idea

A concept becomes a companion whose behavior reflects the learner’s actual relationship with that concept.

Examples:

Bayes Theorem Companion
- Calm when the learner distinguishes P(A|B) and P(B|A)
- Confused when the learner reverses conditions
- Gains “clarity” when the learner can explain it verbally
- Gains “mobility” when the learner solves transfer problems
- Becomes “fragile” if neglected before an exam
Eigenvector Companion
- Has strong roots in computation
- Weak in geometric intuition
- Avoids PCA questions because transfer strength is low
- Requests a visualization session

No XP. No random rewards. The companion evolves from the learner model.

Possible companion dimensions

Clarity      = explanation quality
Stability    = retention strength
Flexibility  = transfer ability
Grounding    = prerequisite strength
Calmness     = confidence calibration
Resilience   = recovery after mistakes
Connectedness = links to other concepts

This would make progress emotionally visible without reducing learning to points.


First-Party Plugin Idea #7: The Failure Museum

A beautiful archive of past mistakes that have been fixed.

Most learning systems hide mistakes. DeepTutor should preserve them as proof of growth.

Example

Failure Museum

Exhibit: “The Bayes Reversal Era”
Date range: March 3–March 18
Pattern: Reversed conditional probability in 7 problems
Breakthrough moment: March 19 explanation session
Current status: Resolved
Maintenance: Review in 12 days

This is motivating because it shows the learner:

“I used to fail this. Now I don’t.”

That is more meaningful than a badge.


First-Party Plugin Idea #8: Syllabus Quest Map

A course syllabus becomes a navigable map.

But not a generic checklist.

Each node has:

required readings
lecture notes
practice tasks
concept dependencies
learner mastery
exam relevance
forgetting risk
open questions
generated quizzes
linked notebook entries

Example:

Calculus II Map

Week 1: Integration techniques
  - substitution: stable
  - integration by parts: weak transfer
  - partial fractions: not started

Week 2: Sequences and series
  - depends on algebra manipulation
  - recommended prerequisite repair: partial fractions

Week 3: Taylor series
  - depends on derivatives + series intuition
  - current readiness: 54%

This makes DeepTutor useful as a full semester planning system.


First-Party Plugin Idea #9: “Unlock by Explanation” Book Engine

DeepTutor’s Book Engine could become more interactive.

Instead of letting the learner passively read generated pages, a plugin can require active unlocks:

To unlock the next section, explain the current concept in your own words.
To unlock the advanced example, solve a simpler version first.
To unlock the theorem proof, reconstruct the proof outline.
To unlock the summary, answer three recall questions.

This avoids passive AI-generated content consumption.

The system should not punish the learner. It should simply guide them into active learning.


First-Party Plugin Idea #10: Calibration Mirror

A plugin that tracks the gap between confidence and actual performance.

Example

Calibration Mirror

You are well-calibrated in:
- derivative rules
- matrix multiplication

You are overconfident in:
- probability word problems
- asymptotic complexity

You are underconfident in:
- proof by induction
- explaining your code

Suggested session:
Before answering each question, predict confidence from 0–100%.
After grading, compare prediction vs result.

This is extremely useful because many students do not know what they do not know.


Non-goals

This feature should not become:

  • a generic XP system,
  • a mandatory game layer,
  • a leaderboard-first system,
  • a dopamine casino,
  • a cosmetic reward shop,
  • a childish UI forced on all users,
  • a distraction from actual learning.

All learning experience plugins should be optional.

The default design should be mature, academic, calm, and useful.


Design Principles

1. Mastery over activity

Do not reward:

time spent
number of messages
number of generated notes
number of clicks

Reward or reflect:

successful unaided recall
better explanations
fewer repeated misconceptions
transfer to new problems
improved calibration
prerequisite repair
long-term retention

2. Visible progress, not fake progress

The learner should see meaningful state changes:

“You repaired a misconception.”
“You connected two concepts.”
“You can now solve transfer problems.”
“You moved from recognition to recall.”
“You reduced overconfidence.”

Not:

“You gained 200 XP.”

3. Optional and modular

Some users want a serious dashboard. Some want a garden. Some want oral exams. Some want no gamified layer at all.

The plugin system should allow different learning styles.


4. Anti-cheese mechanics

The system should not be easy to exploit by spamming easy questions.

For example:

  • repeated easy recall should not create large progress,
  • hints should reduce mastery gain,
  • high confidence wrong answers should increase misconception tracking,
  • passive reading should not count as deep mastery,
  • copied answers should not count as unaided recall,
  • transfer problems should matter more than recognition tasks.

5. Respect learner autonomy

The system should suggest, not manipulate.

Avoid guilt language like:

You failed your streak.
Your plant is dying because you abandoned it.

Prefer:

This concept is becoming less retrievable.
A 10-minute repair session would stabilize it.

Suggested MVP

A realistic MVP could be small:

Phase 1: Learning Event Bus

Add internal learning events for:

  • question answered,
  • quiz completed,
  • hint requested,
  • misconception detected,
  • study session ended,
  • notebook entry saved.

Phase 2: Learner Model

Add concept-level state:

  • recall strength,
  • explanation strength,
  • transfer strength,
  • retention risk,
  • confidence calibration,
  • misconception tags.

Phase 3: Plugin Manifest

Allow learning plugins to:

  • subscribe to learning events,
  • store plugin state,
  • register UI widgets,
  • expose commands,
  • integrate with TutorBot check-ins.

Phase 4: First Demo Plugin

Ship one reference plugin:

Knowledge Garden

Minimum features:

  • concept cards,
  • weak concept detection,
  • misconception weeds,
  • next-session recommendation,
  • study session summary.

Phase 5: CLI + Export

Add:

deeptutor learning model show
deeptutor learning events export
deeptutor plugin enable knowledge-garden
deeptutor garden status

Example UX Flow

1. Student studies Bayes theorem

The student asks DeepTutor to explain Bayes theorem, then answers generated questions.

2. DeepTutor detects a misconception

The student repeatedly reverses conditional probabilities.

3. Misconception Case File is created

Case opened: Conditional Probability Reversal
Evidence: 3 errors across 2 sessions
Suggested repair: contrast P(A|B) vs P(B|A)

4. Knowledge Garden updates

Bayes theorem plant: growing but unstable
Conditional probability root: weak
Misconception weed: active

5. TutorBot check-in

The TutorBot says:

Before we continue with Bayes theorem, let's repair the root:
Can you explain the difference between sensitivity and positive predictive value?

6. Student passes repair

After several correct contrast problems:

Misconception weed removed.
Conditional probability root strengthened.
Bayes theorem transfer strength improved.

This is a meaningful “game loop” because it maps directly to learning.


Why this belongs in DeepTutor specifically

DeepTutor is unusually well-positioned for this because it already has:

  • persistent memory,
  • TutorBots,
  • Question Bank,
  • notebook system,
  • knowledge bases,
  • Skills,
  • multi-mode learning workspace,
  • visualization,
  • Book Engine,
  • CLI and plugin surfaces.

Most apps would need to build these foundations first.

DeepTutor already has them. What it needs next is a layer that makes them come alive over time.


Possible API Sketch

Plugin registration

from deeptutor.learning import LearningExperiencePlugin

class KnowledgeGardenPlugin(LearningExperiencePlugin):
    id = "knowledge_garden"
    name = "Knowledge Garden"
    version = "0.1.0"

    subscribes_to = [
        "question_answered",
        "misconception_detected",
        "study_session_ended",
        "concept_explained",
    ]

    widgets = [
        "garden_dashboard",
        "concept_plant_card",
        "session_growth_summary",
    ]

    commands = [
        "garden.status",
        "garden.inspect",
        "garden.repair",
        "garden.plan_next_session",
    ]

    def on_event(self, event, context):
        ...

    def render_widget(self, widget_id, context):
        ...

    def suggest_next_action(self, learner_model, context):
        ...

Event handling

def on_question_answered(event, state):
    concept = state.get_concept(event.concept_id)

    if event.correctness > 0.8 and event.hints_used == 0:
        concept.mastery.recall += 0.05

    if event.correctness < 0.5 and event.confidence > 0.8:
        concept.calibration.overconfidence += 0.1
        concept.spawn_misconception(event.detected_misconception)

    if event.transfer_problem:
        concept.mastery.transfer += 0.08

    state.save()

Acceptance Criteria

Core platform

  • DeepTutor emits structured learning events from Question Bank, Quiz Generation, Chat, Deep Solve, Book Engine, and TutorBot sessions.
  • Events include concept IDs/tags where available.
  • Events include enough metadata for plugins to distinguish passive reading, hinted answering, unaided recall, explanation, and transfer.
  • There is a learner model service that can store per-concept mastery signals.
  • Plugins can subscribe to learning events.
  • Plugins can store isolated state.
  • Plugins can register UI widgets in predefined slots.
  • Plugins can expose CLI commands.
  • Plugins can be enabled/disabled without corrupting core learner memory.
  • Plugin data can be exported and reset.

Knowledge Garden demo plugin

  • Shows concept health based on learner model.
  • Shows prerequisite weakness as root weakness.
  • Shows misconceptions as repairable “weeds.”
  • Recommends one concrete next study action.
  • Generates a study session summary after practice.
  • Integrates with TutorBot check-ins.
  • Does not use XP, coins, streaks, or generic badges.
  • Rewards demonstrated understanding, not raw activity.

Risks / Concerns

1. Complexity

DeepTutor already has many concepts: tools, capabilities, skills, TutorBots, memory, notebooks, Book Engine, and plugins.

A Learning Experience Plugin SDK should be carefully scoped and documented.

2. Privacy

Learning events can reveal sensitive study patterns. Plugin data should be local, exportable, and resettable.

3. Incorrect learner modeling

The system should avoid pretending it knows mastery perfectly.

Use language like:

estimated
likely
based on recent evidence
needs confirmation

not:

you fully know this
you have mastered this forever

4. Over-gamification

The system should remain academically serious. The best version of this feature should feel like:

a living study map
a reflective tutor
a personal knowledge ecosystem

not:

a mobile game pasted onto education

Additional Context

The inspiration here is the category of learning tools that make repeated study feel alive by turning review behavior into a persistent world. One example is Ankimon for Anki, where flashcard review is connected to catching, collecting, training, and battling creatures.

However, DeepTutor can do something more educationally meaningful than creature collection because it has richer signals:

  • natural language explanations,
  • AI-graded answers,
  • concept graphs,
  • TutorBot memory,
  • knowledge bases,
  • notebooks,
  • generated quizzes,
  • deep problem solving,
  • research workflows.

So instead of simply copying a “catch creatures while studying” mechanic, DeepTutor could generalize the idea into:

learning-state-driven worlds

Where the world changes based on actual understanding.


Summary

This request proposes:

  1. A Learning Event Bus.

  2. A Learner Model Service.

  3. A Learning Experience Plugin SDK.

  4. UI slots for learning plugins.

  5. CLI support for learning-state inspection.

  6. A first-party reference plugin such as Knowledge Garden.

  7. Future plugin ideas such as:

    • Misconception Case Files
    • Oral Exam / Tribunal Mode
    • Forgetting Debt Radar
    • Research Expedition Mode
    • Concept Companions
    • Failure Museum
    • Syllabus Quest Map
    • Calibration Mirror

The goal is to help DeepTutor become not just an AI that explains things, but a system that makes long-term learning visible, adaptive, emotionally engaging, and academically serious.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions