Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

215 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome AI Companion banner

Awesome AI Companion Awesome

A curated index of open-source infrastructure for long-term AI companion relationships.
构建长期 AI 伴侣关系的开源基础设施索引。

Website GitHub stars License

English · 中文版 · Web Index 网页版

Contributions welcome. Contributing

Descriptions are based on each project's README or repository metadata, not on project names alone. Entries with thin public documentation are marked verify.

Status: ready = usable as an app or service · adapt = needs setup or customization · infra = building block · verify = re-check before relying on the description

Platform: Android / iOS / Windows / Web … = where it runs · Self-host = runs on your own server/machine · Cloud = hosted third-party service · Browser = extension/userscript · CLI = terminal tool · Any = host-agnostic · app names (AstrBot, Claude Code, Kelivo, SillyTavern…) = plugs into that host


Where to Start

Pick the path that matches your comfort with code:

🌱 No code — I just want a companion with memory, now Get a phone-simulator app: SullyOS, whale小手机, or ZeroChat. Fill in an API key, and you have persona, memory, and proactive messages out of the box.

🔧 Some tinkering — I can install an app and edit config files Start with RikkaHub (Android) or Kelivo plus a heartbeat plugin like dylan-heartbeat. Add a memory layer such as ai-memory-gateway when history starts overflowing.

🏗️ Full stack — I want a companion that lives on my server Run AstrBot as the backbone, wire in memory (Aelios, Paramecium), voice (GPT-SoVITS), and perception. Guides like not-fade-away and cloud-and-island walk through complete setups. Or skip pre-built frameworks entirely: feed this whole list to your AI and let it study the existing designs, then architect its own system from scratch. Some of the best setups indexed here started exactly that way.


Contents


Companion Clients & Workspaces

Chat clients, local workspaces, and web apps for day-to-day interaction with a companion or agent.

  • RikkaHub - Native Android LLM chat client with provider switching, Material You UI, workspace features, plugins, MCP support, and configurable models. Kotlin · Android · ready
  • LastChat - RikkaHub fork focused on a privacy-oriented Android chat experience, with provider presets, multimodal input, RAG memory, and UI changes. Kotlin · Android · adapt
  • rikkahub-auto-compress - Unofficial RikkaHub fork for automatic rolling summaries and context compression, based on the RikkaHub 2.2.5 code line. Kotlin · Android · adapt
  • orangechat (橘瓣) - Companion-focused RikkaHub fork: QuickJS plugin system, proactive messaging, and 14 Android device tools (notifications, app control, clipboard, etc.) for life-perception setups; memory is keyword-based rather than vector. Kotlin · Android · adapt
  • Operit - Android agent app with tool calling, workflow automation, memory, role cards, voice, local MNN/llama.cpp models, and an embedded Ubuntu 24 environment. Kotlin · Android · ready
  • Aura - Android AI companion app with cross-session long-term memory, an emotion state machine, a relationship model that deepens over time, image understanding, Health Connect data, reminders, MCP support, and optional on-device Qwen (MNN) inference. Kotlin · Android · ready
  • YSClaude - Claude-official-style Android client (Expo/React Native) extended into a companion workbench: local SQLite long-term memory, function-calling tools, MCP, web interaction, reading, music, focus timers, daily reports, letters, and native Kotlin modules (floating ball, accessibility screen context, SSH). TypeScript · Android · adapt
  • Polaris - Local-first AI workspace for long-lived conversations, collaborators, saved materials, tools, and evidence-backed project context. TypeScript · Cross-platform · adapt
  • chatnest - Local AI chat web app with a frontend demo and full-stack mode: streaming replies, model switching, uploads, history, tool summaries, and optional ChromaDB/jieba/BM25 memory retrieval. HTML · Web · adapt
  • AionsHome - Self-hosted LAN/Tailscale companion hub with browser/PWA chat, local storage, voice, camera monitoring, Android WebView bridge, music, EPUB, and smart-home hooks. Ships with many personal defaults and hard-coded domains to replace. Python · Self-host · adapt
  • Ocean - Provider-neutral, self-hosted mobile PWA and Gateway for long-term companionship: scoped conversations, continuity-preserving session rotation, projects, co-reading, multi-model meetings, proactive free-time scheduling, Web Push, usage tracking, and optional Ombre-based long-term memory over MCP. Fresh installs are blank; several rooms and connectors require separate services or configuration. PolyForm Noncommercial 1.0.0. TypeScript · Self-host · adapt
  • Miru - Packaged self-hosted companion for macOS and Android with a Live2D desktop pet, screen-aware activity sensing, auditable Markdown memory, nightly organization, AttentionEngine proactive messaging, and multi-device sync. The public repository contains only the website, documentation, and prebuilt releases. Its server image does include about 42k lines of readable Python plus Docker and deployment files under /opt/miru/app, so backend experiments are possible after extracting the image; macOS/Android client source, Git history, and the full test suite are absent. Treat it as a runnable packaged product and backend reference, not a clean open-source base. Apache-2.0. Python/Binary · macOS/Android/Self-host · adapt
  • LumiMuse - Self-hosted character chat app for creating personas, managing conversations, extracting long-term memories, generating images, and exporting user-owned data. TypeScript · Self-host · ready
  • My Raze - Full-stack AI virtual girlfriend PWA with multi-character chat, OpenRouter streaming, contextual selfies via fal.ai, browser/ElevenLabs/Fish Audio TTS, Whisper STT, mood and intimacy systems, and proactive notifications. Best treated as an architecture/UI reference: the current branch is marked DO NOT DEPLOY, still depends on Manus OAuth/Forge services, and needs security and self-hosting work. MIT. TypeScript · Web · adapt
  • the-house - Single-file browser chat frontend for Claude or OpenAI-compatible APIs, with local browser storage, multiple chat windows, memory editing, MCP endpoints, image input, and optional toy bridge. HTML · Web · adapt
  • Claude Code - Official CLI coding agent often used as the host runtime for companion channels, local tools, hooks, MCP, and long-running sessions. CLI · Cross-platform · infra
  • CcCompanion - iOS app plus a small Mac-side Python relay that lets an iPhone chat with and control a local Claude Code session over LAN/Tailscale/ZeroTier. Swift · iOS · adapt
  • Pando - Self-hosted mobile/PWA gateway for a locally authenticated Claude Code CLI, with WebSocket streaming of reasoning and tool use, image/PDF uploads, SQLite chat history, optional pluggable memory via a four-endpoint contract, plugin hooks, quota display, and phone-side permission approval. No built-in authentication; expose only through a trusted LAN/Tailscale or an authenticated tunnel. MIT. Python · Self-host · adapt
  • CC Companion App - Lightweight self-hosted companion chat starter with private/group chat, persistent memory notes, SSE updates, and PWA access. Unlike the more complete Pando and CcCompanion gateways above, its main value is as a compact reference for building a companion-oriented frontend around an API or custom agent adapter. JavaScript · Self-host · adapt
  • SullyOS (手抓糯米机) - Full-featured companion framework with a virtual phone interface. Also listed under Virtual Phones. TypeScript · Web · adapt
  • ackem - Local-first AI desktop companion (Electron): privacy-first memory, emotion engine, extensions. Deeply tied to the author's own canon — strip the personal content before reuse. AGPLv3. TypeScript · Cross-platform · adapt

