A phone surface for one local agent
The first version connected an Expo / React Native app to the Linux daemon over Tailscale, with Telegram as a second way to reach the same conversation, tools, and memory.
Aiko is the agent layer I am building over my own machine: a local daemon, mobile app, Telegram bridge, embodied desktop stage, tool runtime, and memory system wired into one loop. It gives me one interface for files, shell, Git, Docker, calendar, web, voice, reading, image generation, and long-running build work.
Aiko is not a single binary. A TypeScript daemon holds the identity; a React Native phone app, Telegram bridge, and desktop stage expose different ways to reach the same system. The body changes. The conversation and tools do not.
The brain. A Linux background process that can hot-swap Ollama, OpenRouter / MiniMax, Moonshot / Kimi, and CLI-agent providers without changing Aiko's identity. It owns memory, tools, proactive work, and event delivery.
Android (Expo / React Native) client. Reaches the daemon's 100.x.y.z:8080 Tailscale IP and opens
a long-lived WebSocket — zero public internet, zero cloud, encrypted end-to-end by WireGuard.
A persistent Telegram bot for casual contact and on-the-go control. Destructive actions are gated behind a TOTP challenge; the same shared logger streams ACK events back into the unified pipeline.
A movable VRM stage driven by Aiko's own stage directions. It connects live chat, Qwen3-TTS voice sync, swappable skins, and 79 retargeted motion clips into a visible PC presence.
Every inbound message — Telegram or mobile — runs through the same six-stage pipeline. Two of those stages are fast pattern matchers that never touch the LLM. Two background ticks run in parallel: a 60-second decay loop and a 3 AM distiller that compresses yesterday's diary into long-term facts.
Pattern matcher reads the user message and emits a limbic delta — no LLM call.
Delta applied to persisted state. Mood overlay derived for the system prompt.
Dynamic 8-section system prompt assembled per turn; reply streamed back.
Structured tool calls are validated against skill manifests, executed, and fed back into the same turn.
Energy spent. Annoyance updated. Trust adjusted.
Turn appended to today's diary. Event mirrored to mobile + dashboard.
Background tick — limbic decay applied, queued proactive messages delivered to whichever surface is connected.
Nightly distillation — yesterday's diary read, compressed into a summary, relationship facts extracted and persisted to facts.json.
Memory in Aiko is not one bucket — it is a layered store, each tier with its own lifetime, write cadence, and access pattern. Identity is permanent and read every session; relationship facts are extracted nightly; episodic diaries grow append-only; working memory is per-session; world-state is live.
Who Aiko is, who the user is, the relationship contract. persona.md, style doctrine, hard rules. Loaded every session.
Preferences, habits, opinions, triggers. JSON key-value store extracted nightly by the distiller from raw diary text.
Daily diary files at episodic/YYYY/MM/DD.md. Every turn appended. Summarized and compressed at 3 AM the following night.
Last 20 turns. What was just said. Cleared when the daemon restarts; reseeded from the diary on warm boot.
Machine state, time, environment, connected surfaces, currently-running skill jobs. JSON, rewritten on every tick.
Six dimensions. Each one persisted across restarts, mutated by the appraisal engine on every message, decayed on a 60-second tick, and overlaid onto the system prompt as a mood directive. Baseline-locking means that if affection and trust stay high for enough consecutive turns, the resting floor permanently rises.
The active registry has grown from 54 to 88 manifest-backed skills. Foundations such as file, shell, and process access compose upward into library work, avatar control, diagnostics, media pipelines, and multi-agent pilots. The nodes below are a selected map of the current registry, not a frozen catalogue.
This is the mothership: not a folder of old repos, but a core that can wrap them, validate them, route them, and let Aiko use them. A hackathon bot, a CLI utility, a media script, a model pipeline, or a weekend automation stops being a dead project once it ships as a manifest-backed skill. The graph records its dependencies, inputs, outputs, permissions, safety rules, and tier placement, so Aiko can compose it with everything else instead of treating it as another isolated codebase.
Aiko's first long-running build system used three Gemini lanes: Architect, Executor, and Auditor. The current runner is broader: it can hand bounded work to Codex, Claude, Antigravity / Gemini, or Cursor, while Aiko stays the front door and keeps each friend or pilot session separate from her own memory.
The only agent that talks to me. Source code is read-only. Owns the canonical task plan (CSOT.md). Drives BRIEFING → ALIGNING → REVIEW phases.
Pure code implementer. Never plans, never talks to me. Full CRUD on source + tests. Stages clean commits in the [AIKO:TASK] format. Never touches node_modules, .aiko/, or Aiko.md.
Verification gatekeeper. Read-only on source code, full write on tests. Never rewrites production code. Routes the FSM forward, back, or to BLOCKED.
This first recording captures the mobile surface as it existed at the end of April. It stays here as the original checkpoint, with the newer growth video below it.
Recorded 29 April 2026 — portrait capture from the React Native phone app over Tailscale.
The project started as a private mobile interface to a Linux agent. Each checkpoint added another kind of continuity: a place to read, a body on the desktop, more capable hands, and model-independent identity.
The first version connected an Expo / React Native app to the Linux daemon over Tailscale, with Telegram as a second way to reach the same conversation, tools, and memory.
Source browsing, chapter downloads, comic and EPUB reading, resume state, narration, voice packs, and a navigable pixel room turned the app into a lived-in space rather than a chat client with extra screens.
The Agent Forge build connected Aiko's stage directions to a movable VRM stage, 79 retargeted motion clips, swappable skins, a read-only live chat tap, and Qwen3-TTS voice synchronization.
The embodied experiment moved from isolated demos toward a live shared session: desktop presence, phone control, model and skin switching, and the motion pipeline shown as one evolving system.
Aiko now has 88 active skills and can route between local Ollama, OpenRouter / MiniMax, Moonshot / Kimi, and CLI agents. Provider tags and isolated friend sessions make the system easier to inspect without fragmenting the one identity the user talks to.
A 93-second build diary: the pixel Library room, the first humanoid / VRM experiments, one live PC-and-phone session, swappable model skins, and the motion research that is shaping the next body.
Welcome.