TypeScript MIT

mirrormate

Self-hosted personalized AI in a mirror.

O

orangekame3

Dernière activité 7 janv. 2026
orangekame3/mirrormate

492

étoiles

28

forks

4

issues ouvertes

aillm-inferencelocal-llmmagicmirrorollamaraspberry-piself-hostedsmart-homesmart-mirrorvoice-assistant

Ce README est souvent en anglais.

MirrorMate

MirrorMate

Self-hosted personalized AI in a mirror

AI doesn't have to live on a screen.

Docs • Getting Started • Releases

License Release CI


mirrormate.mov

Why a mirror?

A mirror is something you already live with. You glance at it in the morning. You check yourself before heading out. In those few seconds, you could ask about the weather, check your schedule, or just chat.

MirrorMate puts AI into that everyday object. No phone to pull out. No laptop to open. Just talk to the mirror.

What it is

  • A voice-first AI designed to live in a mirror
  • Runs entirely local with Ollama + VOICEVOX (no cloud required)
  • Buildable with Raspberry Pi + half mirror
  • Remembers you through RAG-based memory

What it is not

  • Not a smart display
  • Not a cloud-dependent assistant
  • Not another chat UI in a browser

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        Raspberry Pi                             │
│  ┌───────────────┐  ┌────────────┐  ┌────────────────────────┐  │
│  │  Browser      │  │  Next.js   │  │  SQLite                │  │
│  │  (Chrome)     │◄─┤  App       │◄─┤  (Memory, Sessions)    │  │
│  │  + Mic/Cam    │  │  Port 3000 │  │                        │  │
│  └───────────────┘  └─────┬──────┘  └────────────────────────┘  │
│         ▲                 │                                     │
│         │                 │ Tailscale VPN                       │
└─────────┼─────────────────┼─────────────────────────────────────┘
          │                 ▼
          │   ┌─────────────────────────────────────────────────┐
          │   │                  Mac Studio                     │
          │   │  ┌────────────┐ ┌──────────────┐ ┌───────────┐  │
          │   │  │  Ollama    │ │  VOICEVOX    │ │  Whisper  │  │
          │   │  │  LLM/VLM   │ │  TTS         │ │  STT      │  │
          │   │  │  Embedding │ │  Port 50021  │ │  Port 8080│  │
          │   │  └────────────┘ └──────────────┘ └───────────┘  │
          │   └─────────────────────────────────────────────────┘
          │
          └── Half Mirror + Monitor

Minimal setup: Raspberry Pi + OpenAI API only

Full local setup: Combine with Mac Studio (or any GPU machine) as shown above


Quick Start

With OpenAI API (easiest):

docker run -p 3000:3000 \
  -e OPENAI_API_KEY=sk-xxx \
  -e LLM_PROVIDER=openai \
  -e TTS_PROVIDER=openai \
  ghcr.io/orangekame3/mirrormate:latest

Open http://localhost:3000 in Chrome.

Fully local (Ollama + VOICEVOX):

# 1. Pull a model with Ollama
ollama pull qwen2.5:14b

# 2. Start MirrorMate
git clone https://github.com/orangekame3/mirrormate.git
cd mirrormate
docker compose up -d

Wake word: Say "Hey Mira" to activate.


Features

Voice-First Interaction

Activate with a wake word. Choose from Web Speech API, OpenAI Whisper, or local Whisper for speech recognition.

Personalized Memory

Automatically extracts and stores information about you from conversations. Uses RAG to retrieve relevant memories and generate personalized responses.

Expressive Avatar

Lip-synced avatar speaks responses. Eight animation states (Idle, Listening, Thinking, Speaking, etc.) show what it's doing at a glance.

Multi-Provider Support

Component Options
LLM OpenAI, Ollama
TTS OpenAI, VOICEVOX
STT Web Speech API, OpenAI Whisper, Local Whisper
Embedding Ollama, PLaMo-Embedding-1B

Built-in Integrations

  • Weather (Open-Meteo)
  • Calendar (Google Calendar)
  • Web search (Tavily)
  • Reminders
  • Discord sharing

Plugin System

Add your own widgets or sensor integrations. The Vision Companion plugin detects eye contact and greets you automatically.


Tech Stack

  • Frontend: Next.js 15 / React 19 / Three.js
  • Backend: Node.js / SQLite (Drizzle ORM)
  • AI: Ollama / OpenAI / VOICEVOX / faster-whisper
  • Infra: Docker / Tailscale

Development

bun install
bun run dev

See Documentation for details.


Status

Work in progress. Core features work, but rough edges remain.

If you're into local AI, self-hosted systems, or physical interfaces, give it a try.


License

MIT

Projets similaires

MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.

JavaScriptdomoticsjavascriptmagicmirror
MMagicMirrorOrg
23,9 k étoiles4,6 k

Stop renting your intelligence. Own it with AnythingLLM. Everything you need for a powerful local-first agent experience

JavaScriptagent-computeragent-harnessagent-orchestration
MMintplex-Labs
66,6 k étoiles7,4 k

The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

TypeScriptaiassistantcrustacean
Oopenclaw
390,8 k étoiles82,2 k