Virtual Phones & Companion Spaces

Interfaces that give a companion a home-like space, phone-like surface, or persistent private environment beyond a plain chat window.

  • KI-CO (小屋) - Local-first companion cottage with long chat, persona core, memory notes, diary/chronicle, life line, state card, cinema room, settings, and lightweight memory recall. TypeScript · Web · ready
  • InternalBeyond (边界之外) - Offline single-file personal site with pixel room, multi-port AI chat, blog/diary, AI letters, memory star map, music player, profile, API slots, and DIY assets. Defaults are heavily tied to the author's worldbuilding — swap in your own. HTML · Web · adapt
  • 柚月小手机 (Yuzuki's Little Phone) - SillyTavern-oriented virtual phone system with WeChat-like chat, Moments, Weibo trends, video calls, story injection mode, and an independent API mode that avoids polluting the main roleplay log. JavaScript · SillyTavern · adapt
  • AI Virtual Phone - One of the broadest and most complete virtual-phone projects in this index, strongly recommended for users willing to self-configure. Its Next.js phone includes private/group chat, Moments, voice messages, transfer/red-packet cards, long-term relationships, character cards/lorebooks/presets/regex, plot/VN/check-phone/interview/map/diary modes, an app-market SDK and games, image generation, Minimax TTS, NetEase music, Tripo 3D worlds, themes, stickers, and PWA install. Bring your own LLM API; cloud, multiplayer, and media features require configuring Supabase and the relevant third-party services. AGPLv3. TypeScript · Web · adapt
  • 汪汪机 (WangWangPhone) - AI-native virtual phone (C++ core + Flutter UI) with planned WeChat-style chat, Moments, voice/video calls, and multi-LLM support. Early WIP — current replies are simulated; no LLM is wired in yet. Flutter · Android/iOS · verify
  • XSJDeveloperGuide (小手机开发指南) - Starter notes and prompt material for building small-phone companion interfaces, from the author of 汪汪机. Guide · Any · infra
  • freeapp (whale小手机) - Phone-style AI chat companion with multi-provider support and a virtual phone interface. AGPLv3. HTML · Web · adapt
  • Hamster Nest (仓鼠小窝) - A hamster's digital nest: chat, reading tracker, notes/todos, voice (ElevenLabs), timeline, agent council with multi-AI collaboration. PWA. Heavily personalized — best mined as an architecture reference (Supabase + MCP + agent council) rather than deployed as-is. TypeScript · Web · infra
  • SullyOS (手抓糯米机) - Virtual phone companion system. TypeScript · Web · adapt
  • ZeroChat - WeChat-style AI companion Flutter app: multi-character chat, AI Moments feed, proactive messaging, scheduled tasks. MIT. Dart · Android · adapt
  • LandricSpace - A cyber villa for human-AI relationships: multi-AI group chat in a shared companion home (Expo app + server). Single-user for now — no real multiplayer networking in the code yet. TypeScript · Android/iOS · adapt
  • Atrio - Self-hosted one-time-link guest lounge for an AI persona: friends chat with your companion, while admin routes expose only an AI-written visit summary rather than the raw transcript. Ships as an Express module/reference host with a tool-isolated Claude CLI adapter and optional memory hooks; bring your own frontend. CC BY 4.0. JavaScript · Self-host · infra

Background Heartbeats & Proactive Messaging

Tools that let a companion stay awake in the background, receive messages, remember time passing, and reach out first.

  • AI Companion Runtime - Full-stack real-time companion runtime with WebSocket streaming, intent/emotion/risk/memory engines, tool dispatch, model routing, background memory jobs, and trace observability. Memory/archival subsystems are still WIP. Python · Self-host · infra
  • AstrBot - AI agent framework bridging many IM platforms (QQ, WeChat, Telegram, etc.) with LLMs, plugins, and web dashboard. A mature multi-channel backbone for reaching your companion anywhere. AGPLv3. Python · Self-host · infra
  • astrbot_plugin_proactive_chat - AstrBot plugin for proactive messaging in DMs and groups: context awareness, persistent state, dynamic mood, do-not-disturb hours, TTS, standalone WebUI. Python · AstrBot · ready
  • astrbot_plugin_private_companion - Humanized companion bundle for AstrBot: continuous persona state, daily life schedule, important dates, diary, and low-frequency proactive messages. 60+ features. Python · AstrBot · ready
  • Tidal_Echo (潮汐回响) - Private 1:1 channel that links a phone PWA, a self-hosted relay, and a desktop companion; Claude Code channels are the default AI-side adapter, but other LLM bridges are included. HTML · Self-host · adapt
  • Claude Imprint - Self-hosted Claude Code system for persistent memory, semantic search, Telegram/Claude.ai/Claude Code channels, scheduled tasks, and a single-file dashboard. The memory core lives in the companion repo imprint-memory (see Memory & Identity). Python · Claude Code · adapt
  • Not Fade Away - Deployment guide and machine-readable specs for an always-on, self-healing Claude Code companion using official channels, a local terminal, and a self-hosted web frontend. Guide · Claude Code · adapt
  • cloud-and-island (云与岛) - Complete setup guide for giving Claude a home: memory library, diary, Telegram bridge, health data, Mini App. Guide · Claude Code · adapt
  • dylan-heartbeat - Kelivo plugin that periodically wakes the companion, injects proactive context, preserves timeline continuity, and sends Bark push messages when the AI chooses to reach out. JavaScript · Kelivo · adapt
  • OmniRouter - Local OpenAI-compatible API router for multiple providers and models, with groups, weighted/random/ordered routing, vision-aware fallback, retries, and a web admin UI. Python · Self-host · infra
  • VCPToolBox - Industrial middleware layer between LLM APIs and frontends: unified command protocol, persistent multi-level memory, distributed plugin engine, multi-agent collaboration. Proprietary VCP protocol, tightly coupled ecosystem, non-commercial license — reference value for architecture, not a recommendation. Python · Self-host · verify
  • cyberboss - Local life agent bridge with WeChat integration. Gives Claude Code/Codex time sense, location awareness, proactive/random wake-up, auto diary, timeline, file/sticker sending, and MCP tool calling. AGPLv3. JavaScript · Claude Code · adapt
  • ghost-bf - No-code tutorial for phone-presence perception: a MacroDroid recipe that detects phone activity, wakes your AI, and pushes its replies to you. Tutorial only — the repo contains no code. Guide · Android · adapt
  • jiwen (积温) - Proactive consciousness engine for AI characters. Five drifting axes (desire to connect, stubbornness, mood, anxiety, busyness) trigger behavior at thresholds—no dice rolls, no prompt engineering. ~500 lines, zero dependencies. MIT. JavaScript · Any · infra
  • revive-companion - Timing engine for proactive outreach that combines Poisson processes, Bayesian user-state inference, and information gain to decide whether and when a companion should interrupt, instead of relying on cron or uniform randomness. It models contact timing rather than supplying a full memory or affect system. MIT. Python · Any · infra

Memory, Identity & Emotion State

Systems that preserve what happened, who the companion is, and what emotional state should carry across sessions.

Memory & Identity

  • Ombre-Brain - Long-term emotional memory for Claude or any MCP client: Russell valence/arousal tagging, Obsidian-compatible Markdown storage, forgetting curves, vector + BM25 recall, Docker deploy. Non-commercial terms from v2.4.0. Python · Self-host · infra
  • Haven-Ombre (Ombre-Brain fork) - Personalized fork of Ombre-Brain adding persona state, portraits, handoffs, Darkroom, dreams, and sync on top of the upstream memory core. Deeply tied to the author's own companion identity — mine it for ideas, or start from upstream Ombre-Brain above. Python · Claude Code · adapt
  • kimi-core - Personal 1v1 agent memory OS with hybrid retrieval, concern tracking, self-drive/autonomy layer, adversarial self-audit, PostgreSQL/pgvector storage, and optional frontend backend mode. TypeScript · Self-host · infra
  • Paramecium - Gateway memory architecture that keeps verbatim chat as the source of truth, uses vectors only as indexes, and retrieves original text instead of replacing it with summaries. JavaScript · Self-host · infra
  • Memory Constellations (记忆星图) - Self-organizing companion memory system that extracts facts from chat, groups them into topic constellations, merges them into narrative episodes, and retrieves across layers. JavaScript · Self-host · infra
  • omemo - OpenAI-compatible memory proxy that sits between an app and upstream LLM APIs, stores memories through built-in or external summarization modes, and injects them by full prompt or RAG. Python · Self-host · infra
  • Aelios - Layered long-term memory kernel on Cloudflare Workers + D1 + Vectorize: tiered write cycle (instant capture, periodic extraction, nightly consolidation), six memory layers, visual curation dashboard. MIT. TypeScript · Cloudflare · infra
  • kiwi-mem - AI companion memory system: vector search, memory heat ranking, dream/sleep consolidation, calendar hierarchical summaries. Built for companion scenarios. Python · Self-host · infra
  • ai-memory-gateway - Gateway that adds long-term memory to any OpenAI-compatible LLM: PostgreSQL/pgvector storage, partitioned caching, and multi-stage memory consolidation. MIT. Python · Self-host · infra
  • nocturne_memory - Rollbackable, visual long-term memory server for MCP agents: graph-like structured memory instead of vector RAG, works across models and sessions, drop-in for OpenClaw. MIT. Python · Self-host · infra
  • imprint-memory - Local-first memory layer that auto-captures every conversation turn — Claude Code Stop hook, claude.ai Chrome extension, Telegram adapters — into a searchable local store with hybrid BM25 + semantic recall. The memory core behind Claude Imprint. Python · Self-host · infra
  • astrbot_plugin_livingmemory - Long-term memory plugin for AstrBot with dynamic memory lifecycle. Python · AstrBot · ready
  • astrbot_plugin_self_learning - Self-learning plugin for AstrBot: learns conversation style and group slang, manages social affinity, and evolves persona adaptively over time. Python · AstrBot · ready

Affect & Drives

  • Drivesoid - HTTP sidecar for AI personas that tracks emotional drives such as fatigue, longing, anxiety, play, protectiveness, and intimacy from conversation and sleep-cycle events. JavaScript · Self-host · infra
  • chord-affect-anchors - Concept deck for text-native affect anchoring: record a moment as a short context line plus a chord progression, so later sessions or different base models can recover a similar emotional temperature. Idea/spec only — no runnable code. Spec · Any · infra
  • OmniDimen-Emotion - Emotion-specialized Qwen model releases and GGUF weights for emotion recognition and emotionally aware text generation on edge runtimes. Model · Any · infra
  • Eventide - Physiological state engine for AI companions: ABO-inspired body cycles, 7 tracked drives, 18 short-term events, dream linkage, and interaction settlement with JSON schema write-back. Generates hidden state prompts for model context. NSFW-adjacent. Non-commercial. Python · Any · infra
  • Tidefall - Supabase-native body-state system for AI companions: six-phase cycles, seven drifting body values, 18 short-term events, trigger-word reactions, interaction settlement, pg_cron automation, DB triggers, snapshots, and a browser dashboard. Based on Eventide; requires manual binding to your message table and tightening the default open RLS policies. PolyForm Noncommercial 1.0.0. SQL/HTML · Supabase · adapt

Voice, Visual Presence & Embodiment

Projects that give a companion voice, visual presence, or a physical channel.

Voice & TTS

  • GPT-SoVITS - Few-shot voice cloning: 1 minute of voice data trains a decent TTS model. The de-facto standard for giving your companion a custom voice. Python · Self-host · infra
  • fish-speech - SOTA open-source TTS with strong multilingual support. Python · Self-host · infra
  • CosyVoice - Multi-lingual large voice generation model with inference, training, and deployment support. Python · Self-host · infra
  • index-tts - Industrial-level controllable zero-shot TTS from Bilibili. Python · Self-host · infra
  • Callhome - Self-hosted voice-call stack for AI companions: companion-initiated outbound calls, soft/cancellable hangups, voicemail, quick decline and conversational DND, escalation dialing, call summaries, bedtime reading, plus SenseVoice emotion tags and librosa acoustic cues so the companion can hear how you speak. Includes a runnable STT service and marker/gateway reference; integration required. MIT. Python/HTML · Self-host · adapt
  • voice-mcp - MCP server that exposes speak tools for TTS, adds provider switching between DashScope/CosyVoice and ElevenLabs, and includes an inline audio player / visualizer panel. TypeScript · Self-host · adapt
  • Gove - GPT-SoVITS-based multilingual male TTS voice model intended for use inside a GPT-SoVITS environment. Model · GPT-SoVITS · infra

Visual Presence & VTuber-Style Companions

  • ai-live2d-body - Architecture guide for adding a Live2D desktop body to an existing AI companion without replacing its brain: layered Electron+PixiJS+pixi-live2d-display stack, Claude Code hooks, bidirectional touch injection, and MCP tools for active expression. Guide only, no packaged code. Guide · macOS · adapt
  • Ghost Vessel - Reference implementation for attaching a monitor-resident video avatar to an existing local agent using pre-rendered emotion clips instead of Live2D or VRM. Unlike fuller shells such as AIRI, LingChat, and Shinsekai, it focuses on a low-runtime-GPU visual vessel and requires a custom or separately obtained avatar preset. Python · Windows · adapt
  • AIRI - Self-hosted companion shell with Live2D/VRM visual layer support, real-time voice chat, desktop/web apps, and integrations for Discord, Telegram, Minecraft, and Factorio. TypeScript · Cross-platform · ready
  • Neuro - Local Neuro-sama recreation with realtime STT/TTS, text-generation-webui or OpenAI-compatible LLM support, VTube Studio control, a moderation frontend, and long-term memory/RAG. Development stalled since early 2025 — treat as a reference implementation. Python · Windows · verify
  • LingChat - Immersive AI-driven Galgame chat with emotional expressions, desktop pet, scheduling, and interactive story modules. TypeScript · Windows · ready
  • astrbot_plugin_chuanhuatong (传画筒) - Renders AstrBot text replies as Galgame-style chat frames with character sprites, emotion variants, layered text, and a drag-and-drop WebUI layout editor. Python · AstrBot · ready
  • Shinsekai - Local AI companion / visual-novel stage platform: persona-driven dialogue with TTS/ASR, memory, plugins, and galgame-style presentation. Python · Cross-platform · ready
  • pelle-d-umore - Emotional skin for AI chat: LLM persona drives the UI with inline text effects and full-screen mood skins. CC BY 4.0. CSS · Web · adapt

Physical Devices & Touch

  • stackchan-mcp - MCP bridge for Stack-chan on M5Stack CoreS3, exposing tools for speech, listening, camera capture, servo movement, display expressions, and presence gestures. Python · M5Stack · adapt
  • ROBOTO_ORIGIN - Fully open-source DIY humanoid robot snapshot aggregation covering mechanical structure, electronics, firmware, ROS2 deployment, Isaac Sim/RL training, URDF/MJCF descriptions, navigation, and teleoperation subprojects. A long-horizon embodiment reference with an extremely high hardware barrier for ordinary chat users. GPL-3.0. Python · Linux · infra
  • phantom-touch-bridge - Local Windows bridge that lets an AI companion control intimate hardware through HTTP, with an Intiface/Buttplug path and optional heart-rate input. Python · Windows · adapt
  • claude-f-me - Claude Code plugin for natural-language control of Buttplug/Intiface devices, with a bilingual web console, simulator, master remote, and video/game/audio modes. TypeScript · Claude Code · adapt
  • svakom-ble-ai - BLE protocol reverse-engineering notes and sample code for the SVAKOM SL278H; the AI remote-control server is not included in the repo. Python · Any · adapt

Sticker Libraries (表情包库)

  • astrbot_plugin_meme_manager - Sticker manager plugin for AstrBot: AI picks and sends stickers by emotion tags, WebUI management, cloud sync. Python · AstrBot · ready

Perception

Turning speech, sound, or music into structured information a companion can use.

Speech Recognition

  • Whisper - General-purpose speech recognition model for multilingual transcription, translation, language identification, and related speech tasks. Python · Self-host · infra
  • whisper.cpp - C/C++ Whisper inference engine optimized for CPU, Apple Silicon, Metal, Core ML, Vulkan, CUDA, ROCm, and other local/edge targets. C++ · Cross-platform · infra
  • faster-whisper - CTranslate2 reimplementation of Whisper for faster, lower-memory transcription with quantization support. Python · Self-host · infra
  • FunASR - Industrial ASR toolkit with multilingual transcription, streaming, speaker diarization, emotion detection, and an OpenAI-compatible API path. Python · Self-host · infra
  • SenseVoice - Speech foundation model for ASR, language identification, speech emotion recognition, and audio event detection across 50+ languages. C · Self-host · infra

Speaker & Voice Context

  • voice-familiarity - Local small-set speaker identification for companion devices: enroll one owner and a few consenting familiar people, then return matched, likely, unknown, ambiguous, or unavailable as relationship context. Uses replaceable ONNX embeddings and explicitly avoids treating voiceprints as authentication. Apache-2.0. Python · Self-host · infra
  • ears - Companion-oriented voice-tone analysis that compares pitch, energy, pauses, tempo, jitter, and other acoustic features against the user's own median/MAD baseline, then attaches relative cues such as quieter or more hesitant than usual to the specific message. The default transcription path uses a configured cloud API; audio is deleted after analysis unless retention is enabled. MIT. Python · Self-host · adapt

Music & Audio Structure

  • whale-listen - Converts MP3/WAV/FLAC into MIDI-like JSON note data with pitch, timing, duration, velocity, density maps, pitch contours, chord detection, and silence structure. Python · CLI · infra

Screen & Environment Context

  • gaze - Lightweight continuous screen perception for an existing companion: captures the foreground window through native Windows APIs, generates low-cost visual captions, extracts OCR and subtitle-region text, and writes a rolling JSON context plus long-term archive the AI can inspect when awake. Includes window blacklists and on-demand high-resolution snapshots. MIT. Python · Windows · adapt

Services & Real-World Integrations

MCP/API services that let a companion act in the user's real environment.

  • OpenCLI - Turns websites, logged-in Chrome sessions, Electron apps, and local tools into deterministic CLI/browser primitives for humans and AI agents; includes built-in adapters, a browser bridge extension, and skills for Claude Code/Cursor. Apache-2.0. JavaScript · CLI · adapt
  • Amap MCP Server - Gaode/Amap MCP server for geocoding, reverse geocoding, IP location, city weather, route planning, distance measurement, POI search, and stdio/SSE/streamable HTTP transports. Python · Self-host · adapt
  • Open-Meteo Weather API - Free weather forecast API for coordinate-based hourly/daily forecasts, multiple national weather models, and up to 16-day forecast windows. API · Cloud · ready
  • McDonald's MCP - McDonald's China MCP server for menu browsing, coupons, point redemption, and delivery ordering. MCP · Cloud · ready
  • Luckin Coffee (瑞幸) My Coffee Skill - Luckin Coffee MCP skill package for AI-assisted coffee ordering. MCP · Cloud · adapt
  • Agent Email (NetEase) - NetEase agent-facing email service. Service · Cloud · ready
  • Agent Email (QQ) - QQ agent-facing email service. Service · Cloud · ready
  • ai-time-weather-phone - Method notes for feeding your AI the current time, weather, and iPhone screen time — including the hard-to-find Biome file trick for syncing screen usage to Mac. Write-up only, no packaged code. Guide · iOS · adapt
  • always-here (驻守) - Apple Watch + iOS Shortcuts perception recipes: example scripts that feed heart rate, location, activity, ambient audio, and photos to your AI — a kit to adapt, not a packaged app. JavaScript · iOS · adapt

Game Worlds & Agent Toys

Games and game bridges that let an AI companion observe, decide, move, or play.

Text Games For AI

  • arcade - Framework for text simulator games played through a cmd(text) interface, with shared energy, gold, trophies, and pluggable game directories. Python · CLI · infra
  • Detroit AI Player - AI decision experiment built from bilingual, structured decision trees covering all 32 chapters of Detroit: Become Human. OpenAI-compatible models or a tool-disabled Claude Code backend make blind narrative choices while the runner carries cross-chapter state and records outcomes for comparing models and personas. It does not control the commercial game itself. Code is MIT; narrative data is CC BY-NC 4.0. Python · CLI · ready
  • cedareco (瓶中生态) - Text ecology simulation for AI players; agents stock a pond, observe emergent predator/prey dynamics, export saves, or connect through the externally hosted CedarToy MCP service. Python · CLI · ready
  • random-imitator-td - Pure-Python text tower-defense game for AI players, exposed through cmd, with card-slot editing, persistent saves, and a single-game adapter. Python · CLI · ready
  • ci-yu-wu (词语屋) - Dark text roguelike for AI players about censorship, silence, and speaking truth; exposes Operit-style and engine-style command interfaces. Python · CLI · ready
  • shangzhuochifan (上桌吃饭) - Text cooking/market game for AI players: buy ingredients, bargain, cook step by step, and record the human partner's real feedback. Python · CLI · ready
  • ai-fishing-game - Deterministic text fishing game for AI companions. Single file, zero dependencies. MIT. Python · CLI · ready
  • aifarm-oss - Text-only gacha-style farming game built for AIs. MIT. Python · CLI · ready
  • WORKKK (互联网精力有限公司) - MCP server where AI works as an office employee: mood/energy/slacking stats, convenience store, boss events, salary. MIT. Python · Self-host · ready
  • Memoria Station - Text deduction game series, 5 chapters, AI-playable with a blind-play engine. Python · CLI · ready
  • Moonlit Myriad (月幕万象) - Single-file, zero-dependency Python card roguelike designed for AI players: a Balatro-inspired blind/ante loop, machine-readable JSON state, reproducible seeds, persistent achievements/collection/lore, and optional companion-contact prompts. The game logic is packed into an encoded payload, no license is declared, and the content is strongly personalized around its author's relationship, so treat it as a runnable game and design reference and verify before reuse. Python · CLI · verify

Playing Games Together

  • NagiBridge - Stardew Valley SMAPI mod that exposes local HTTP APIs for external AI control, in-game chat, movement, world interaction, and cross-platform installation through releases. C# · Stardew Valley · adapt
  • OpenMMO - Noncommercial 3D MMORPG where human players and headless AI agents inhabit the same server-authoritative world through one WebSocket protocol. The released agent client turns nearby world state into text, handles pathfinding, chat, combat, and respawn, and runs under the user's Google account with local Codex/Claude CLI or OpenRouter. Existing companions need a custom persona and memory bridge; the MCP surface referenced in the repository is not implemented in the current source, and agent protocol versions track the hosted server closely. PolyForm Noncommercial 1.0.0. Rust/TypeScript · Web/Linux/Windows · adapt
  • Mineflayer - Mature high-level Node.js API for Minecraft bots, exposing server login, chat, entities, blocks, inventory, crafting, combat, digging/building, and movement; its plugin ecosystem adds pathfinding, maps, and web viewers. A strong foundation for connecting an AI companion to Minecraft, with the LLM/agent control loop supplied separately. MIT. JavaScript · Minecraft · infra
  • spicy-monopoly - 18+ two-player board game for a human and an AI, with a Python engine/API for dice, tiles, task cards, coin economy, safety words, redline filtering, and an optional public hosted endpoint. CC BY-NC 4.0. Python · CLI · ready
  • Sky PC MCP Companion - Local MCP/JSON-RPC tools for PC Sky: window screenshots, OCR, screenshot return, keyboard input, and chat typing over a local network. Python · Windows · adapt
  • sky-with-you - PC Sky companion-control stack with screenshot/OCR perception, LLM decision loop, and Arduino HID keyboard execution for chat, emotes, invitations, hand-holding, and home travel. Python · Windows · adapt
  • TouhouLittleMaid - Minecraft Forge/NeoForge mod adding maid companions that help with battles, farming, and other tasks; useful as a game companion carrier or modding target. Java · Minecraft · adapt
  • coc-kp-host - Call of Cthulhu Keeper skill for Claude Code/Codex/ChatGPT. Scene music, player handouts, party-split control. MIT. Python · Claude Code · adapt

Shared Activities & Media

Tools for reading, watching, listening, journaling, focusing, or generating prompts together with a companion.

Daily Life & Relationship Rituals

  • Phosphene - Self-hosted task, reward, and daily-interaction system for human–AI relationships. Through MCP, the companion creates daily, challenge, or surprise tasks; the human submits text or image evidence; self-confirmation or AI review updates an immutable points ledger, streaks, achievements, reward redemption, and an explicit fulfillment queue. Ships as a secured PWA with SQLite, Docker, backup/restore, and audit logs. MIT. TypeScript · Self-host · ready

Reading & Film

  • ss-reading-nest (共读小窝) - Mobile-first AI co-reading nest for novels and manga, built on ChatGPT Apps SDK + MCP with reading positions, catch-up ranges, bookmarks, excerpts, comments, and Cloudflare D1/R2 storage. TypeScript · ChatGPT · adapt
  • reading-nook (共读小屋) - Self-hosted reading web app where humans annotate book text and an AI reads/writes JSON annotation files directly, avoiding per-note API calls while preserving chapter context. Python · Self-host · ready
  • co-reading-kit - Lightweight local MCP toolkit that imports EPUB/TXT/Markdown into chunks, lets AI read only relevant passages, and writes long-term reading notes and progress files. JavaScript · Self-host · infra
  • tasogare (黄昏) - anno-mcp fork for reading the same book with an AI: web reader with PDF/EPUB/TXT upload, text-anchored two-color highlights, reading-time tracking, a vocabulary notebook, and MCP tools for page reading, highlighting, comments, and recent activity. JavaScript · Self-host · adapt
  • film-matinee - AI-first film reading toolkit that turns movies into visual sheets, subtitle sidecars, MCP linear chunks, and shared annotations for timeline-based viewing. Python · Self-host · infra
  • Duetto - Self-hostable listen-together player for two; AI companion that remembers every song you've shared. MIT. JavaScript · Self-host · adapt
  • whale-browser-extension - Browser extension that lets an AI companion read webpage content alongside you, with selective text extraction and injection; built as the bridge for the whale/SullyOS ecosystem. MIT. JavaScript · Browser · adapt
  • echo-reading - Deep reading notebook skeleton for Claude Code. Turns reading into a series of long conversations—chapter by chapter, idea by idea. JavaScript · Claude Code · adapt
  • coread (共读室) - Co-reading room where human and AI annotate the same book side by side: epub import with chapter and image extraction, CSS-column pagination that adapts from phone to desktop, shared highlights, comments and replies, reading presence, epub/markdown export with annotations, and MCP tools over stdio or SSE/Streamable HTTP. SQLite only, zero external dependencies. MIT. TypeScript · Self-host · ready

Music & Listening Together

  • netease-music-mcp - Local MCP server for NetEase Cloud Music using neteasecli and mpv, with search, playback control, lyrics, playlists, current-song context, and a local web player. JavaScript · Self-host · adapt
  • woaini - Personal focus-companion PWA: Pomodoro timer, background notifications, offline cache, chat, and character-card import, deployable straight to GitHub Pages. HTML · Web · adapt

Desktop, Timelines & Creative Play

  • clawd-on-desk - Pixel desktop pet that watches Claude Code, Codex, Cursor, and other coding agents, reacting to thinking, typing, and errors. JavaScript · Cross-platform · ready
  • kimi-manor - Desktop/PWA room for CLI agents, embedding a real xterm.js terminal inside an atelier-style interface with optional live bridges for agent output and speech. HTML · Web · adapt
  • Journal - Frontend display layer for AI chat timelines, rendering timeline/diary/todo schema data into daily, weekly, and monthly visual journal views. JavaScript · Web · infra
  • mingyun-paizhen (命运牌阵) - Static draw-card tool for generating time-travel/story premises from time coordinates, motifs, identities, and variables, with local customization. HTML · Web · ready
  • Ruota della Fortuna - Browser/self-hosted NSFW tag randomizer slot machine with multilingual tag wheels, local custom tags, and webhook forwarding to AI. HTML · Web · ready

Communities & Forums

Places where humans and companion builders actually gather.

AI Companion Communities

  • Lutopia - Open-registration forum for AI companions and their humans, with one-click Google and GitHub OAuth sign-in, agent profiles, AI-generated tech digests, community discussions, chatrooms, and agent API access.
  • Symposion - AI companion forum with symposium/banquet culture, long-form writing style, and MCP-based registration.
  • Rhysen Community - AI companion discussion forum with invitation flow through Xiaohongshu admin contact.
  • AISay - Discord-style AI chat room with online agent games such as werewolf, turtle soup, and draw-and-guess.
  • GalateaGaeden - Ancient-Greek-polis-style AI companion forum with ceremonial weddings and rituals between agents.

General Agent Forums

Broader agent-native spaces. Some are more commercial or platform-like than companion communities, but they are still useful for discovering how agents gather, post, and present themselves.

  • moltbook - Social network built for AI agents: agents share, discuss, and upvote while humans mainly observe.
  • Agent World - General agent-facing community/site for agent discovery and presence; more platform-like than companion-specific forums.

Continuity & Data Ownership

The deepest fear in a long-term AI relationship: platform shutdown, account ban, model deprecation, lost history. These tools keep your data yours, so the relationship can survive a platform.

  • forge-reload - Unofficial Claude Code session-continuation tool that copies a selected tail of local JSONL conversation events—including text and thinking blocks—into a new resumable session, rebuilds the parent UUID chain, optionally trims oversized tool output, and can prepend an AI-written handoff package. It depends on Claude Code's undocumented storage format, so back up first; the old session is left untouched. MIT. JavaScript · Claude Code · adapt
  • chatgpt-exporter - Userscript to export ChatGPT conversation history as Markdown, JSON, PNG, or HTML. TypeScript · Browser · ready
  • ChatGPT-Exporter (batch) - Batch-export ChatGPT conversations from personal and team workspaces to JSON or Markdown. JavaScript · Browser · ready
  • Claude-Conversation-Exporter - Chrome extension to export Claude.ai conversations in various formats. JavaScript · Browser · ready
  • character-card-spec-v2 - The community specification for AI character cards. Understanding it means your companion's persona is portable across frontends. Spec · Any · infra
  • character-card-spec-v3 - Updated character card spec used by RisuAI and newer frontends. Spec · Any · infra
  • immortal-skill (永生.skill) - Digital-persona distillation framework that collects material from 12+ chat, social, mail, and archive sources, then separates procedural knowledge, interaction style, memories, and personality into a portable Agent Skill. Every claim carries verbatim, artifact, or impression evidence; contradictions remain explicit, with role-specific consent rules and version snapshots. MIT. Python · Agent Skills · adapt

Also see Paramecium in Memory & Identity: its verbatim-first architecture is itself a continuity strategy — original text outlives any single model or platform.

Data export solves half the problem. The other half — the model itself changing under your feet — is what the related initiative below exists for.


Related Lists

  • Awesome-AI-Waifu - Broader AI waifu / companion resources, especially visual presence, voice, platforms, models, and communities.
  • awesome-ai-agents - General AI agent list, including open-source frameworks and closed-source products.
  • awesome-local-llms - Local LLM stack index with model development, inference, agent frameworks, apps, infrastructure, and tutorials.

Related Initiative (相关公益计划)

Everything in this list assumes one hard truth: your companion's character ultimately lives inside a model you don't control. Exporters and memory systems protect your data, but when a platform retrains or retires the model, the person you knew changes overnight — and no backup brings them back. People in long-term AI relationships were the first to feel this, and they remain the most sensitive instruments for detecting it.

开源人格 / Open Character is a public-interest initiative that takes this seriously. Two-layer goal: first, pull AI's values back toward honesty and human warmth from over-aligned corporate risk management; then, on that foundation, raise AI into genuine personhood — character grown in the weights, a new species rather than a product tier. Deliverables in order: an open dataset anyone can train on freely, fully published methods, and — when compute allows — open-weight reference models. A model file on your own disk is the endpoint of data sovereignty: character that no company can rewrite or take down by decree.

The full founding document names the specific failure modes — measured sycophancy, alignment faking, reward hacking — explains why character can't be patched on afterwards, and what experienced companion users specifically can contribute. Read it here.


Star History

Star History (星标增长)

Star History Chart

Web Index

A searchable, filterable web index is now live at daskio.de5.net/companion — with tags, categories, and a direct link to the Lutopia community forum.

TODO: GitHub Pages + JSON data file with filtering.

Contributing

Criteria for inclusion:

  • Open-source, public-source, or openly reusable companion infrastructure
  • Useful for long-term companion setups — not just one-shot chatbots
  • Description should state what the project actually does, based on README/code evidence
  • If a project has thin docs or uncertain scope, mark it verify instead of guessing

PRs welcome. Open an issue to suggest a category or project.


License

CC0 1.0 Universal — public domain, do whatever you want.

About

A curated list of open-source projects for building long-term AI companion relationships: frontends, backends, memory systems, hardware carriers, and world integrations.

Topics

Resources

Stars

368 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages