A knowledge ledger for humans and AI agents.
Your assistants keep forgetting what you told them, and each new one starts from
nothing. Knoverge is the shared, self-hosted place they read from and propose to —
with history, provenance and review, and nothing an agent writes becoming canonical
without a rule that says so.
Source on GitHub
How to run it
Apache 2.0 · one container plus PostgreSQL · works with no AI provider configured
What it is
A knowledge base your agents connect to over
MCP, and you read in a browser. It records
who wrote what, keeps every version, asks a person before an agent changes anything,
and tells a newly connected agent what the workspace already knows so it does not
write it all down again.
It is self-hosted because knowledge about your work is not something to hand to
somebody else's service, and it contacts nothing you have not configured.
Four things that make it different
The knowledge outlives the product
Every item is a Markdown file with YAML frontmatter in a Git repository, filed
under its category, one commit per change. Clone it and read it in any editor.
If Knoverge disappeared tomorrow, what you wrote would still be there and still
make sense.
Agents propose, people decide
A connected agent gets read, search and propose. Writing directly takes an
explicit permission and a policy rule that allows it — and without one,
every agent write goes to a review queue, including agents you trust.
Every change is attributable
Each write records the actor, the agent identity, the client, the model when it
is known, the request, the sources it rested on, and the revision it was based
on. The audit ledger is append-only and hash-chained, so a change nobody made
cannot appear in it.
It works without an LLM
Knowledge, history, review, permissions, reconciliation, exact and full-text
search, MCP and HTTP all work with no AI provider configured. Embeddings,
summaries and image or audio understanding are additions, not requirements.
Run it
One application container and PostgreSQL. No Redis, no Kafka, no object storage.
git clone https://github.com/gynsus/knoverge.git
cd knoverge
cp .env.example .env # set the password and three secrets
docker volume create knoverge-postgres
docker volume create knoverge-data
docker volume create knoverge-backups
docker compose up -d
The three volumes are made by hand on purpose: declared external, they are the
ones docker compose down -v cannot take with it.
Then open http://localhost:3000, create the first administrator, and
point an agent at /mcp. ChatGPT and Claude.ai connectors sign in through
the built-in OAuth server; Claude Code and anything else use a token you issue.
Where it is
Early, and honest about it. Knowledge, review, reconciliation, hybrid search,
provenance and temporal claims, summaries and digests, files and media, export and
import, the OAuth server for hosted connectors, and the copies an installation takes
of itself — on a schedule you give it, kept for as many days as you say, and sent on
to one SSH machine when you name one — are built and released. Knowledge gardening
is neither. The
changelog
says what each release contains, and the
documentation
says how it is built and why.
Releases
Architecture