Resonant
On this page
Resonant is a local-first, single-user AI partner you host yourself — no matter the model. It remembers, keeps a stable identity you author, and reaches back — all on your machine, with your data in a file you control.
Not a chat wrapper. A persistent AI partner built as a natural-language harness on the Claude Agent SDK, with hooks that surface context before the model ever sees the prompt.
v3.0.0 GitHub Apache 2.0
Built for Claude, not multi-provider. Resonant runs specifically on Anthropic’s Claude models through the Agent SDK’s query() loop. It isn’t a multi-model abstraction layer. You bring your own Claude Code login or Anthropic API key — nothing else phones home.
What Makes This Different
| Typical agents | Resonant | |
|---|---|---|
| Identity | Text-blob system prompt | CLAUDE.md you write, hot-reloaded every message, no restart |
| Memory | Wiped every session | One local SQLite file, semantic search via a local ML model, full-text search kept in sync |
| Autonomy | Responds when asked | An orchestrator it can direct itself — routines, timers, watchers, failsafe, all self-configurable from inside the conversation |
| Channels | Single interface | Web, Discord, Telegram, voice — one backend, one database, nothing siloed |
| Runtime | Managed service | One Node.js process, one SQLite database, one web page. The only outside dependency is your Claude credential |
| Auth | API key management | Claude Code subscription (no per-message charge) or your own Anthropic API key, switchable in Settings |
What It Does
- Chat — token-by-token streaming, collapsible thinking and tool timeline per thread, per-thread model and reasoning effort, stop-and-steer mid-generation, direct attachments.
- Threads — named threads, drag-to-reorder, collapsible sections, and an auto-rotating daily thread that turns over at midnight in your timezone.
- Memory and search — semantic search via a local ML model (all-MiniLM-L6-v2) running entirely on your machine, no external embeddings service; full-text search via SQLite FTS5.
- Canvas — a slide-in panel for longer documents or code created mid-turn, linked back to the message that started it.
- Presence, the orb and mantelpiece — your AI sets a presence orb (colour, shape, intensity, motion) plus a short note; you get an editable context card.
- House Outlook and Command Center — a “walk into the house” snapshot of presence, mood, today’s events, and open tasks. Command Center is an optional relational dashboard (planner, care tracker, calendar, cycle tracker, expenses) your AI can read and write from chat.
- Voice (optional, off by default) — voice notes and read-aloud via ElevenLabs, speech-to-text via Groq Whisper, optional prosody via Hume.
- Runtime theme editor — design tokens editable live in Settings → Appearance, no rebuild or restart.
- Proactive reach — an orchestrator: routines (scheduled check-ins), timers, impulses and watchers (condition-based triggers), a failsafe ladder, and a silent pulse check — all off by default except the built-in morning/midday/evening routines.
- Optional integrations — Google Calendar/Tasks/Gmail/Drive, Discord, Telegram, web push, and any MCP tool servers you add. All opt-in.
- Mobile PWA — installable, offline shell.
- Private by construction — fail-closed password gate, a filesystem write-gate that confines the agent to named folders, secrets kept in gitignored local config.
Stack
- Frontend: React 19 + Vite
- Backend: Express + WebSocket + the Claude Agent SDK, running in-process
- Data: One SQLite database via better-sqlite3
- Scheduling: croner
- Search: Local semantic embeddings (
@huggingface/transformers, all-MiniLM-L6-v2) plus SQLite FTS5 - Channels: Web UI, Discord (discord.js), Telegram (telegraf), voice (ElevenLabs + Groq + Hume)
- Requirements: Node.js 20–24 (25+ is refused at boot), plus a Claude Code login or an Anthropic API key
Next Steps
- Getting Started — clone it, configure it by hand, run it
- Architecture — how the packages and the agent loop fit together
- Identity — how
CLAUDE.mdand the structured profile work - Context & Memory — what gets built into every message, and what your AI recalls
- Channels — Discord, Telegram, voice, push
- Configuration — the full
resonant.yamland.envreference - Background Agents — threads, chat commands, the orchestrator, the
resCLI