Skip to content

mycelia-tech/mycelia

Repository files navigation

Mycelia [preview version]

Mycelia is your self-hosted AI memory and timeline.

Capture ideas, thoughts, and conversations in voice, screenshots, or text. Ask anything later — _"What did I say about X last May?" Mycelia tells you, in your own words.

📍 Local-first · 🔓 Open-source · 📦 Modular · 🛠 Hackable

Features

Audio Ingestion & Processing

  • Continuous import from Apple Voice Memos, Google Drive, and local folders.
  • Automated pipeline: VAD → Transcription → Conversation extraction → Summarization.
  • Smart chunking, waveform normalization, and diarization-friendly segments.
  • Whisper transcription via local GPU or any remote OpenAI-compatible server.
  • Audio recording, playback (0.5x–3x speed, volume up to 300%), and WAV export.
  • Pipeline monitoring UI with real-time session tracking and error handling.

Interactive Timeline

  • D3.js-powered multi-track timeline with zoom and pan.
  • Multi-resolution views (5 min, 1 hour, 1 day, 1 week).
  • Transcript-synced audio playback with jump controls.
  • Track visibility controls, object overlays, and event creation from selection.
  • Quick presets (last hour, today, yesterday, this week, and more).

AI Chat

  • Chat with your memory — tool-calling agent with access to all backend resources.
  • Streaming responses, file uploads, and speech input.
  • Chat history with rename and management.

Object Management

  • Create, edit, and browse People, Events, Conversations, Relationships, and Promises.
  • Per-object audio player with transcript sync and segment navigation.
  • LLM summarization with model selection and cost estimation.
  • Summary comparison (side-by-side, star/favorite).
  • Autosave with per-field throttling and version history.
  • Full-text search, category filtering, and relationship graph.

Background Processing

  • BullMQ job queue backed by Redis.
  • Worker management UI with pause/resume, statistics, and success rates.
  • Pipeline ordering and progress tracking.
  • Configurable worker defaults and prompt templates.

Infrastructure & Auth

  • One-command Docker setup (docker compose up -d) with backend, frontend, Python worker, MongoDB, and Redis.
  • OAuth 2.0 with PKCE, .well-known metadata, JWT login, and API key management.
  • MCP (Model Context Protocol) server endpoint for remote operations and scripting.
  • First-run setup wizard with automatic API key creation and inference provider configuration.
  • OpenTelemetry observability (optional).
  • Feature flags, access logging, and server configuration UI.

Integrations

  • Messenger platform import (Telegram, Signal).
  • LLM provider configuration with model aliases (small / medium / large).
  • OpenAI-compatible API endpoints (/v1/audio/transcriptions, /llm/chat/completions).
  • MongoDB full-text search alongside GridFS-backed storage.

Roadmap

In progress

  • Friend-Lite companion app + advanced backend (friend/) wiring semantic memories and wearable capture back into Mycelia.
  • GPU diarization stack replacing the current batch-only flow (diarizator/ Helm charts + WebUI).
  • Semantic search + vector memory integration connecting Qdrant-backed pipelines and the OpenMemory MCP bridges into the main timeline.

Planned

  • Multi-device & multi-modal capture (health, geolocation, photos, sensors).
  • Privacy + usage dashboards, token metering, and export flows.
  • Processing / artifact templates, batch operations, and backup automation.

🚀 Quick Start

Prerequisites

Setup & Run

git clone https://github.com/mycelia-tech/mycelia.git
cd mycelia

./scripts/setup.sh --start

The setup script automatically:

  • Creates .env from .env.example
  • Generates a secure SECRET_KEY
  • Starts all services with Docker Compose

Open http://localhost:3210 in your browser.

CLI/Python Daemon Users

If you need API tokens in .env (for Python daemon or CLI access):

./scripts/setup.sh --with-tokens --start

This starts MongoDB temporarily to generate MYCELIA_CLIENT_ID and MYCELIA_TOKEN.

Syncing After Updates

After pulling updates, new environment variables may be added to .env.example:

./scripts/sync-env.sh           # Interactive - prompts before adding
./scripts/sync-env.sh --dry-run # Preview changes without modifying

Note: For local development, Mycelia uses a self-signed certificate. You may need to click "Advanced" and "Proceed" in your browser. See NETWORKING.md for more details on port configuration and SSL.

Import Existing Audio Files

cd python
uv run daemon.py

The daemon can import:

  • Apple Voice Memos
  • Google Drive Folders
  • Local Audio Folders

Environment variables (optional, set in .env):

  • MYCELIA_APPLE_VOICEMEMOS_ROOT - Apple Voice Memos path
  • MYCELIA_GOOGLE_DRIVE_ROOT - Google Drive path
  • MYCELIA_LOCAL_AUDIO_ROOT - Local audio folder
  • MYCELIA_GOOGLE_TZ / MYCELIA_LOCAL_TZ - Timezones (default: UTC)

Configuration

When you first open the frontend, you'll be guided through a setup wizard:

  1. Server Connection (/setup) - Connects to the backend and automatically creates your first API key.

  2. Inference Provider (/setup/inference) - Configure your AI inference backend:

    • Managed service at https://inference.mycelia.tech
    • Your own local GPU stack (see GPU README)
    • Any OpenAI-compatible API endpoint

You can reconfigure these settings anytime in Settings.

Managing API Keys

  • Via Settings UI: Go to Settings → API Keys to create, view, and revoke keys
  • Via Terminal (for initial setup or automation):
    docker compose run --rm backend deno run -A server.ts token-create

For Developers

See DEVELOPMENT.md for:

  • Docker dev mode with hot reload
  • Native development setup (Deno + Vite)
  • Python tooling (audio import, STT, conversation extraction)
  • GPU inference stack setup
  • Database backup & point-in-time recovery
  • Project structure and contributing guidelines

Contributing

You're welcome to fork, build plugins, suggest features, or break things (metaphorically, c'mon, it's open source).

License

MIT

About

Privacy-First AI Memory

Resources

License

Stars

Watchers

Forks

Contributors 13