Heinrich Khunrath's Alchemist's Laboratory, 1595: a hall split between a study of books and a furnace of glassware, with instruments laid across the table between them.
Local-first agent runtime

Knowledge
makes agents
better

Your notes, sessions, and wikilinks form a knowledge graph that agents draw from and contribute to. Local-first. No cloud. No lock-in. All plaintext.

Install curl -fsSL https://github.com/Mootikins/crucible/releases/latest/download/crucible-cli-installer.sh | sh
In the terminal

Ask, and the graph answers

Precognition pulls the relevant notes into context before the model sees your question. Nothing to wire up — it reads the kiln you already have.

A Crucible terminal session: the dim line above the answer names the notes precognition pulled — Precognition, Semantic Search, and The Knowledge Graph with their match scores.
Why Crucible

Memory should not be an afterthought

Most AI tools treat conversations as disposable. Crucible makes them the foundation of a graph that keeps growing.

Knowledge-grounded

Precognition injects relevant context before each turn. The more you use it, the more your agents know.

Sessions are notes

Every chat saves as markdown. Search it, link it with wikilinks, commit it. Conversations become knowledge.

Bring any model

Ollama, OpenAI, Anthropic, or a local checkpoint. Swap providers without touching your notes.

Lua and Fennel plugins

A Neovim-like architecture. Script behaviour, add tools, intercept calls. Configuration as code.

Semantic search

Block-level embeddings give paragraph-granularity recall across the whole kiln, not just filenames.

Agent delegation

Hand work to Claude Code, Cursor, or Gemini CLI over the Agent Context Protocol — with your graph attached.

How it compares

Built different

Local-first PKM and a full agent runtime, in one binary.

Capability Crucible ChatGPT Obsidian + AI OpenClaw
Local-first Yes No Yes Yes
Sessions as markdown Yes No No No
Knowledge graph Yes No Yes No
Bring your own model Yes No Partial Yes
Plugin system Lua / Fennel No JavaScript TypeScript
MCP server Yes No No No
Semantic search Block-level No Plugin No
Agent Context Protocol

Delegate across agents

Start a session with Claude Code, Cursor, or Gemini CLI and let it work with full access to your knowledge graph. Depth limits and tool allowlists stay yours to set.

How delegation works
Crucible delegating a task to Claude Code and streaming the results back into the session.
Quick start

Three commands to get going

First run detects your providers and asks where your kiln lives. A background daemon handles the rest.

$cru chat# start a session
$cru chat -a claude# use Claude with your kiln
$cru mcp# serve the graph over MCP