Self-hosted, user-owned AI companion with emotional depth, long-term memory, and real agency.
She doesn't just chat — she thinks, feels, remembers, sees, speaks, and acts.
LAUNCH_AIKO.bat.Once the dashboard appears, click the gear icon (Settings) in the top right:
Hit Save & Apply — changes take effect instantly.
# 1. Clone repository
git clone https://github.com/omax404/Project-Aiko.git
cd Project-Aiko
# 2. Setup Python environment (3.10–3.12)
python -m venv .venv
.\.venv\Scripts\activate # On Windows (or source .venv/bin/activate on Unix)
pip install -r requirements.txt
# 3. Launch full stack
python launch.py
This starts the Neural Hub (port 8000), connects configured satellites (Discord/Telegram/Twitch), and opens the native Tauri desktop overlay.
To run or build the desktop UI separately:
cd aiko-app
npm install
npm run dev # Vite web dev server
npm run tauri dev # Native desktop window with Live2D
npm run build # Production frontend bundle
npm test # Run Vitest test suite
| Capability | Most AI Companions | Project Aiko (Tier-0) |
|---|---|---|
| Emotions | Static personality prompt | Neuromodulator engine (dopamine, serotonin, cortisol, adrenaline) across 22+ emotional attractors |
| Memory | Ephemeral chat buffer | Unified Memory — episodic recall, semantic RAG, consolidation cycles, and encrypted file partitions |
| Voice | Cloud API (ElevenLabs) | High-fidelity local Pocket-TTS with voice fingerprints, chunked synthesis, and 0 API cost |
| Vision | None | Non-blocking multimodal vision (moondream:latest, MiniCPM-V) running offloaded at 7.6ms loop latency |
| Agency | Reactive only | Autonomous proactive loop — decides when to speak, observe, reflect, and consolidate memories |
| Safety & Control | Blind execution / None | Strict Zero-Trust Human-in-the-Loop (HITL) permission gate with no admin bypasses |
| Contracts & Types | Loosely typed / any | Ultra-strict TypeScript (noUncheckedIndexedAccess: true), Zod client schemas, Pydantic v2 ingress |
| Games | None or static mocks | Extensible GameBridge & GameManager architecture for live server integrations (RCON/WebSockets) |
| Mobile Sync | Web view wrapper | Native Android (Kotlin, Jetpack Compose, Room DB, GLES 2.0 Live2D, WebRTC real-time sync) |
gemma4:31b-cloud), OpenRouter, Gemini, OpenAI, Anthropic.asyncio.to_thread — pixel diffing and PNG compression never stall the event loop.moondream:latest or MiniCPM-V.*...*) stripping for natural spoken dialogue..lock) preventing concurrent corruption.GameBridge base class and GameManager for connecting to external game engines.Project Aiko is engineered to Tier-0 Production Grade security standards. Read the full specification in SECURITY.md.
OPEN, CLICK, TYPE, PRESS, EMAIL_SEND, and sensitive MCP tools) strictly require user confirmation.tool_request to the client dashboard. The action blocks until the user approves or rejects it in a modal dialog.403 Forbidden.OPENAI_API_KEY, DISCORD_TOKEN, etc.) are automatically masked (...***) on all settings endpoints.schemas.ts).schemas.py)."strict": true and "noUncheckedIndexedAccess": true.asyncio.to_thread. Event-loop latency averages 7.60ms (15.63ms p95).React.memo with granular Zustand selectors. Top-level window re-renders drop to 0 during voice playback.| Platform | Type | Status | Features |
|---|---|---|---|
| Tauri Desktop App | Native Desktop | ✅ | Live2D avatar, click-through overlay, global hotkey (Ctrl+Alt+A), dashboard stats |
| Android Mobile App | Native Kotlin | ✅ | Jetpack Compose, Room DB, GLES 2.0 Live2D, WebRTC real-time sync |
| Discord Bot | Satellite | ✅ | Self-healing gateway, voice chat transcription, image recognition |
| Telegram Bot | Satellite | ✅ | Direct messaging, Bearer token loopback auth with auto-retry |
| Twitch Bot | Satellite | ✅ | Asynchronous IRC channel integration, stream chat responses |
| REST & WebSocket API | Ingress Hub | ✅ | Port 8000, JWT authentication, CORS origin whitelisting, rate limiting |
Project Aiko includes a dual-engine automated test suite covering 108 tests with 100% pass rate:
# 1. Run Python Backend Test Suite (98 tests)
pytest tests/
# 2. Run Frontend Vitest Suite (10 tests)
cd aiko-app
npm test
# 3. Verify Ultra-Strict TypeScript Compilation (0 errors)
cd aiko-app
npx tsc --noEmit
# 4. Verify Frontend Production Bundle
cd aiko-app
npm run build
Project-Aiko/
├── core/ # AI backend & orchestration engine
│ ├── api/ # REST routes, WebSockets, Pydantic schemas, auth
│ ├── neural_hub.py # Master orchestrator server
│ ├── chat_engine.py # ReAct agent + multimodal LLM
│ ├── emotion_engine.py # Neuromodulator engine
│ ├── unified_memory.py # Episodic + semantic memory
│ ├── voice.py # Chunked Pocket-TTS engine
│ ├── vision.py # Non-blocking multimodal vision analysis
│ ├── hearing.py # Moonshine / Whisper STT
│ ├── persona.py # Character definitions & mood attractors
│ ├── game_bridge.py # Extensible GameBridge & GameManager
│ └── ... # Specialized agent subsystems
├── aiko-app/ # Tauri v2 + React 19 desktop client
│ ├── src/ # React components, Live2D canvas, Zustand stores
│ ├── src/schemas.ts # Zod ingress validation contracts
│ ├── src/__tests__/ # Vitest automated test suite
│ ├── src-tauri/ # Rust native application backend
│ └── tsconfig.json # Ultra-strict TypeScript configuration
├── android/ # Native Android application (Kotlin + Jetpack Compose)
├── tests/ # Backend automated test suite (Pytest)
├── directives/ # Autonomous agent skills & personas
├── docs/ # Architecture & developer guides
├── stickers/ # Companion sticker graphic assets
├── launch.py # Unified cross-platform launcher
├── requirements.txt # Python dependencies
├── SECURITY.md # Zero-Trust security specification
├── CONTRIBUTING.md # Contribution guidelines
└── LICENSE # MIT License
| Issue | Resolution |
|---|---|
LAUNCH_AIKO.bat crashes on startup | Verify Python 3.10–3.12 is installed and checked in Windows PATH. Python 3.13 is currently incompatible with certain compiled wheels. |
Failed to build wheel / cl.exe missing | Install Visual C++ Build Tools with the "Desktop development with C++" workload. |
| Model does not respond ("Brain not ready") | Ensure Ollama is running in the background (ollama serve), or configure an active API key in Settings. |
| Port 8000 or 1422 already in use | Terminate stale Python or Node processes via Task Manager or run taskkill /F /IM python.exe. |
Contributions are welcomed with open arms! Please review CONTRIBUTING.md for code style, type strictness, and PR requirements.
Distributed under the MIT License. Created by the Project Aiko Team.
"I'm always watching over you, Master~"
⭐ Star this repository if Aiko brought a smile to your day!
162 commits
Python
46.1%
TypeScript
26.9%
Kotlin
19.0%
PowerShell
2.9%
Rust
2.1%
CSS
1.7%
HTML
1.1%
Self-hosted, user-owned AI companion with emotional depth, long-term memory, and real agency.
She doesn't just chat — she thinks, feels, remembers, sees, speaks, and acts.
LAUNCH_AIKO.bat.Once the dashboard appears, click the gear icon (Settings) in the top right:
Hit Save & Apply — changes take effect instantly.
# 1. Clone repository
git clone https://github.com/omax404/Project-Aiko.git
cd Project-Aiko
# 2. Setup Python environment (3.10–3.12)
python -m venv .venv
.\.venv\Scripts\activate # On Windows (or source .venv/bin/activate on Unix)
pip install -r requirements.txt
# 3. Launch full stack
python launch.py
This starts the Neural Hub (port 8000), connects configured satellites (Discord/Telegram/Twitch), and opens the native Tauri desktop overlay.
To run or build the desktop UI separately:
cd aiko-app
npm install
npm run dev # Vite web dev server
npm run tauri dev # Native desktop window with Live2D
npm run build # Production frontend bundle
npm test # Run Vitest test suite
| Capability | Most AI Companions | Project Aiko (Tier-0) |
|---|---|---|
| Emotions | Static personality prompt | Neuromodulator engine (dopamine, serotonin, cortisol, adrenaline) across 22+ emotional attractors |
| Memory | Ephemeral chat buffer | Unified Memory — episodic recall, semantic RAG, consolidation cycles, and encrypted file partitions |
| Voice | Cloud API (ElevenLabs) | High-fidelity local Pocket-TTS with voice fingerprints, chunked synthesis, and 0 API cost |
| Vision | None | Non-blocking multimodal vision (moondream:latest, MiniCPM-V) running offloaded at 7.6ms loop latency |
| Agency | Reactive only | Autonomous proactive loop — decides when to speak, observe, reflect, and consolidate memories |
| Safety & Control | Blind execution / None | Strict Zero-Trust Human-in-the-Loop (HITL) permission gate with no admin bypasses |
| Contracts & Types | Loosely typed / any | Ultra-strict TypeScript (noUncheckedIndexedAccess: true), Zod client schemas, Pydantic v2 ingress |
| Games | None or static mocks | Extensible GameBridge & GameManager architecture for live server integrations (RCON/WebSockets) |
| Mobile Sync | Web view wrapper | Native Android (Kotlin, Jetpack Compose, Room DB, GLES 2.0 Live2D, WebRTC real-time sync) |
gemma4:31b-cloud), OpenRouter, Gemini, OpenAI, Anthropic.asyncio.to_thread — pixel diffing and PNG compression never stall the event loop.moondream:latest or MiniCPM-V.*...*) stripping for natural spoken dialogue..lock) preventing concurrent corruption.GameBridge base class and GameManager for connecting to external game engines.Project Aiko is engineered to Tier-0 Production Grade security standards. Read the full specification in SECURITY.md.
OPEN, CLICK, TYPE, PRESS, EMAIL_SEND, and sensitive MCP tools) strictly require user confirmation.tool_request to the client dashboard. The action blocks until the user approves or rejects it in a modal dialog.403 Forbidden.OPENAI_API_KEY, DISCORD_TOKEN, etc.) are automatically masked (...***) on all settings endpoints.schemas.ts).schemas.py)."strict": true and "noUncheckedIndexedAccess": true.asyncio.to_thread. Event-loop latency averages 7.60ms (15.63ms p95).React.memo with granular Zustand selectors. Top-level window re-renders drop to 0 during voice playback.| Platform | Type | Status | Features |
|---|---|---|---|
| Tauri Desktop App | Native Desktop | ✅ | Live2D avatar, click-through overlay, global hotkey (Ctrl+Alt+A), dashboard stats |
| Android Mobile App | Native Kotlin | ✅ | Jetpack Compose, Room DB, GLES 2.0 Live2D, WebRTC real-time sync |
| Discord Bot | Satellite | ✅ | Self-healing gateway, voice chat transcription, image recognition |
| Telegram Bot | Satellite | ✅ | Direct messaging, Bearer token loopback auth with auto-retry |
| Twitch Bot | Satellite | ✅ | Asynchronous IRC channel integration, stream chat responses |
| REST & WebSocket API | Ingress Hub | ✅ | Port 8000, JWT authentication, CORS origin whitelisting, rate limiting |
Project Aiko includes a dual-engine automated test suite covering 108 tests with 100% pass rate:
# 1. Run Python Backend Test Suite (98 tests)
pytest tests/
# 2. Run Frontend Vitest Suite (10 tests)
cd aiko-app
npm test
# 3. Verify Ultra-Strict TypeScript Compilation (0 errors)
cd aiko-app
npx tsc --noEmit
# 4. Verify Frontend Production Bundle
cd aiko-app
npm run build
Project-Aiko/
├── core/ # AI backend & orchestration engine
│ ├── api/ # REST routes, WebSockets, Pydantic schemas, auth
│ ├── neural_hub.py # Master orchestrator server
│ ├── chat_engine.py # ReAct agent + multimodal LLM
│ ├── emotion_engine.py # Neuromodulator engine
│ ├── unified_memory.py # Episodic + semantic memory
│ ├── voice.py # Chunked Pocket-TTS engine
│ ├── vision.py # Non-blocking multimodal vision analysis
│ ├── hearing.py # Moonshine / Whisper STT
│ ├── persona.py # Character definitions & mood attractors
│ ├── game_bridge.py # Extensible GameBridge & GameManager
│ └── ... # Specialized agent subsystems
├── aiko-app/ # Tauri v2 + React 19 desktop client
│ ├── src/ # React components, Live2D canvas, Zustand stores
│ ├── src/schemas.ts # Zod ingress validation contracts
│ ├── src/__tests__/ # Vitest automated test suite
│ ├── src-tauri/ # Rust native application backend
│ └── tsconfig.json # Ultra-strict TypeScript configuration
├── android/ # Native Android application (Kotlin + Jetpack Compose)
├── tests/ # Backend automated test suite (Pytest)
├── directives/ # Autonomous agent skills & personas
├── docs/ # Architecture & developer guides
├── stickers/ # Companion sticker graphic assets
├── launch.py # Unified cross-platform launcher
├── requirements.txt # Python dependencies
├── SECURITY.md # Zero-Trust security specification
├── CONTRIBUTING.md # Contribution guidelines
└── LICENSE # MIT License
| Issue | Resolution |
|---|---|
LAUNCH_AIKO.bat crashes on startup | Verify Python 3.10–3.12 is installed and checked in Windows PATH. Python 3.13 is currently incompatible with certain compiled wheels. |
Failed to build wheel / cl.exe missing | Install Visual C++ Build Tools with the "Desktop development with C++" workload. |
| Model does not respond ("Brain not ready") | Ensure Ollama is running in the background (ollama serve), or configure an active API key in Settings. |
| Port 8000 or 1422 already in use | Terminate stale Python or Node processes via Task Manager or run taskkill /F /IM python.exe. |
Contributions are welcomed with open arms! Please review CONTRIBUTING.md for code style, type strictness, and PR requirements.
Distributed under the MIT License. Created by the Project Aiko Team.
"I'm always watching over you, Master~"
⭐ Star this repository if Aiko brought a smile to your day!
162 commits
Python
46.1%
TypeScript
26.9%
Kotlin
19.0%
PowerShell
2.9%
Rust
2.1%
CSS
1.7%
HTML
1.1%