DeepTutor: an AI tutor whose memory of you is files you can open

2 months ago

Every assistant that remembers you is keeping notes about you. You cannot ask where any of it came from. DeepTutor is a tutor you run on your own computer. It keeps notes about you as you work, so it does not start over every time you come back. Those notes are plain files on your own disk. You can open every one of them.

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00DeepTutor · a tutor you run yourself, whose memory of you is files you can open
  2. 0:15DeepTutor is a study app that runs on your own computer
  3. 0:30The memory is three layers, and you can open any of them
  4. 0:45The memory is folders of plain files on your own disk
  5. 1:09Ordinary code decides which facts get written
  6. 1:39Click a fact and the app shows you the work behind it
  7. 1:58You can read, fix, or erase the pages DeepTutor wrote about you
  8. 2:12You can install it in one line, or in three commands
  9. 2:29What an assistant remembers about you can be a file you own
Show transcript

DeepTutor · a tutor you run yourself, whose memory of you is files you can open

GitHub Trending · Ep 32 · Aug 12, 2026
Your AI keeps notes about you.

DeepTutor

a tutor you run yourself, whose memory of you is files you can open
Written in Python Apache-2.0 license, free to use Runs on your own machine

Every assistant that remembers you is keeping notes about you. You cannot ask where any of it came from. DeepTutor is a tutor you run on your own computer. It keeps notes about you as you work, so it does not start over every time you come back. Those notes are plain files on your own disk. You can open every one of them.

DeepTutor is a study app that runs on your own computer

DeepTutor is a study app that runs on your own computer.

one workspace for your questions, your quizzes, and your own documents
Memory · what it knows about you
From the project’s own screenshots

Ask DeepTutor a question and you get an answer. Ask for a quiz and DeepTutor writes you one. Hand over your own documents and DeepTutor reads them, then answers out of them. While you work, DeepTutor keeps a picture of what you are learning. And that picture has a room of its own in the app, called Memory.

The memory is three layers, and you can open any of them

The memory is three layers, and you can open any of them.

From the project’s own screenshots
a mirror of your work the facts drawn out of it the picture on top

Most assistants keep a picture like that to themselves. DeepTutor gives it a screen. Three layers. The bottom one mirrors the work you actually did. The middle one holds short facts drawn out of that work. The top one pulls everything together into a picture of you.

The memory is folders of plain files on your own disk

The memory is folders of plain files on your own disk.

snapshot/<surface>/state.json + changes.jsonl trace/<surface>/<YYYY-MM-DD>.jsonl
your work, and
what changed
L2/<surface>.md
the facts
L3/<recent|profile|scope|preferences>.md
the picture
the seven parts it watches
Chat Notebook Quiz Knowledge base Book Partner Co-writer

You could open these folders in any file browser. The bottom layer mirrors your workspace, with one entry for every piece of work in it. Every chat, every notebook page, every quiz. Beside that mirror sits a dated log of what changed and when. Above that, one page of short facts for each part of the app. Seven parts, from chat to quizzes to the documents you load in. And on top, a few pages that pull all seven together into a picture of you.

Ordinary code decides which facts get written

Ordinary code decides which facts get written.

the AI proposes them, and every proposal has to point at your own work
One part of the app, the entries it has not read yet
oldest first · laid end to end · cut into pieces
=== @entity chat:<id> === ref: chat:<id> label: <title> ts: <timestamp>
Only the entries inside this piece may be cited.
The AI proposes.
fact 1→chat:a1f…
fact 2→chat:9c2…
fact 3→no pointer
It proposes. It does not write.
The check.
validate_fact_refs()
Does the pointer name something in this piece?
Is anything left after the ones that do not?
ordinary code · no model involved
What lands.
✓fact 1→L2/chat.md
✓fact 2→L2/chat.md
✗fact 3·missing refs
enforce_required = True · drop_invalid_refs = True
on by default

You would assume the AI decides what it remembers about you. The AI only proposes. The AI reads back through your own work and suggests facts about you. Every fact has to point at the exact things it came from. This chat. That notebook page. Then a few lines of ordinary code check those pointers against the stretch of your work the AI was shown. It asks one question: does this note point at something you actually did? A fact that points at nothing gets deleted. A fact whose pointers all turn out to be from somewhere else gets deleted too. And this is how DeepTutor behaves the moment you install it.

Click a fact and the app shows you the work behind it

Click a fact and the app shows you the work behind it.

From the project’s own screenshots

“L3 synthesis at the centre, L2 facts in the middle ring, L1 traces on the outside.”

the picture of you the facts your own work
Every fact carries a pointer to the work it came from.

DeepTutor can draw the whole memory as one map. The picture of you sits at the centre. The facts the app wrote about you sit in the ring around it. Your own work sits on the outside. Click a fact and the app lights up the exact pieces of your work behind it. A fact can still be wrong. Now you can check it against the work it came from, and judge it yourself.

You can read, fix, or erase the pages DeepTutor wrote about you

You can read, fix, or erase the pages DeepTutor wrote about you.

deeptutor memory show
the pages it wrote about you
deeptutor memory clear
erase them, or just one part of the app
Fixing a line it got wrong happens in the app itself.

Since the memory is files, the ordinary things you do to files apply. One typed command prints the pages DeepTutor wrote about you. Another erases those pages and the raw record behind them. And if one line about you is wrong, you can open that page in the app and fix it.

You can install it in one line, or in three commands

You can install it in one line, or in three commands.

one ready made bundle
docker run --rm --name deeptutor \ -p 127.0.0.1:3782:3782 -v deeptutor-data:/app/data \ ghcr.io/hkuds/deeptutor:latest
into an existing Python setup
pip install -U deeptutor deeptutor init deeptutor start
The Python path also wants Python 3.11 to 3.13 and Node.js 20 or newer already on your machine.
You point it at whichever AI you already use, including one running on your own machine.
Written in Python Apache-2.0 license, free to use Runs on your own machine
v1.5.11 · released Aug 9, 2026 · opens at 127.0.0.1:3782

DeepTutor runs on your own machine. Grab the ready made bundle and one line starts it. Install it as a package instead and it is three commands, plus a couple of other tools you need in place first. Either way, you point DeepTutor at whichever AI you already use, including one running on your own computer. You supply that part.

What an assistant remembers about you can be a file you own

What an assistant remembers about you can be a file you own.
github.com/HKUDS/DeepTutor
new repo tomorrow

What an assistant remembers about you can be a file you own, with a pointer to the work behind every line. You can read it, trace any line back to the work it came from, and erase it. The link is on screen, and there is a new repo here tomorrow.