Every conversation with a language model ends the same way: the context window closes, and everything the model just learned about you disappears. Zuse is built around a refusal of that reset. What it learns, it keeps — in a file you can read, inspect, and delete.
The store lives at ~/.zuse/knowledge.jsonl.
One line per entry, three kinds of knowledge:
preferences — how you like things done,
facts — what is durably true about your machine and projects,
procedures — how a task was solved, so it can be solved again.
Memory is only useful at the right moment.
So recall happens before the task, not after the question:
when you ask Zuse for something, it first pulls the entries
most relevant to what you are about to do —
by keyword overlap, or by local embeddings when Ollama is around.
The embeddings are an enhancement, never a requirement.
Writing happens on two paths.
The active one is a tool: the agent decides something is worth keeping
and calls remember.
The passive one is reflection — after work is done,
Zuse looks back at what happened
and quietly stores what would help next time.
A memory that only grows becomes noise.
So entries deduplicate against what is already known,
usage counts record what actually gets recalled,
and maintenance merges what drifted apart.
And because memory about you should answer to you,
the controls are one word each:/memory shows everything Zuse knows./forget erases it.--no-learning turns the whole thing off.
None of this is spectacular on any single day.
It compounds.
The tenth session knows what the first one had to be told —
and that is the difference between a tool you operate
and an agent that works with you.
Zuse is open source — MIT licensed.
The memory lives in a file. It is yours.