全本地模式需先用 ollama pull qwen2.5:14b 拉取模型,否则无法启动;VOICEVOX 默认占 50021 端口、Whisper 占 8080 端口,需与主服务分开部署;项目仍为 Work in progress,功能可用但存在粗糙之处。

docker run -p 3000:3000 -e OPENAI_API_KEY=sk-xxx -e LLM_PROVIDER=openai -e TTS_PROVIDER=openai ghcr.io/orangekame3/mirrormate:latestREADME 未给出具体显存要求;完整本地方案需 Raspberry Pi 加半透镜显示器,并搭配 Mac Studio 或其他 GPU 机器运行 Ollama、VOICEVOX 和 Whisper;最小方案仅需 Raspberry Pi 加 OpenAI API。
把语音优先的本地 AI 装进镜子,用 Ollama 和 VOICEVOX 自托管,随时对话
把智能魔镜变成可自托管的私人语音助手,本地跑 LLM 推理,支持树莓派部署,无需依赖云端服务。
核心能力
- 用唤醒词「Hey Mira」激活语音对话
- 基于 RAG 自动提取并检索个人记忆
- 唇形同步头像含 8 种动画状态
- LLM/TTS/STT/Embedding 均可切换本地或云端
- 插件系统支持传感器与自定义组件
容易踩的坑
- v0.1.13最新正式版2026-01-06 · 2026-01-06 16:57 UTC
What's Changed
New Features 🎉
- feat: Enhance AvatarPage with microphone status notifications and first run hints by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/52
- feat: add Vision Companion plugin for eye contact detection and automatic greetings by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/54
- feat: add Speech-to-Text (STT) provider support with OpenAI and Local Whisper by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/55
- docs: update README for clarity and structure, enhance feature descriptions by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/56
- docs: update architecture diagram for clarity and consistency by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/57
- fix: english mode by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/58
- docs: add Locale Presets documentation and update related guides for automatic locale-based settings by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/59
- Release 2026-01-06 23:25 by @github-actions[bot] in https://github.com/orangekame3/mirrormate/pull/53
Full Changelog: https://github.com/orangekame3/mirrormate/compare/v0.1.12...v0.1.13
- v0.1.122026-01-05 · 2026-01-05 03:35 UTC
查看更新说明
What's Changed
New Features 🎉
- feat: add multi-character support and user settings management by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/44
- feat: add Raspberry Pi and Mac Studio deployment configurations with updated provider settings by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/46
- feat: remove Raspberry Pi specific configurations and update provider paths for remote deployment by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/47
- feat: add recommended setup guide for production deployment with Tailscale, Mac Studio, and Raspberry Pi by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/48
- feat: add PLaMo-Embedding service and update deployment configurations by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/49
- feat: update embedding provider to PLaMo-Embedding-1B and enhance setup instructions by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/50
- feat: add Tailscale IP configuration for Mac Studio in .env and compose files by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/51
- Release 2026-01-05 12:25 by @github-actions[bot] in https://github.com/orangekame3/mirrormate/pull/45
Full Changelog: https://github.com/orangekame3/mirrormate/compare/v0.1.11...v0.1.12
- v0.1.112026-01-04 · 2026-01-04 10:23 UTC
查看更新说明
What's Changed
New Features 🎉
- feat: add multilingual support with locale-specific configurations by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/41
- feat: Enhance Discord integration by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/43
- Release 2026-01-04 19:20 by @github-actions[bot] in https://github.com/orangekame3/mirrormate/pull/42
Full Changelog: https://github.com/orangekame3/mirrormate/compare/v0.1.10...v0.1.11
- v0.1.102026-01-04 · 2026-01-04 07:52 UTC
查看更新说明
What's Changed
New Features 🎉
- feat: integrate mermaid for diagram support and enhance documentation by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/37
- chore: update Dockerfile and release workflow for improved caching and build efficiency by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/38
- docs: update README for clarity and improved structure by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/39
- docs: enhance README structure and formatting for better presentation by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/40
- Release 2026-01-04 16:48 by @github-actions[bot] in https://github.com/orangekame3/mirrormate/pull/36
Full Changelog: https://github.com/orangekame3/mirrormate/compare/v0.1.9...v0.1.10
- v0.1.92026-01-04 · 2026-01-04 07:06 UTC
查看更新说明
What's Changed
New Features 🎉
- feat: Implement avatar animation system with hooks and state management by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/30
- feat(discord): Implement Discord webhook integration for sending messages and sharing content by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/32
- use bun by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/33
- fix: Correct spelling of "MirrorMate" to "Mirror Mate" across documentation and code by @orangekame3 in https://github.com/orangekame3/mirrormate/pull/34
- Release 2026-01-04 16:02 by @github-actions[bot] in https://github.com/orangekame3/mirrormate/pull/31
Full Changelog: https://github.com/orangekame3/mirrormate/compare/v0.1.8...v0.1.9
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
https://github.com/user-attachments/assets/e0f1f067-6b71-4022-afb3-f13d48e87a9b
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.