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 startopens the dashboard athttp://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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ff5aa2a9c0d5c9d88fc41d294eebb1c82e9d31c61c3d9c36b9708aa6f33d417
|
|
| MD5 |
6904ffa689ffb6efdb6559df224e59d6
|
|
| BLAKE2b-256 |
fbcda1bd87befb112b5120b4a03727c5b7dd0616e05fed804f88f5d0fde921d5
|
Provenance
The following attestation bundles were made for sovyx-0.5.21.tar.gz:
Publisher:
publish.yml on sovyx-ai/sovyx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sovyx-0.5.21.tar.gz -
Subject digest:
1ff5aa2a9c0d5c9d88fc41d294eebb1c82e9d31c61c3d9c36b9708aa6f33d417 - Sigstore transparency entry: 1263229375
- Sigstore integration time:
-
Permalink:
sovyx-ai/sovyx@7bfd75eb7bd5ed803985de16c1a9f7e6e7355088 -
Branch / Tag:
refs/tags/v0.5.21 - Owner: https://github.com/sovyx-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7bfd75eb7bd5ed803985de16c1a9f7e6e7355088 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41c6c08169d5de719dadd798fd2f6c8dcc6ccaeff5e89078f2e7fa5d2ed03296
|
|
| MD5 |
236a96581b56f385c6ba171c1c12042a
|
|
| BLAKE2b-256 |
127df6e4c06ef06294ed53e8bd8b2079b2c49915710542aa1ac2baed28bbac63
|
Provenance
The following attestation bundles were made for sovyx-0.5.21-py3-none-any.whl:
Publisher:
publish.yml on sovyx-ai/sovyx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sovyx-0.5.21-py3-none-any.whl -
Subject digest:
41c6c08169d5de719dadd798fd2f6c8dcc6ccaeff5e89078f2e7fa5d2ed03296 - Sigstore transparency entry: 1263229389
- Sigstore integration time:
-
Permalink:
sovyx-ai/sovyx@7bfd75eb7bd5ed803985de16c1a9f7e6e7355088 -
Branch / Tag:
refs/tags/v0.5.21 - Owner: https://github.com/sovyx-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7bfd75eb7bd5ed803985de16c1a9f7e6e7355088 -
Trigger Event:
push
-
Statement type: