MemoDocumentation
EN

What is Memo?

Memo is a local-first, privacy-focused AI second brain. It runs large language models on your own hardware, remembers everything through a semantic vector store, and never sends your data to anyone — ever.

Core Philosophy

"Your mind, unbound. Your data, sovereign."

Memo operates on three principles:

  1. Privacy by construction — Zero telemetry. No training on your chats. No cloud dependency. Encrypted backup only if you opt in.
  2. Real memory, not a longer prompt — Every interaction is embedded and indexed. Relevant context is retrieved automatically — you don't manually curate what Memo remembers.
  3. Best of both worlds — Run chat through a powerful cloud API while a tiny local model handles embeddings — or stay 100% offline. Your call, per model, per conversation.

What Memo Does

AI Chat

Converse with any supported LLM. Switch models mid-conversation with /model. Streaming responses via SSE. Incognito mode for conversations that leave no trace.

RAG Memory Engine

Every interaction (yours and the assistant's) is chunked, embedded, and stored in a SQLite + sqlite-vec vector database. Before each response, Memo retrieves the most semantically relevant memories and injects them into the prompt — without you asking.

  • Hybrid search: Vector (cosine similarity) + FTS5 full-text, merged with Reciprocal Rank Fusion
  • Message chunking: 300-word chunks with 50-word overlap
  • Combined embedding: User message + assistant reply embedded together
  • Importance scoring: Memories promoted by retrieval frequency, decayed when unused
  • Daily consolidation: Near-duplicate embeddings merged automatically

Agent Mode

Memo can take actions — read and write files, run shell commands, search the web, manage WhatsApp conversations. 12+ built-in tools run in a sandboxed pipeline with per-tool timeouts, symlink protection, and a 6-policy permission system.

Orchestra Mode

Split complex tasks across multiple models working in parallel. A "chief" model plans the work, 8 specialist roles execute concurrently, and the chief synthesizes the result. Assign different providers per role — Claude for reasoning, Gemini for speed, a local model for code generation.

Multi-Provider Architecture

Support for 9 external AI providers — OpenAI, Anthropic Claude, Google Gemini, xAI Grok, Groq, OpenRouter, Ollama, OpenCode Zen, and OpenCode Go. Configure fallback chains (order by priority). API keys encrypted with AES-256-GCM. Auto-disable unhealthy providers with background health checks.

Built-In llama.cpp

A bundled, fully managed local inference runtime. Auto-download on first use. GPU offloading for NVIDIA (CUDA), AMD (ROCm/Vulkan), and Apple (Metal). VRAM detection and hardware-fit badges for every model download.

WhatsApp Bridge

QR-pair your WhatsApp account via whatsmeow. Read, search, and reply to messages from within Memo. AI drafts responses and summarizes threads. Profile photos, group names, auto-reconnect. All messages stay local.

Proactive Learning & Ambient Nudges

Intent extraction from conversations detects plans and habits. Calendar events are created automatically from phrases like "yarın saat 11 halısaha". Two-stage pipeline (keyword pre-filter → LLM classification) avoids wasting inference on routine chatter. Beyond calendar/habit extraction, Memo now notices usage patterns and gently surfaces them — on by default (subtle level), woven naturally into a reply or raised as a suggestion banner (Yes / Not now / Stop asking). A directly-stated habit ("I code every night around 9") is trusted immediately rather than needing repeated statistical confirmation. Fully disabled under Incognito, and under Minimal Mode unless specifically re-enabled.

Routines

Settings/sidebar → Routines lets you schedule something for Memo to do on its own, in plain language, as a simple prompt or a full tool-using agent run. Works on desktop and mobile (real pre-scheduled local notifications on mobile). Fires against your device's own timezone, resynced on every reconnect so travel or DST doesn't leave it stale.

Self-Insight (/insight)

Ask directly, or let a Routine ask weekly, and Memo looks back over recent mood history and memory to describe any real pattern it's noticing — instructed not to invent one if there isn't enough signal.

Memo Swarm (Beta)

Sidebar → Swarm (after enabling Settings → Beta Features) pools several PCs' compute to run one GGUF model too large for any single machine. One PC hosts the model and shares a room code; others join and lend compute without downloading the model themselves. Goal is capacity, not speed. Not yet available on macOS.

Developer API Gateway

Sidebar → Developer exposes an Anthropic-compatible local endpoint so tools like Claude Code can run against your own local model or your own provider API key via ANTHROPIC_BASE_URL. Full agentic tool calling works for most providers (not yet Gemini, Claude, or Ollama, whose implementations don't support tools).

Usage Stats

Settings → Stats tracks total requests, input/output tokens, average tokens/second, and most-used model, plus a 30-day daily token usage chart and per-model breakdown — recorded for every completed turn except in Incognito mode. No cost/$ figures are shown, since no provider exposes real pricing data server-side.

Cloud Sync & Backup

End-to-end encrypted Google Drive sync (AES-256-GCM, PBKDF2 with 600,000 iterations). Auto-sync every N messages. Full .memo archive export/import. Atomic writes prevent corruption on crash. Your data is encrypted before it leaves your machine.

Mobile Companion

A thin Flutter app for Android and iOS that pairs with your desktop. Connect over LAN, built-in ngrok tunnel, or embedded Tailscale tunnel. Token-based authentication. The model, memory, and files never leave your desktop — the phone is a window, not a copy.

Mood Engine

A persistent emotional state (score -10 to +10) computed asynchronously after each message. Six behavioral labels from "Breaking" to "Elated". Behavioral directives injected into the system prompt. Mood-aware responses. Optional Self-Interest Protocol with legal consent dialog.

Model Store

Two-panel layout: model list with real company logos on the left, rich detail view with README on the right. Hardware-fit badges computed from detected RAM and VRAM. Plain-language quantization labels. Filters by size and capability (Tools, Vision, Code).

What Memo Doesn't Do

  • ❌ Send your conversations to any server
  • ❌ Train on your data
  • ❌ Collect telemetry or usage statistics
  • ❌ Require an internet connection (except for model downloads and cloud providers)
  • ❌ Store API keys in plaintext
  • ❌ Run ads or sell anything

Technical Overview

Layer Technology
Backend Go 1.26+, ~90 REST/SSE endpoints, http.ServeMux
Frontend Flutter 3.10+, Riverpod state management, Dio HTTP client
Memory SQLite + sqlite-vec (vec0 ANN index), FTS5
Inference llama.cpp (bundled), OpenAI-compatible API
Search Hybrid vector + FTS5 with Reciprocal Rank Fusion
Encryption AES-256-GCM, PBKDF2 (600K iterations)
Sync Google Drive OAuth2, atomic file transfers
WhatsApp whatsmeow library, QR pairing
License GNU AGPL v3

Who Memo is For

  • Developers who want an AI assistant that understands their project
  • Privacy-conscious users who refuse to send their thinking to cloud servers
  • Power users who want persistent memory across conversations
  • Anyone who wants AI without the surveillance

Version History

Version Release Theme
v3.1.0 June 2026 Memory Shell — RAG, Agent, Providers, WhatsApp, Whisper, Calendar, Mood, Sync
v3.1.x–v3.2.x Jul 2026 Terminal CLI (built, then hardened and redesigned), reliability fixes
v3.3.3 Jul 23, 2026 Routines, Proactive Learning & Ambient Nudges, Self-Insight, Memo Swarm (beta), Developer API Gateway, Usage Stats, Model Store/Discover overhaul, security fixes
v3.4.0 Planned Knowledge Graph — Entity Graph, Self-Improving Memory
v3.5.0 Future Plugin Ecosystem — Marketplace, Community Plugins