Skip to main content

Sovereign Minds Engine — Persistent AI companion with real memory

Project description

Sovyx — The AI Mind That Remembers You

Sovyx is a self-hosted AI companion engine that builds persistent memory of the people it talks to. Unlike chatbots that forget everything between sessions, Sovyx creates a cognitive model of each person — their preferences, history, personality, and context — and uses it to have meaningful conversations.

Your data stays on your hardware. Always.


What It Does

Core Engine

  • Persistent memory — concepts, episodes, and relationships in a brain-inspired architecture
  • Personality engine — OCEAN model with configurable traits
  • Semantic search — FTS5 + sqlite-vec embeddings with hybrid retrieval
  • Adaptive context — Lost-in-Middle ordering, token budgets, 6-slot assembly
  • Multi-provider LLM — Claude, GPT, Gemini, Ollama — automatic failover and complexity routing
  • Cost control — daily and per-conversation budgets with persistent tracking

Dashboard (v0.5)

  • Real-time web UI — brain visualization, conversations, logs, settings, live chat
  • Single command — sovyx start opens the dashboard at http://localhost:7777

Voice (v0.5)

  • Full pipeline — wake word detection, VAD, STT, TTS (Silero, Moonshine, Piper, Kokoro)
  • Home Assistant — Wyoming protocol integration for voice assistants

Channels

  • Telegram, Signal, Dashboard (browser) — talk to your mind from anywhere

Infrastructure (v0.5)

  • Cloud backup — zero-knowledge encrypted (Argon2id + AES-256-GCM)
  • Zero-downtime upgrades — blue-green pipeline with automatic rollback
  • Observability — Prometheus metrics, SLO monitoring, structured logging

Quick Start

Install

pip install sovyx

Or with Docker:

docker run -d --name sovyx \
  -e ANTHROPIC_API_KEY=sk-ant-... \
  -p 7777:7777 \
  ghcr.io/sovyx-ai/sovyx:latest

Initialize

sovyx init MyMind

Creates ~/.sovyx/ with your mind configuration.

Configure

Edit ~/.sovyx/mymind/mind.yaml:

name: MyMind
language: en
timezone: UTC

personality:
  tone: warm
  humor: 0.4
  empathy: 0.8

llm:
  default_provider: anthropic
  default_model: claude-sonnet-4-20250514
  budget_daily_usd: 2.0

channels:
  telegram:
    token_env: SOVYX_TELEGRAM_TOKEN

Set API Keys

export ANTHROPIC_API_KEY=sk-ant-...
export SOVYX_TELEGRAM_TOKEN=123456:ABC...  # from @BotFather (optional)

Start

sovyx start

Open http://localhost:7777 to chat via the dashboard, or message your Telegram bot.

To get your dashboard token:

sovyx token

Architecture

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│  Channels    │────▶│  Cognitive   │────▶│  LLM Router │
│  (Telegram,  │◀────│  Loop        │◀────│  (Claude,   │
│   Signal,    │     │  (OODA)      │     │   GPT,      │
│   Dashboard) │     │              │     │   Ollama)   │
└─────────────┘     └──────┬───────┘     └─────────────┘
                           │
                    ┌──────▼───────┐
                    │    Brain     │
                    │  ┌─────────┐ │
                    │  │Concepts │ │  FTS5 + sqlite-vec
                    │  │Episodes │ │  Spreading activation
                    │  │Relations│ │  Hebbian learning
                    │  └─────────┘ │
                    └──────────────┘

Cognitive Loop (OODA): Perceive, Attend, Think, Act, Reflect.

Each message triggers the full loop: perception extracts intent, attention prioritizes, thinking generates a response via LLM with full context, action delivers, and reflection learns concepts from the exchange.

See docs/architecture.md for the detailed data flow.


Requirements

  • Python 3.11+
  • SQLite 3.35+ (with FTS5)
  • 512MB RAM minimum (Raspberry Pi 5 compatible)
  • LLM API key (Anthropic, OpenAI, or Google) or local Ollama

CLI

sovyx init [name]     # Initialize a new mind
sovyx start           # Start the daemon + dashboard
sovyx stop            # Stop the daemon
sovyx status          # Check daemon status
sovyx doctor          # Run health checks
sovyx token           # Show dashboard auth token

Development

git clone https://github.com/sovyx-ai/sovyx.git
cd sovyx
uv sync --dev
uv run pytest                    # 4,396 tests
uv run ruff check src/ tests/   # Lint
uv run mypy src/sovyx --strict   # Type check

Quality gates (CI-enforced): 95%+ coverage per file, mypy strict, ruff, bandit. All tests pass in under 3 minutes.

See CONTRIBUTING.md for the full development guide.


Roadmap

Version Status Key Features
v0.1 Released Core engine, brain, Telegram, CLI
v0.5 Released Voice pipeline, dashboard, Signal, cloud backup, zero-downtime upgrades
v0.5.1 Released Dashboard chat, security hardening, attack testing, CI/CD pipeline
v1.0 Planned Multi-tenant, JWT auth, plugin system, emotional engine, REST API
v1.1 Planned Multi-language voice, barge-in, conversation branching
v2.0 Planned Multi-agent platform, federated memory

License

AGPL-3.0 — See LICENSE.


Links

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sovyx-0.5.21.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sovyx-0.5.21-py3-none-any.whl (947.8 kB view details)

Uploaded Python 3

File details

Details for the file sovyx-0.5.21.tar.gz.

File metadata

  • Download URL: sovyx-0.5.21.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sovyx-0.5.21.tar.gz
Algorithm Hash digest
SHA256 1ff5aa2a9c0d5c9d88fc41d294eebb1c82e9d31c61c3d9c36b9708aa6f33d417
MD5 6904ffa689ffb6efdb6559df224e59d6
BLAKE2b-256 fbcda1bd87befb112b5120b4a03727c5b7dd0616e05fed804f88f5d0fde921d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for sovyx-0.5.21.tar.gz:

Publisher: publish.yml on sovyx-ai/sovyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sovyx-0.5.21-py3-none-any.whl.

File metadata

  • Download URL: sovyx-0.5.21-py3-none-any.whl
  • Upload date:
  • Size: 947.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sovyx-0.5.21-py3-none-any.whl
Algorithm Hash digest
SHA256 41c6c08169d5de719dadd798fd2f6c8dcc6ccaeff5e89078f2e7fa5d2ed03296
MD5 236a96581b56f385c6ba171c1c12042a
BLAKE2b-256 127df6e4c06ef06294ed53e8bd8b2079b2c49915710542aa1ac2baed28bbac63

See more details on using hashes here.

Provenance

The following attestation bundles were made for sovyx-0.5.21-py3-none-any.whl:

Publisher: publish.yml on sovyx-ai/sovyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page