Skip to content
K Krynex Labs
Source-available · FSL-1.1-ALv2

Cyberbrain Light

The same memory as Cyberbrain, with nothing to set up. Notes stay plain Markdown in your repository, search is by keyword, and every hit carries a citation that resolves back to the block it came from. Five megabytes, no model, no service, no network.

On crates.io · v0.2.1
$ cargo install cyberbrain-light

The crate is cyberbrain-light, the binary it puts on your path is cbl. If you would rather not build it, the v0.2.1 release carries binaries for Linux and Windows with a checksum file to verify them against. Nothing else is needed at runtime.

View on GitHub
cbl recall · example output
$ cbl recall 'postgres data directory'
1. r2-867ef2a8cd01  r2  pg18-moves-pgdata  (100% of top)
     # PostgreSQL 18 moves PGDATA
     The official postgres:18 image puts the data directory at
     /var/lib/postgresql/18/docker instead of /var/lib/postgresql/data ...
caveat: search is lexical: it matches the words in the text, not the meaning.

The caveat is not an apology, it is the contract. Light searches for words, and says so on every result, so nobody builds on a search that did not happen.

What it gives an agent

Notes that outlive the session

One Markdown file per note, in your repository, readable and greppable without this tool. The index is derived and can be deleted at any time.

A citation on every hit

Each result carries an identifier such as r2-867ef2a8cd01 that expands to the exact block it came from. An answer without one is a bug, not a degraded result.

Rings that decide who wins

Notes live in numbered rings. Rings 0 and 1 are the operator's and ride along in every session under a token cap; the agent starts knowing the rules instead of rediscovering them.

A hook and an MCP server

The session-start hook injects the resident rings, at most the 10,000 characters Claude Code shows in full, and names any note that did not fit. cbl mcp exposes recall, expand and write to any client that speaks the protocol, in its current revision and the earlier ones.

What it costs to run

The whole point of this product is that this table is boring. It runs on the machine you already have, and it runs in milliseconds because there is no model to load.

the binary
5.0 MB
a search
3 ms · 8 MB of memory
the session-start hook
2 ms · 6 MB
rebuilding the whole index
0.7 s
on disk
your notes, plus 18 MB of index

Measured on 6 September 2026 against a real store of 1,007 notes and 4,034 blocks, on a server with no GPU. The times include process start, because that is what a hook actually pays.

What is not in it

Light is defined as much by what it leaves out. None of this exists here, and none of it is coming: that is what the other product is for.

no semantic search no model to place no contradiction check no egress register or audit chain no PII gate no web page no telemetry no network access at all

The last one is not a setting. There is no networking crate in the dependency graph — 87 crates, none of them able to open a socket — and the binary runs unchanged inside a network namespace with no network in it.

Light or Cyberbrain

Two products, one store format. Pick by what you need to prove to somebody, not by what sounds bigger.

LightCyberbrain
search keyword (BM25) keyword and meaning, fused
model none a static embedding artefact you place yourself
memory while searching 8 MB 584 MB
contradiction check — against a local inference endpoint
GDPR and EU AI Act artefacts — erasure, subject access, audit chain (signed if you want), PII gate, obligations
speech to text — through a whisper.cpp server on your own machine
web page — built into the binary, English and German
binary 5.0 MB 19.9 MB
The full Cyberbrain →

The rings

The number is a claim about trust, and it is what settles a contradiction.

ringwhat belongs thereevery session
r0 operator invariants, hard rules yes
r1 operating protocol, handoff state yes
r2 project knowledge on recall
r3 session records on recall
r4 imported or unverified material on recall

Rings 0 and 1 belong to you. The MCP write tool refuses them and tells the agent to propose the text instead.

Four ways in, one binary

Command line
cbl recall …

init, write, scan, recall, forget, status and doctor, with --json on all of them.

Agent hook
cbl hook session-start

Injects rings 0 and 1 at the start of a session, within what Claude Code shows in full.

MCP server
cbl mcp

recall, recall_id, write and status over stdio, for any client that speaks the protocol.

Installer
cbl install

Writes the hook into a project's .claude/settings.json with a timeout, leaves foreign entries alone, and undoes itself.

Start here, move up without losing anything

Light and Cyberbrain share the store: the same directory, the same Markdown, the same rings, the same citations. Install the full product later and one scan picks up every note you already wrote. Light keeps its three settings in light.toml and never touches the full product's config, so a store used by both keeps two independent configurations. This was tested in both directions, not assumed.

Licence

FSL-1.1-ALv2. The source is available, and you may use it for anything except building a competing product. Two years after a release ships, that release becomes Apache-2.0.

FAQ

How is this different from Cyberbrain?

Light searches for words; Cyberbrain also searches for meaning, using a static embedding model you place yourself. Light has no compliance subsystem: no egress register, no audit chain, no PII gate, no erasure record, no obligation catalogue. Everything else — the notes, the rings, the citations, the hooks, the MCP server — is the same, and so is the store.

Does it need a model?

No, and there is nowhere to put one. Search is SQLite FTS5 over the words in your notes. That is why a search costs three milliseconds and eight megabytes instead of seconds and gigabytes.

Does anything leave my machine?

No. There is no networking crate in the dependency graph at all, so there is no code in the binary that could open a connection. It runs unchanged with the network taken away.

Which agents does it work with?

Anything that speaks the Model Context Protocol, and Claude Code through a session-start hook that cbl install writes into .claude/settings.json. Everything is also reachable from the command line with --json, so a script can use it too.

Can I move to the full Cyberbrain later?

Yes, and nothing is lost. Both products use the same store: install Cyberbrain, run one scan, and your notes are there with their ids and citations intact.

What licence is it under?

FSL-1.1-ALv2. Source-available; use it for anything except building a competing product. Each release becomes Apache-2.0 two years after it ships.

Give it a corpus

It has been run against one operator's real notes and not much else. If you have a corpus you would like it run against, or something your case needs and it does not do, say so — that is what decides what comes next.