What is Cradle?
Cradle is a harness system for local LLMs — an orchestration and control layer with two-tier risk gating and human approval, not just an agent.
Not just an agent — a harness system
Most "local AI agent" tools hand a language model a prompt and forward whatever comes back. Cradle is different: it is a harness system. The language model is the engine, but the value is in everything wrapped around it — an orchestration and control layer that decides which agent answers, grounds the answer in your own documents, gates every reply through a two-tier risk system, and routes anything uncertain to a human operator before it reaches the outside world.
Nothing leaves the perimeter without passing through that harness. That is the whole point: on-premise, offline-capable, auditable AI you can actually put in front of real customers and real data.
What Cradle does
Cradle ingests messages from chat channels (Telegram, an embeddable web widget, or a plain HTTP API), triages each one, drafts a grounded reply with a local LLM, and either sends it automatically or parks it for operator approval:
Incoming message
→ Risk L1 (deterministic rules) → PII / injection / danger flags
→ Risk L2 (LLM classifier) → { category, risk, confidence, skills }
→ Router → picks the agent by role + skills
→ RAG → grounds the draft in your knowledge base
→ Agent → drafts a reply with citations
→ Decision:
green → auto-reply
yellow / red → operator Inbox → approve / edit / reject → sendEvery step is recorded: risk assessments, the exact source chunks cited, cost per ticket, and an API audit log. The result is a verified answer with a full paper trail — not an opaque model output.
The pillars of the harness
- Two-tier risk system (СУР). Layer 1 is deterministic rules (drop-table
patterns, credentials, PII → red/yellow). Layer 2 is an LLM classifier that
returns a structured
{category, risk, confidence, reasoning, requiredSkills}verdict. Red and yellow never auto-send. - Human-in-the-loop approval. Uncertain replies land in an operator Inbox where they can be approved, edited, or rejected before the channel ever sees them.
- Retrieval-augmented grounding. Answers are grounded in your own documents
via a local vector search (
sqlite-vec) with inline citations — no external API, no data leaving the box. - Fully local inference. Models run through
node-llama-cpp(llama.cpp). After the models are downloaded, Cradle works completely offline. No Ollama, no cloud endpoint required. - Auditability by construction. Risk log, source citations, cost events and API-key usage are first-class tables, not add-ons.
The three components
| Component | What it is | Role |
|---|---|---|
| Cradle (desktop app) | The Electron client | The console: configure connectors, review and approve results. Does not run inference itself. |
Cradle Server / cradle-cli | Headless cradle-server + thin CLI | The brain: holds data, connectors, and runs inference. |
| SmartNotes | Voice-triggered note capture | Talk while you work; SmartNotes structures notes and can submit issues into Cradle. |
Where to go next
- New to Cradle? Install the desktop app.
- Running a GPU box? Follow the GPU server guide.
- Want the mental model? Read the architecture overview.
- Offering Cradle as a service? See Cradle as a datacenter service.
- Using the voice note companion? Read the SmartNotes docs.