AI chat where every conversation is versioned, branchable, and searchable — powered by AgentStateGraph.
SvelteKit + FastAPI + Rust · Self-host in 60 seconds
Features
Every message is a branch point. Click to fork and explore "what if I'd asked differently?" without losing the original thread. Branches are O(1) — instant creation, instant discard. Compare approaches side by side, then commit the winner.
Every message exchange is a versioned commit with intent, reasoning, and confidence metadata. Query by "why," not just "what." Blame any value to see who changed it, when, and with what reasoning. Powered by AgentStateGraph.
Code blocks with syntax highlighting, tables, headings, lists, links, blockquotes — all rendered inline. Paste images, drop files. Works with Claude, GPT, Gemini, Grok, and local models via Ollama.
Connect MCP servers with one click — filesystem, GitHub, SQLite, web search, and 100+ more. The AI reads files, runs commands, and queries databases. Full agentic loop with automatic tool dispatch and result integration.
src/. The project has a standard SvelteKit structure.Bring Your Own Key
Architecture
Comparison
| Feature | Typical AI Chat | ThreadWeaver |
|---|---|---|
| Branching | ✗ Linear scroll only | ✓ Fork from any message |
| Provenance | ✗ No history metadata | ✓ Intent, reasoning, confidence per commit |
| Search | ✗ Ctrl+F at best | ✓ Full-text across all conversations |
| Notebook | ✗ Copy-paste | ✓ Tag, comment, branch from highlights |
| Tool calling | ✗ Chat only | ✓ MCP servers + agentic loop |
| Projects | ✗ Flat list | ✓ Group related chats with shared context |
| Multimodal | ✓ Some providers | ✓ All 6 providers + paste/drop |
| Self-hosted | ✗ Cloud only | ✓ Docker, ARM64, your data stays yours |
| BYOK | ✗ Subscription required | ✓ Bring your own API keys |
Get Started
docker compose up -d
Backend + frontend, one command
docker compose -f ... up -d
Add local models (Llama, Mistral, Qwen)
pip install && npm run dev
ARM64 / Jetson / PicoClaw ready
Powered By
Tamper-evident epoch — every commit hashed, the chain verifiable offline