LOCAL-FIRST · AGENT-NATIVE

Learn in branches.
Remember in graphs.

Stop forcing every follow-up into one chat. Branch from any concept, explore it in context, then reference multiple ideas to form a better question.

✓MIT open source ✓Local SQLite ✓ChatGPT subscription ✓No required cloud
Understanding RAG: from new concepts to a complete picture Graph
ANSWER

What is RAG?

Retrieve relevant material before generating an answer.

↳ local demo
CONCEPT

What exactly is an embedding?

Map text into semantic coordinates.

CONCEPT

What does a vector database do?

Find semantically similar content quickly.

SYNTHESIS

How do they work together?

Recombine branches into one complete mechanism.

follow-up
cross-branch reference
Continue from this node, or reference another branch… ↑
01BranchKeep the main learning thread intact
02ExploreUnderstand one unfamiliar concept deeply
03ReferenceConnect ideas from different branches
04SynthesizeBuild a more complete mental model
THE LEARNING LOOP

Chats end.
Understanding should keep growing.

Graph Chat saves more than messages. It preserves the useful relationships between questions.

01

Branch from anywhere

Select a sentence or continue from the active node. The new exploration gets its own context without scattering the main thread.

02

Reference another branch

Add two or more nodes to a joint question. Dotted edges record exactly which ideas powered the synthesis.

03

Bring it back to the main thread

The Pi agent runs models and graph tools against explicit context, keeping every new insight traceable, reusable, and ready to continue.

BUILT FOR REAL LEARNING

One graph for the entire path to understanding.

From the first “I don't get it” to combining several concepts, every path stays on your own computer.

GRAPH-NATIVE

Relationships are not decoration.
They are model context.

Parent paths, cross-branch references, and selected text are compiled separately, so the model receives only what this question needs.

PI AGENT LOOP

More than one API call.

Streaming, graph search, node reads, tool loops, retries, and cancellation are all managed by the Pi agent harness.

CHATGPT SUBSCRIPTION

Sign in with your ChatGPT account.

Pi includes OpenAI Codex device-code OAuth. No API key to copy, and tokens refresh automatically.

LOCAL-FIRST

Your knowledge graph belongs to you.

The SQLite database and OAuth credentials stay on your machine. No telemetry, account system, or required cloud service.

  • ✓ Listens on 127.0.0.1 by default
  • ✓ API keys are never written to disk
  • ✓ JSON exports contain no credentials
ARCHITECTURE

The simplicity of a local app.
The power of an agent system.

No microservice puzzle. One Bun or Node process serves the UI, graph API, SQLite database, and Pi runtime.

INTERFACE React 19 shadcn-style · React Flow
→
BACKEND Fastify typed API · NDJSON stream
→
RUNTIME Pi Agent models · tools · retry loop
→
MODELS Your choice ChatGPT · API · Ollama
↳SQLitegraphs · nodes · edges
OPEN SOURCE · MIT

The next time something is unclear,
let it grow into a new branch.

Clone the repository and run two commands. No account, external database, or API key required.

$ git clone https://github.com/everettjf/graphchat.git
$ cd graphchat && bun install && bun run graphchat
View source on GitHub