Skip to content
Joh Flow흐름
The Second Brain · embedded RAG

Agents that already know you.

A per-user knowledge base embedded in JohFlow. Every install gets its own brain over its own data — no Docker, no database server, no API key. Agents launch already knowing your preferences, conventions and past decisions, so you stop re-typing the same context into every prompt.
Why it exists

Stop teaching every agent from scratch.

Without a brain, every agent starts amnesiac. You re-type your preferences, your conventions, your past decisions into every prompt — and it still forgets next time.

The brain fixes that. When you launch an agent on a task, the app queries the brain with that task and prepends what matters. An agent told “import this video into Resolve” starts already knowing that this user's Resolve needs DNxHR MOV with PCM audio.

brain_search — ~1ms, no LLM
Ink spreading through water — the second brain's retrieval spreading through your knowledge.
Architecture

One table, many sources, hybrid retrieval.

Every connector writes the same row shape, so adding a source never touches retrieval. Lexical catches exact tokens; vector catches paraphrase. Neither is trusted alone.

JohFlow data
tasks · workspaces
Agent runs
history
Notes
standing knowledge
Connectors
ingest.rs
docs
store.rs · one table
Lexical
FTS5 + IDF
Vector
sqlite-vec
RRF · decay · dedup
top-N · K=60
context.rs
agent prompt
Inside the brain

Designed to ship inside a desktop app.

One table, many sources

Tasks, workspaces, agent runs and notes all write the same row shape. Add a source as a connector and retrieval never changes.

Hybrid retrieval

Lexical (FTS5 + IDF) catches exact tokens — error strings, flags, paths. Vector catches paraphrase. RRF at K=60 fuses them so consensus beats one strong vote.

LLM-free primitives

Retrieval, fusion and ranking run with no model in the loop — about a millisecond — so the app owns orchestration and works with no network.

Two security gates

Ingest redacts values under credential-shaped key names; injection scrubs known literal prefixes (sk-, ghp_, xoxb-…) pasted into free text. Both are tested.

Context you can trust

Injected evidence is wrapped in <context> tags and explicitly labelled notinstructions, so retrieved text can't impersonate the user.

SQLite, not a server

Built on the Cerebras knowledge-base architecture, with one deliberate change: theirs serves a company from Postgres; this ships inside a desktop app on SQLite + sqlite-vec.

Honest status

What's done, and what isn't yet.

The retrieval primitives are complete and are the right foundation. A few things are still being wired:

  • Vector index is live but not yet populated — retrieval is lexical-only until a local embedder is plugged in
  • No reranking or synthesis step yet — that needs a model
  • Agent runs aren't auto-ingested yet; the injection point is wired and documented

46 unit tests cover the store, retrieval, redaction and injection paths.

brainContextFor()
Line-art portrait resolving out of black ink — the brain assembling context out of your data.

The brain ships inside JohFlow.

It isn't a separate product — it's the memory your agents share. Install JohFlow Desktop and the brain is already there, over your data, on your machine.