kora documentation
kora is an open-source memory engine for AI agents. It stores what an agent learns as a graph of typed memories, retrieves them by meaning rather than by keyword, and runs entirely on infrastructure you control. It is Apache 2.0 licensed, built on PostgreSQL with Apache AGE and pgvector, and deployed with a Helm chart.
These pages are rendered from Markdown in your browser. If you are reading this paragraph, that has not happened yet - either scripts are blocked, or the page is still loading. Every document below also exists as plain Markdown in the repository and needs no JavaScript at all:
- Introduction, install, and quick start - what kora does, how to run it with Helm, Docker Compose, or kind, and the first memory you store.
- Architecture - the ingest pipeline, the hybrid query path across graph and vector search, the consolidation job, and how the pieces sit in a cluster.
- Development workflow - building from source, running the tests, the branching model, and how a release is cut.
- Contributing - setting up an environment and opening a pull request.
- The repository - the source, the issues, and the design discussions, all public while it is being built.
The ideas
Four terms cover most of how kora thinks about memory, and they are stable even while the API is not.
- Memory
- A single thing worth remembering: a fact, a preference, or something that happened. Extracted from conversation rather than written by hand, and typed as semantic, episodic, or procedural.
- Relationship
- A typed, weighted, directed link between two memories. One memory can supersede another, be caused by another, or simply relate to it.
- Supersede
- What happens when new information contradicts old. The old memory is not deleted, it is marked as no longer current, so the history stays queryable and you can ask what was believed and when.
- Profile
- The accumulated picture of a user or project: the stable facts and preferences, and what has been happening recently.