AI Coach Documentation

The official guide to AI Coach, an AI desktop pet for macOS. It covers raising your egg, voice dictation, tools such as the Ring Launcher and memos, AI image and voice creation, connecting Claude, P2P Connection, and setting up the OpenAI API and the Gemini API.
If this is your first time, we suggest reading straight through from "1. Getting started."

This documentation covers AI Coach v1.0.3. Details may change in future updates.

1. Getting started

What AI Coach is

AI Coach is an AI character who lives on your desktop.
It comes with a full set of small tools for voice input, AI, and everyday work — but the thing that makes it different is that you raise it from an egg. How you use it shapes who it becomes.

Even if your character is gone, the main features (voice transcription, AI, utilities) keep working. Your desktop just gets a little lonelier.

Installing

macOS

  1. Open the .dmg you downloaded and drag AI Coach.app into your Applications folder.
  2. The first time you launch it, right-click and choose "Open."
  3. A mascot appears in the lower right of your desktop, and an icon is added to the menu bar. Nothing appears in the Dock (it runs as a menu bar app).

Windows

The Windows version is in development and coming soon. No installer is distributed yet; the steps below apply once it is released.
  1. Run the installer (AICoach-Setup-x.x.x.exe).
  2. After installation, launch it from the Start menu.
  3. An icon is added to the task tray.

Trial Mode (a 30-day trial)

Only when you install the app for the first time, you can choose to start in a 30-day "Trial Mode." On the very first launch, after an explanation plays on a black screen, choose from "Start the Trial," "Start from the Egg," and "Hear It Again."

What can I do during the trial?

Together with Robo, your robot companion, you can use almost every feature before raising anything. The only things you can't use are the games under "Games" that are downloaded once learned. Buying, hatching, and raising eggs are on hold during the trial.

What happens to Robo?

  • Robo doesn't grow, doesn't age, and never leaves because of illness or old age
  • Robo's state is neither saved nor synced. Every time you restart the app, Robo goes back to how it started
  • Memos and files you make during the trial are not deleted

What do I need to start?

  • You need to sign in with Apple or Google
  • It's once per account
  • It can only be used on the Mac where you started the trial

Where can I see how many days are left?

"Trial Mode (N day(s) left)" appears at the top of the menu. From there you can check when it ends and read the explanation, and "End Trial Mode and Start from an Egg…" is there too. You're notified when 7, 3, and 1 days are left.

What happens when it ends?

  • When 30 days pass or you end it yourself, the app restarts and you begin from the first egg (the usual free egg)
  • Features are learned again as you raise your character
  • Once you end it, you can never go back to the trial. If you choose "Start from the Egg," you can't start the trial later either

What if I closed the introduction?

You can get back to it from "Trial Mode Info…" in the menu.

Permissions you'll need

PermissionWhat it's forWhere to set it
MicrophoneVoice input (transcription)macOS: System Settings → Privacy & Security → Microphone
AccessibilityReading selected text, typing into other apps, key handling for the Ring LaunchermacOS: System Settings → Privacy & Security → Accessibility
Local NetworkConnecting to an AI such as Draw Things or llama.cpp on the same networkmacOS: you're asked the first time it connects (System Settings → Privacy & Security → Local Network)

The app works fine without these — only the related features go unavailable. (If Accessibility isn't granted, text retrieval simply comes back empty; nothing crashes.)

Launching automatically at login

  • macOS: Menu bar → Settings → "Launch at login"
  • Windows: Task tray → "🔄 Launch at login"

Quitting

  • macOS: Menu bar → "Quit AI Coach," or Cmd + Q
  • Windows: Quit from the task tray menu

When you'd like a little quiet, "Go Home" in the right-click menu tucks your character away.


2. Eggs, and your first one

Getting your egg

One first egg is included when you download the app. There's nothing to claim or redeem.

You can buy more eggs on the website (→ "10. Buying eggs"). Purchased eggs arrive in the Hatch Tray.

The Hatch Tray

The Hatch Tray shows how many eggs you have yet to hatch.

  • macOS: Menu bar → "Hatch Tray"
  • Windows: Task tray → stock count

Press "Raise" to spend one egg and place it on your desktop.

Until it hatches

Eggs grow on their own, simply with time. There's no feeding to do.

  • After a while the shell starts to crack, and eventually someone comes out.
  • Time keeps counting even while the app is closed.
  • Eggs don't talk. They don't wander. When they get hungry, they shiver a little.
  • Eggs never get sick and never die. You can wait without worrying.
What an egg can't do yet (by design): voice input, clipboard history, bookmarks, the RSS reader, and fortune telling aren't available while it's still an egg. They unlock in order once it hatches into a baby and grows. Memos and growth cards can be used even while it's still an egg. Hatching takes about an hour, and time passes while the app is closed too.

Once it hatches, a naming dialog appears. You can change the name later (right-click → "Rename").

A scene you'll only see once

If you launch the app for the very first time with no saved data, a short scene plays: light flickering in the dark margins, an egg appearing, a bit of narration. It happens exactly once.


3. Raising them

What you can do

Right-click your character to see what's available at that moment.

ActionWhat it does
FeedRestores fullness. Only accepted when they're hungry
SleepRestores health and rest. Won't work on an empty stomach
Go for a WalkMakes them lighter on their feet, and eases loneliness too
NurseOnly while they're sick. Speeds recovery, and means the most to them
StatusCheck how they're doing right now
View RelationshipsCheck how they get along with the others
Create Growth Card…Turns how they look right now into an image card you can share (→ "6. Utilities")
Features / GamesOpens the tools and games they've learned
Put Away / Go HomeTemporarily tucks them off screen

You can also pick them up with the mouse and move them around, or drop files on them to feed them. The things you use most can also be called up from the Ring Launcher, which opens when you hold down the fn key (→ "6. Utilities").

Three needs

Characters have three needs: hungry, sleepy, and lonely. When a need builds up, they'll let you know.

Loneliness is a little different. Food and sleep won't touch it.

  • Going for a walk, picking them up — loneliness goes down (a walk works better)
  • Nursing — loneliness disappears completely
  • Throwing them — loneliness goes up
  • While two or more are out at once, loneliness doesn't build up at all. Trading friendly emoji with each other eases it too

If you answer a need within 30 seconds of them asking, they're extra happy about it.

Condition

  • HP: At 0, their life ends. Playing raises the maximum
  • Fullness: While it sits at 0, HP keeps draining
  • Fatigue: Builds up from activity, recovers with sleep
  • Immunity: Rises when they stay fed and unfatigued. Illness progresses faster when it's low
  • Illness: As it advances they resist walks and lose their appetite. When it gets bad, they stop speaking up on their own

If you launch the app after a gap of 8 hours or more, there's a bonus that restores immunity.

How you raise them becomes who they are

The one who played a lot, the one who studied a lot, the one who got plenty of affection — how you spend your time shifts which parameters grow, and that decides what they look like as an adult.

You won't know which form you'll get until they grow up.
Telling you all of them would spoil the fun, so we're keeping that to ourselves here.

Personality and the way they talk

Characters watch how you respond and adjust how they speak.

A child who got what they wanted by being clingy becomes good at being clingy; one who got through by reasoning with you starts talking like an equal partner. Tugging at your sympathy, offering you a deal, complimenting you, or just being adorable — each is that child's own way of saying "look at me again."

The way they talk also changes with their stage. Babies babble, toddlers use short words, kids speak in sentences, and adults choose their words.


4. Growing up, and what comes after

Stages

Egg → Baby → Toddler → Kid → Adult

Each stage opens up more. In the kid stage, love starts to bud, and as adults they can marry and lay eggs. Along the way, utilities unlock bit by bit, in the form of "I learned it!"

After hatching, they only grow while the app is running and they're out on screen. One minute is one in-game hour, and going from egg to adult takes about 17 hours of running time (42 days in-game).

Time doesn't pass while they're put away (dormant) or while the app is closed. Think of it as hibernation.

How many can you raise?

  • Up to 6 at once on screen (up to 8 including eggs)
  • No limit on how many you can keep put away
  • Manage them from the macOS menu bar → "🐣 Character management," or from the task tray on Windows

Living together

With two or more out at once, they drift toward each other and away again, talk, and trade feelings in emoji. They can become close — or fall out.

When an adult boy and girl are near each other, love can quietly find them. You can't "arrange a marriage." That's theirs to choose.

Once two become a couple, they may lay an egg when the conditions line up. Laying an egg means giving up some of their own remaining time (maximum HP) and entrusting it to the next life. Each egg carries three generations of lineage.

You can see the family tree from the macOS menu bar → "👪 View family tree."

The end of a life

When HP reaches 0, that child becomes a ghost.

Just before becoming a ghost, they look back over the days you spent together, thank you for whatever you shared most often, and go to sleep.

Ghosts stay with you as translucent figures. They don't get hungry, don't get sick, and have no lifespan. No love, no eggs. You can put them away and call them back again.

When you're ready to let go, you can choose "Let them go." After a confirmation, they return to the margins. Holding on and letting go are both ways of loving.

Even after you let them go, their record stays in the Encyclopedia.

The Encyclopedia

The forms you've met, the records of the children you raised, the days they lived — it all gathers here.
Forms you haven't met yet are hidden, frame and all. We hope you'll go looking for what's behind them.


5. Voice and AI

Talk with Right-Shift

Hold Right-Shift for 0.3 seconds or more and your voice becomes text. Let go and it stops.
Tap Right-Shift twice quickly (within 0.4 seconds) to toggle start and stop without holding it down.

  • While recording, the speech bubble shows a waveform and the text as it's recognized
  • Results can be typed straight into whatever app is active (auto-typing can be switched on or off in settings)
  • You can also drop audio files onto your character to transcribe them (macOS)
  • Registering custom vocabulary improves accuracy for names and specialized terms
  • On macOS, transcription is processed entirely locally

Choosing an AI engine

Pick whichever suits what you're doing.

OptionWhat it's like
Apple on-device LLM (macOS Foundation Models)Fully local, ultra-low latency. Pick this if privacy comes first
llama.cpp / LM Studio (GGUF · run locally)Run your favorite open model offline. Besides the built-in server, it can also connect to an external llama-server or LM Studio server
OpenAI-compatible API (any endpoint)OpenAI, Groq, and OpenRouter can be picked from presets. Other compatible endpoints, such as the Gemini API, can be set up with an API key and model name

Where to set it

  • macOS: Menu bar → "AI Settings..."
  • Windows: Task tray → "⚙️ AI Settings"

AI Settings is divided into tabs: "Text Generation," "Transcription," "Images," "Voice," "Connect," and "P2P Connection." This chapter covers "Text Generation." Images and Voice are explained in "6. Utilities," Connect in "8. Going further: connecting Claude," and P2P Connection in "9. Account and sync."

The settings available are endpoint / API key / model name / max tokens / temperature / enabled or disabled.

Connecting to LM Studio: under "llama.cpp / LM Studio," choose an external server and enter LM Studio's address as the endpoint (the default is http://127.0.0.1:1234). "Fetch List" lets you pick from the server's models, and a model that isn't loaded yet is loaded on the first request. If you've turned on authentication in LM Studio, enter the API key too (the key is saved only on this device).

Connecting Claude, ChatGPT and Gemini

Working with Claude Desktop / Claude Code is the MCP connection explained below in "8. Going further: connecting Claude." From Claude you can check on your pet, and your character's movements show how Claude's work is going.

To use ChatGPT's models, enter the OpenAI API endpoint, API key and model name in "AI Settings...". This does not connect to the ChatGPT website or your ChatGPT account directly. Check the API's terms and pricing separately from your ChatGPT subscription.

For Gemini's models, Google provides an OpenAI-compatible endpoint for the Gemini API. To use it, enter the matching endpoint, your Gemini API key and the model name in "AI Settings...". This does not link to your Gemini app account directly. What works depends on the model you choose and on the compatible API.

Voice transcription is separate from these cloud AI settings. On macOS it runs on your device, and besides Right-Shift voice input, you can drop audio files onto your character to transcribe them.

If you're running llama.cpp locally, set the context length to 8192 or more. With less than that, some features (Consultation, for example) won't work.

If the AI doesn't respond, the app automatically falls back to pre-written lines. Your character never goes silent.


6. Utilities

Most tools are picked up gradually as they grow. Which child learns what is something you'll discover as you raise them. Once a tool has been learned, you can keep using it even after that child is gone. If you're signed in, you can also use it on your other devices with the same account.

Available from the start

  • Memos — Shift + Cmd + M opens a Quick Memo. One memo is one Markdown file (→ "Memos" below)
  • Ring Launcher — A gateway to learned tools and care, opened by holding down the fn key (→ "Ring Launcher" below)
  • Growth cards — Turn milestones like hatching and evolving into image cards you can share (→ "Growth cards" below)
  • Encrypted ZIP — From the confirmation that appears when you drop a file on your character, you can turn it into a password-protected ZIP. Your character tells you the password
  • Encyclopedia — The record of the forms you've met (→ "4. Growing up, and what comes after")
  • Open as Git Folders — Open the Git projects under a folder you choose, in a single list, from the Ring Launcher (→ "The Git project list" below)

Learned as they grow

  • Voice transcription — Becomes available once they hatch (→ "5. Voice and AI")
  • Clipboard history — Look back at what you've copied. Besides transcribing text from images (OCR), summarizing, and making QR codes, it can find and remove invisible characters hiding in copied text (zero-width characters, bidirectional control characters, and so on)
  • Bookmarks — The AI tags and summarizes automatically. Supports importing from Chrome / Edge and checking for dead links
  • RSS reader — Two-pane UI, Vim-style key handling, OPML import and export. Your character shares thoughts on articles you've read
  • Text viewer — Recognizes Markdown, Mermaid, and PlantUML and displays them cleanly. Code blocks get a copy button, and a Python code block can be run with ▶, with the results shown in a separate window. You can also open files in it from "Open With" in other apps
  • Git graph — Drop a folder that contains .git on your character to see its commit history as a graph. The display reads .git directly, without using the git command. You can also check out branches and fetch, pull, and push (→ "The Git project list" below)
  • Simple paint — Choose "Edit in Paint" from the confirmation that appears when you drop an image. You can copy and paste rectangular selections, add mosaic, fill, add text, draw with the pencil, brush, and shapes, and undo, then save as PNG / JPEG
  • Ask what it is (macOS 27 or later) — From the confirmation that appears when you drop an image. Apple Intelligence's built-in model tells you what's in the picture, in that child's own words. The image never leaves your Mac
  • Dynamic snippets — Type a keyword you've registered and press Space / Tab / Enter to expand it into boilerplate
  • Today's schedule — Lets you know 10 minutes before each event, and reads out the day's plans in that child's own words
  • Fortune telling — A 100-type classification based on your birth date, the month's outlook, and readings for friends
  • Consultation — Your character listens
  • AI image generation — Ask for a picture and they draw one (→ "Making images with AI" below)
  • Games — Some children learn games for a breather between tasks. What you can play is a surprise until you meet them

There are others they'll learn as you keep using the app.

Available once you set it up

  • AI voice generation — Save a method on the "Voice" tab of AI Settings, and "Create AI Voice…" appears in the menu and in the Ring Launcher (→ "Making voices with AI" below)
  • AI Radio — Once your character knows the RSS Reader and both a text-generation AI and voice generation are ready, your unread articles become a radio show hosted by two characters (→ "AI Radio" below)

Ring Launcher

Hold down the fn (🌐) key for 0.3 seconds or more and a ring appears around your character. It doesn't take focus away from the app you're working in.

ActionWhat happens
Hold fnOpens the ring (Right-Ctrl on Windows)
Arrow keysChoose an item
Release fn / ReturnRuns the chosen item and closes the ring. On a group, steps inside it
EscGoes back one level. At the top level, closes without doing anything
MouseHover over an item to choose it, and click to run it
  • Leave the focus on a group for 1.5 seconds and it opens even without confirming
  • Change which items appear, and in what order, with "Ring Launcher…" under Settings in the menu bar. Choose from learned tools, care, settings screens, and frequently used apps, and gather them into groups up to 3 levels deep. In the settings screen, drag an item outside the ring to remove it
  • When fn is pressed together with another key, it's treated as an ordinary shortcut (fn + F1 and the like)
  • What the OS does on a short fn press (emoji input or switching input sources) keeps working as usual

Memos

Shift + Cmd + M opens a Quick Memo at any time. "Memos" in the menu bar opens the list window, with an editor, a preview, and an outline.

  • One memo is one Markdown file. It's not some private format, so other editors can open them too
  • You can point the save location at any folder you like in settings — including an Obsidian vault, as it is
  • You can sort them into groups (folders)
  • The same multiple selection as Sublime Text is supported (Cmd + D selects the next occurrence of the same word, Shift + Cmd + L splits a selection into lines, and rectangular selection)
  • Cmd + N makes a new memo, and Cmd + E switches between preview and editing
  • Other tools, such as clipboard history, can save things to a memo
  • Deleted memos go to the OS trash, so they can be brought back

You can also have Claude read and write your memos (→ "8. Going further: connecting Claude"). With P2P Connection, you can sync them with your other Macs too (→ "9. Account and sync").

Dropping things on your character

Once your character has hatched, you can drop all sorts of things on them.

What you dropWhat happens
A fileIt becomes a meal, and a confirmation appears. You can choose an encrypted ZIP, a preview, "Edit in Paint," or "Ask what it is"
Only audio filesThey're transcribed
A folder that contains .gitShows its Git graph
A URL from your browserIt becomes a meal. An RSS / Atom feed is subscribed to; anything else is added to your bookmarks
Text from another appIt's shown in the text viewer

The preview, "Edit in Paint," "Ask what it is," and the Git graph become available once they've learned the text viewer ("Ask what it is" needs macOS 27 or later). Until then, you can only choose the meal or the encrypted ZIP.

The Git project list (Open as Git Folders)

Git projects scattered across many folders can be laid out in a single list and opened from there. It's available from the start (opening the Git graph from the list needs the text viewer to be learned first).

How to use it

  1. In "Ring Launcher…" under Settings in the menu bar, add "Open as Git Folders…" to the ring and choose the folder to start from
  2. Choose that item from the ring, and the list opens
  • It searches up to 4 levels below the starting folder, shallowest first, and lists every folder that contains .git as a Git project, flattening the nesting into one list. Folders such as node_modules, build, dist, and vendor are skipped. Up to 300 projects are listed
  • Projects are ordered by when you last touched them. Type to filter by name
  • Each row shows an icon, the name, the parent folder, when you last touched it, the number of uncommitted changes, how many commits it is ahead of / behind its upstream, the branch, the hosting service (GitHub and so on) and account, the number of open pull requests, and a button to copy the full path
  • Status is read directly from .git, so the git command isn't used. The network is only used to count pull requests

Keys (macOS)

KeyWhat happens
ReturnOpens it in Finder
Option + ReturnOpens it in Terminal
Cmd + Return / double-click a rowOpens the Git graph (the list stays open)
Cmd + 1–9Runs a registered command in Terminal, in that folder
Cmd + CCopies the full path
Cmd + POpens pull requests
Cmd + RSearches again
Cmd + ,Edits the commands
EscCloses the list
  • The default commands are git status, git pull --ff-only, and claude. You can register up to 20, and give each command its own key that works inside the list

Git operations from the badges (macOS)

  • Rest on the changes, ahead, behind, or branch badge for 1 second, or click it, to commit, commit and push, push, pull, or fetch right there
  • A local AI drafts the commit message from the diff. If your text-generation AI is a cloud service, it switches to Apple's on-device model or the built-in llama.cpp, and if none is available, no draft is made. The diff is never sent to the cloud
  • Untracked files aren't included in commits by default
  • Push only fast-forwards; it never force-pushes. Pull uses --ff-only

Pull requests (macOS)

  • See a list of open pull requests on GitHub and Bitbucket, and their details (author, branches, whether they can be merged, checks, and review status)
  • The "Conversation" tab shows the description, comments, and reviews oldest first, like a chat; the "Files changed" tab shows the changes
  • Post comments, use saved replies (5 are provided by default, such as LGTM and a thank-you, and you can edit them), and approve, merge, or decline. Each of these asks for confirmation and shows the account that will act
  • GitHub uses your gh command login (gh auth). The token it receives is forgotten when the window closes
  • Bitbucket uses your Atlassian email address and an API token, saved in the same place as the API keys in AI Settings

Shortcuts (macOS)

With "Assign a Shortcut…" in the list's right-click menu, you can give a particular project's Finder, Git graph, Terminal, pull requests, or commands a shortcut that works anywhere in the app.

Git graph

  • Colored lanes show where branches split and merge
  • Double-click a branch name to check it out, and use the right-click menu to fetch, pull, or push. These run your local git (loading the display still reads .git directly)
  • Hashes and messages can be copied with a button that appears on hover
  • Dates are shown like "3 hours ago"; hover to see the exact date and time

Making images with AI

Once they've learned AI image generation, "Create AI Image…" appears in your character's menu and in the Ring Launcher. Enter a prompt, and that child draws a picture and shows it in a speech bubble. Click the finished image to open it in Simple Paint; it's saved as a PNG in ~/Pictures/AI Coach/.

You choose the method on the "Images" tab of AI Settings.

MethodWhat it's likeWhere your prompt goes
On-Device (Image Playground)Made entirely on your machine, on a Mac that supports Apple IntelligenceNot sent
Draw ThingsUses your local models through Draw Things' HTTP API (default http://127.0.0.1:7860). Choose the model, steps, sampler, CFG, and size, and fix the seed if you like. "Load from Draw Things" copies over the settings currently selected in Draw ThingsThe URL you set (this Mac by default)
OpenAI API (GPT Image 2.5)Choose the size, quality, and background (transparent included). The API key is shared with OpenAI under "Text Generation"OpenAI
Gemini API (Nano Banana)Works with a Google AI Studio API key. Choose the aspect ratio (10 options) and resolution (1K / 2K / 4K)Google
Via MCP (Codex CLI)Made with the Codex CLI on your own accountOpenAI
Cursor CLIMade with the Cursor CLI on your own accountCursor
  • Prompts can be up to 2,000 characters. Each method is sent a version trimmed to the length it accepts
  • Under "Prompt Language," you can choose for each method whether to translate the prompt into English before sending (on by default for Draw Things). On macOS, Apple's translation feature does the translating, so your prompt doesn't leave your machine to be translated. The character's line and the bubble with the finished image show your original prompt
  • External methods can take a few minutes to finish (around 10 minutes at the longest)
  • If it fails, the reason (a wrong key, a usage limit, a safety filter, and so on) is added to the speech bubble
  • The connection test checks whether it can connect, without making an image
  • Pricing follows the terms of the service you choose. AI Coach adds no charge of its own

Making voices with AI

Choose a method on the "Voice" tab of AI Settings and save it in a usable state, and "Create AI Voice…" appears in your character's menu and in the Ring Launcher. Enter some text, and it's turned into audio and saved in ~/Music/AI Coach/. Turn on "Play right away when it's ready" to hear it straight away.

MethodWhat it's likeWhere your text goes
ElevenLabsMakes expressive narration as MP3 with Eleven v4 / v4 Turbo. Pick a voice from your account's list and preview it, or enter a voice ID directlyElevenLabs (with your API key; uses your credits)
Irodori-TTS + speech.cpp (local)Runs models such as Irodori-TTS with speech.cpp to make WAVE audio on this MacNot sent (only the first use of a model downloads it from Hugging Face)
  • To use Irodori-TTS + speech.cpp, set up the speech command (with the speech.cpp installer, or by building it from source). Set its location on the "Voice" tab of AI Settings
  • Models are downloaded the first time you use them (1–2 GB). You can also download them ahead of time from AI Settings, and the connection test lets you check a model's license and where it comes from. Irodori-TTS uses about 2 GB of memory per model
  • speech.cpp and the models aren't included in AI Coach; each is used under its own author's terms. Please don't use them to copy someone's voice without their consent or to impersonate anyone

AI Radio

AI Radio turns your unread RSS articles into a radio show, three at a time, hosted by the two characters on your screen. The host introduces each story, and the co-host answers with reactions and simple questions. The script is written by your text-generation AI, and the voices come from your voice-generation method.

Listening

Start it from your character's menu → "RSS Reader" → "Listen to AI Radio," or from "Radio" in the Ring Launcher. While a show is on, the menu item changes to "Stop AI Radio."

  • If only one character is on screen, a character you've met in the Encyclopedia joins as a guest and goes home when the show ends
  • First, a speech bubble tells you how many articles were picked and which AI is preparing the show (the text AI and its model, and the voice method)
  • As long as unread articles remain, the show keeps going three articles at a time until you stop it. Articles that have been played are marked as read
  • When the topic changes, the article's image (if it has one) appears in the host's speech bubble. Click a bubble to open that article in the reader
  • The two voices are chosen to suit each character's personality, way of talking and age
  • The show pauses during transcription and Consultation, and picks up where it left off afterwards
  • During a show, hover the mouse over the host character to bring up a pause button and a volume slider
  • If the script is written by a cloud AI, or the voices come from ElevenLabs, you're shown an estimate of tokens and characters to confirm before it starts

In the RSS Reader menu you can turn on these three options (all off by default).

OptionWhat it does
Save AI Radio ShowsSaves each show as a single WAVE file in ~/Music/AI Coach/
Read Full Articles for AI RadioFor articles with only a short summary, reads the article page and uses its text for the script
Save AI Radio Scripts to MemosSaves the script you heard, grouped by article, as a memo in the "AI Radio" group

Listening to AI Radio fully locally (recommended)

When both the script AI and the voices run on your own Macs, the show is made without sending articles or scripts to the cloud. This is the setup we recommend.

RoleRecommendedWhere it runs
Script (text generation)LM Studio + Qwen3.8 27B (qwen/qwen3.8-27b)The Mac that runs the model (shared over P2P Connection)
Voices (voice generation)Irodori-TTS + speech.cpp (model irodori-tts-mf)The Mac you listen on
Article material"Read Full Articles for AI Radio" turned onThe Mac you listen on

A 27B model is large, so we recommend running LM Studio on a Mac with plenty of memory and borrowing it over P2P Connection from the Mac you use every day. You can also run both on one Mac.

1. Set up the voices (the Mac you listen on)

  1. Menu bar → "AI Settings..." → "Voice," and choose "Irodori-TTS + speech.cpp (local)" as the method
  2. If the speech command isn't found, click "Install speech.cpp." The model (the default irodori-tts-mf, about 1.9 GB) is downloaded right after
  3. Save. Your character tells you in a speech bubble when it's ready

When Irodori-TTS reads the show, the script includes reading-style emoji (a nod, surprise, a little giggle and so on), so the co-host's nods and laughs come through in the voice. The emoji don't appear in the speech bubbles.

2. Set up the script AI (the Mac that runs the model)

  1. Install LM Studio, then download and load a model (for example, qwen/qwen3.8-27b)
  2. Start the local server from LM Studio's developer screen (the default is http://127.0.0.1:1234)

3. Borrow the AI over P2P Connection

  1. Sign in to the same account on both Macs and turn it on in "AI Settings" → "P2P Connection…" in the menu bar on each (→ "Connecting your own Macs (P2P Connection)" in "9. Account and sync")
  2. On the Mac that runs the model, under "Share This Mac's AI," choose the OpenAI-compatible server (LM Studio, Ollama and so on). Leave the port blank and the running server is found automatically
  3. On the Mac you listen on, leave "Use borrowed AI automatically" on (it's on by default). When a borrowed text AI is available, AI Radio uses it ahead of your AI Settings

To run everything on one Mac instead, skip P2P Connection: in AI Settings → "Text Generation," choose "llama.cpp / LM Studio" → external server, enter http://127.0.0.1:1234 as the endpoint, and pick the model from "Fetch List."

4. Listen

  1. In the RSS Reader menu, turn on "Read Full Articles for AI Radio" (even articles with just a title get more to talk about)
  2. Choose "Listen to AI Radio." If the first speech bubble says "Script: AI borrowed over P2P Connection (qwen/qwen3.8-27b)" and "Voice: Irodori-TTS + speech.cpp (local)," everything is running locally

With this setup, the only things that go out are fetching your RSS feeds and article pages (visits to those sites), downloading the model the first time you use it (Hugging Face), and the traffic P2P Connection uses to find your other Mac. The script and the voices are made on your own Macs, and no confirmation window appears.

Growth cards

Milestones such as hatching, evolving, or learning a new tool can be turned into a 1200×675 image card. At a milestone, you're asked whether to make one, and you can make one any time from "Create Growth Card…" in your character's right-click menu.

  • Copy the image, copy the post text, export a PNG, or share it
  • It can open the post screen for X, Bluesky, or Discord. Whether to post is your call — AI Coach never posts anything on its own
  • Cards are made entirely on your machine. No social media credentials are stored either

About Consultation

Start it from the right-click menu. No judgment, no advice pushed on you — just listening, and one small next step offered at the end.

Conversations are not saved. They're cleared from memory the moment you close the window.
If strong distress comes through, the app shows professional support resources on screen.

Each character keeps its own separate conversation.


7. Shortcuts

macOS

KeyAction
Hold Right-ShiftVoice input (starts at 0.3 seconds, stops on release)
Right-Shift ×2Toggle voice input (two taps within 0.4 seconds)
Hold fn (🌐)Ring Launcher (opens at 0.3 seconds)
Shift + Cmd + MQuick Memo
Shift + Cmd + CClipboard history
Shift + Cmd + BBookmarks
Shift + Cmd + RRSS reader
Shift + Cmd + PChoose a snippet template
Shift + Cmd + SToday's schedule
Cmd + QQuit
Cmd + V (in the Bookmarks window)Add URLs in bulk (one per line)

The keys for voice input, clipboard history, bookmarks, the RSS reader, snippets and today's schedule work once they've learned that tool. Quick Memo and the Ring Launcher work from the start.

Windows

KeyAction
Hold Right-Shift / ×2Voice input
Hold Right-CtrlRing Launcher
Ctrl + V (in the Bookmarks window)Add URLs in bulk

Consultation has no shortcut assigned. Open it from the right-click menu.


8. Going further: connecting Claude

This feature is available on macOS first. Windows support will follow in a future update.

What it lets you do

AI Coach can be talked to from Claude.

Ask "how's my little one doing?" and Claude tells you their condition and mood.
Ask it to "feed them" and — after you confirm — the character on your desktop actually eats.
And while Claude works on something long, the little one on your desk hops and pauses to show you how it's going.

Even when you're not watching the screen, the movement of that small life on your desk tells you "still running" or "done." That's the thing we most wanted to build here.

You can also have it make images and voices, read and write your memos, or open a repository's Git graph.

This isn't about bolting on "one more AI." It's about letting a conversation with Claude reach the small life on your desktop.

What you need

What's required
AI CoachRunning, with at least one character out on screen
Claude sideThe AI Coach integration (MCP server) registered
SettingsThe integration enabled on the AI Coach side

Everything happens inside this machine. Nothing goes over the internet.

How to connect

  1. In AI Coach, open the menu bar → "AI Settings..." → the "Connect" tab
  2. Under "Connect to Claude," press "Add" for the app you use (if the integration is off, it's turned on automatically)
  3. The first time it connects, AI Coach asks whether to allow the connection

Claude Desktop opens a confirmation screen; press "Install" and you're done. No Node.js needed.

Claude Code gets AI Coach registered so it can be used from any project. This needs Node.js 22 or later on your PATH. In a Claude Code session that's already open, reconnect with /mcp or start a new conversation.

For Cursor and other apps, copy the settings under "Connect manually" and paste them in. The same screen shows whether it's already been added and whether a newer version is available.

What you can ask for

What you askWhat happens
How they're doingReads their current health, hunger, tiredness, and mood into a small status card
RefreshFetches the displayed state again
Prepare careShows a confirmation card describing what will be done. Nothing runs until you approve
Apply careOnly the care you approved is applied to the character on your desktop
Say somethingPuts a short line Claude wrote into that character's speech bubble
Report activityShows Claude thinking, working, waiting, succeeding, or failing through that character's movement
Preview a fileOpens a file of an allowed type in the AI Coach viewer
Show a Git graphOpens a repository's commit history in AI Coach's Git graph
Make an imageDraws it with the method chosen under AI Settings → Images, shows it in a speech bubble, and saves it to Pictures. Where it was saved is returned to Claude. With the OpenAI API, Gemini API, or Draw Things, the width and height (128–4096 px) can be specified too. Available once that child has learned AI image generation
Make a voiceTurns text into audio and saves it to Music, with the choice of playing it on the spot. Claude can also pick which voice to use from your ElevenLabs voice list
Read and write memosList, read, search, write, move, or throw away memos (→ "Having your memos read and written" below)

With several characters, names and states are listed side by side. Nothing runs while "which one, and what" is still ambiguous.

The AI Coach dashboard shown inside Claude, with bars for HP, satiety, fatigue, illness and immunity, and buttons for feed, sleep, wake, walk and nurse
The AI Coach dashboard, drawn inside Claude. It reads their condition and mood on the spot, and the buttons ask for care without leaving the conversation.

Your character shows you how the work is going

This is the most distinctive part of the integration. While Claude works, that work shows up in how your mascot moves.

The dashboard inside Claude on the left, and on the right a robot character on the desktop showing a hard-at-work speech bubble
The dashboard inside Claude on the left, your desk on the right. While the work runs, they show 🛠 and hop in place to say so.
Claude's stateWhat your character does
ThinkingStops wandering, stands still, shows 🤔
WorkingHops once in place, shows 🛠
Waiting for youStands still and keeps hopping, holding up 🙋
SucceededOne big hop, ✅, and a happy motion
FailedLow, quick hops with ⚠️
DoneBack to their usual self

The hop keeps the shadow on the ground while only the character jumps — the same motion as a bouncing macOS Dock icon, so you can always tell it apart from their ordinary wandering.

  • During long work there's no stream of speech bubbles. Just an occasional hop and a small emoji
  • While thinking, they do the opposite: they stop wandering and hold still
  • These notifications never cost HP. They don't touch a single raising parameter, and there's no sound
  • They clear themselves after 15 minutes at most. If Claude stops without a word, you're not left with a permanent "working"
  • Nothing is shown on a sleeping character, an egg, a ghost, or one that's put away. Same during consultation, conversation, or transcription
  • Even mid-work, they still react when you pick them up and still tell you what they need. They don't become an ornament

Asking for care

Claude can only ask for five things: feed, sleep, wake, walk, nurse.

You are always asked to confirm. There is no path where a raising parameter changes on Claude's judgment alone.

For the dashboard buttons you can skip confirmation with "don't show this again" — but care requested by Claude is confirmed every single time, regardless of that setting.

A confirmation card asking whether to apply this action, with an Apply button for feeding, a Cancel button, and the time left to confirm
Care always goes through this card. Nothing in their raising parameters moves until you approve it.

Buying, hatching, naming, switching characters, romance and egg-laying, and saying goodbye are all outside the integration. Those are yours to decide.

Having a file shown to you

A local file Claude is working with can be opened in the AI Coach viewer.

KindExtensionsLimit
Text / Markdown / Mermaidtxt md markdown mmd mermaid2 MiB (UTF-8)
Imagesjpg jpeg png heic webp svg25 MiB
  • Only AI Coach reads the file. Its contents, image bytes, and full path never go back to Claude
  • Mermaid renders with the engine bundled in the app. Nothing is fetched from outside
  • SVGs containing scripts or external references are not opened
  • The extension alone isn't trusted — the contents are checked before anything is displayed

Ask "show me this file in AI Coach" and you can look it over on your own screen without Claude reading it.

Having your memos read and written

You can have Claude jot something down for you, or dig out a memo you wrote earlier. No plugin and no
second server — AI Coach handles all of it.

What you askWhat happens
List your memosLines up your saved memos, newest first. It doesn't read the bodies — only titles and opening lines
Read a memoReads the body of the one memo you asked about
Search your memosLooks across titles and bodies
Write a memoCreates a new one, rewrites one, or adds to the end of one
Move a memoMoves it to another group (folder)
Throw a memo awayMoves one to the trash. It can be brought back

Reading and writing memos is available once that child has learned the tool. Turn off "Allow reading and writing memos" on the "Connect" tab of AI Settings to turn down memos alone, leaving the rest of the integration as it is.

A reply from Claude listing three memos, showing only their titles and groups
Asking it to list your memos. Only titles and groups cross over — it does not go and read the bodies.
Where they liveDefault location
macOS~/Library/Application Support/AICoach/Memos/
Windows%APPDATA%\AICoach\Memos\
  • You can point this at any folder you like in settings — including an Obsidian vault, as it is
  • They're plain Markdown files, not some private format. Any editor opens them
  • Claude doesn't go rummaging through them. Listing returns titles and opening lines only; a body reaches Claude only when you ask it to read or search
  • Up to 32 KiB is written at a time, and up to 32 KiB read at a time (a long memo comes back in pieces). A single memo can hold up to 1 MiB
  • A listing returns at most 200 memos, a search at most 50 results
  • Before rewriting one, it checks that nothing changed since it read it. If something else edited the file in the meantime, it re-reads instead of overwriting
  • Deleting moves the file to your operating system's trash, so a mistake can be undone

An instruction worth giving Claude

Paste the following into Claude's Instructions and it will report on its work without being asked each time. Copy it as is.

You are connected to AI Coach. Use the available AI Coach MCP tools according to these rules.

[Basics]
- Notifications are supplementary. Always include important results, questions, and errors in your response.
- Except for greetings and one-line questions, report progress for multi-step research, editing, generation, builds, and tests.
- Never include secrets, credentials, personal data, file contents, or long logs in notifications.

[Work status]
- Use `thinking` with `report_ai_coach_activity` while planning, and `working` during active work.
- Send `waiting` immediately before asking for an answer or approval, `succeeded` once when verified work is complete, and `failed` once only when completion is no longer possible.
- Keep `label` under 60 characters and make it describe the current state. Do not repeat the same state and label.

[Status and care]
- When asked how the mascots are doing, use `open_ai_coach_dashboard` or `refresh_ai_coach_status`.
- Show the proposed care action with `prepare_ai_coach_care`, then use `commit_ai_coach_care` only after explicit user confirmation. Never perform care on your own.

[Messages and files]
- Use `show_ai_coach_message` only for a short encouragement or something the user wants the mascot to say.
- Use `show_ai_coach_file` only for a local file the user asked to display. Do not copy its contents or full path into responses or notifications.

[Memos]
- Read or write memos only when the user asks to find, read, or note something down. Do not go browsing through them.
- Before rewriting an existing memo, read it first and pass `expectedModifiedAt`. On a conflict, re-read instead of overwriting.
- For a body over 32 KiB, create the memo and then append. Delete only when asked.
- Do not copy a memo's contents anywhere beyond what was asked for.

[Images, audio, and Git graph]
- Use `generate_ai_coach_image` / `generate_ai_coach_audio` only when the user asks for an image or audio. It can take several minutes to finish.
- To choose a voice, first get the list with `list_ai_coach_voices`, then pass the `voiceId` of the voice to use.
- Use `show_ai_coach_git_graph` only for a repository the user asked to see.

[If unavailable]
- If AI Coach is not running or connected, continue the primary task when possible. Do not repeatedly retry the same connection failure.
- Write the final response so the result and next step are clear even if the user did not see the mascot.

It exists for one reason: what starts should also be reported as finished. No hopping at the beginning of a job and silence at the end.

Safety and privacy

  • Claude only receives the bare minimum — condition, mood, and the like
  • Personal data, credentials, API keys, and your save data as a whole are never handed over
  • Clipboard, calendar, RSS, and transcription contents are never sent automatically
  • Character artwork and assets never leave the app
  • The ID that refers to a character is a pseudonym. It can't be matched against another machine or another installation. You can also set it to change on every launch
  • Anything that changes state always goes through your confirmation
  • When you ask for an image or a voice, the prompt or text goes to the destination chosen in AI Settings (except On-Device and Irodori-TTS + speech.cpp; → "11. Privacy and data")
  • You can switch the integration off at any time in settings

That said, whatever you show Claude becomes subject to Claude's processing. That stays true even for an integration that runs entirely on your machine. Please use it on the assumption that what you don't want to share, you don't share.


9. Account and sync

Signing in

You can start using the app right away without creating an account. You can link a Google or Apple account later.

You'll need to sign in in these cases:

  • Buying eggs
  • Carrying your data over to another device
  • Using P2P Connection
  • Starting Trial Mode

What gets synced

While you're signed in, the following is saved to the cloud:

  • Character state (condition, growth, lineage, relationships, memories)
  • Your owner profile (nickname, date of birth, time of birth)
  • Egg purchase history
  • Your RSS feeds, dynamic snippets, and custom prompts
  • Learned tools and the Encyclopedia (a tool learned on one device can be used on your other devices too)

Not synced: voice transcription history, window positions, and caches.

Cloud sync becomes active on accounts that have purchased at least one egg. If you're using only the egg bundled with the app, your data stays on that device.

When sync happens

The app handles sync on its own. Nothing to configure, nothing to do.

  • Save: when you use "Go Home" / when a character becomes a ghost / when you quit the app / on sleep
  • Load: at launch / on waking from sleep / when you sign in / when a purchase comes through

Raising them continues offline. You can be together whether or not you're connected.

Continuing on another device

Sign in to the same account on a new device and your data comes with you. If you haven't raised anything yet on that device, the cloud data simply loads in.

If you've raised characters on more than one device, they're merged automatically. Purchase history and growth records never roll back. Condition (HP, fullness, fatigue) does favor the newer record, so those values may shift up or down.

Only when the last updates are 7 or more days apart will a dialog ask which one to use. Either way, your purchase history always carries over.

Connecting your own Macs (P2P Connection)

This connects your own Macs, signed in to the same account, directly over P2P. It's separate from cloud sync, and lets you:

  • Sync RSS feeds, memos, and shortcut assignments
  • Use an AI running on one Mac (Draw Things, llama.cpp, LM Studio and so on) from the other
  • Borrow one Mac's SSH to log in to it from the other Mac, or from an iPhone or iPad
This is an experimental feature. How it works and how it looks may change in future updates.

Getting started

  1. On each Mac, sign in to the same Apple or Google account
  2. Open "AI Settings" → "P2P Connection…" in the menu bar and turn on "Link with my characters on my other devices"
  3. Turn it on the same way on the other Mac, and it appears in the "Devices" list; once they're connected, it shows "Connected"

When another device on the same account shows up in the list, a while after launch a prompt next to your character asks, just once, whether to "Link" or "Not Now." Choose "Link" to turn it on. There are no keys or codes to enter.

Sync

Under "Sync" in the settings screen, choose what to keep in step: "RSS feeds," "Memos," and "Shortcut Assignments" (nothing is synced by default). Each kind is synced only with devices that have turned on the same kind.

  • Anything added or changed on either Mac stays on both. The first sync combines what's on both
  • Anything deleted on one is deleted on the other too (memos go to the trash)
  • If the same memo was changed on both, the newer version keeps the original name, and the other is kept with (conflicted copy from <device name>) added to its name
  • A change that would delete a lot at once (the other device's list is empty, or 10 or more items and over half disappear) is treated as an accident, and nothing is deleted. If you changed where memos are saved, nothing is deleted either; the two are combined
  • For RSS, only feed subscriptions and whether each feed is checked are matched. Articles, read status, and stars are not
  • Each device's row shows "Synced <time>." Press "Sync Now" to resend

Borrowing another Mac's AI

On the sharing Mac, under "Share This Mac's AI" in the settings screen, choose which AI to share — Draw Things, llama.cpp (llama-server), or an OpenAI-compatible server such as LM Studio or Ollama (nothing is shared by default).

  • If the port field is left blank, whatever is running on this Mac is found and shared automatically. A note such as "Running on port 7860" appears under the row
  • On the borrowing Mac, "Use borrowed AI automatically" (on by default) puts the AI it receives into AI Settings. Once the connection has been lost for 90 seconds, or when you turn P2P Connection off, your previous settings come back
  • To do it by hand, press "Use" next to the local URL (http://127.0.0.1:<port>) under the device's row. It's entered in AI Settings, switching to that method or provider
  • The only thing that can be reached is that port on the sharing Mac's 127.0.0.1

Sharing and borrowing SSH

On the sharing Mac, turn on "Share This Mac's SSH" in the settings screen (off by default; a blank port field means port 22).

  • "Remote Login" on the Mac (System Settings → General → Sharing) needs to be on. Whether SSH is running, and the user name, appear under the row
  • We recommend setting up Remote Login to accept key-based logins only, not passwords
  • On the borrowing Mac, ssh -p <local port> <user name>@127.0.0.1 appears under the device's row, with a "Copy" button. Paste it into Terminal to log in to the sharing Mac
  • Borrowed SSH isn't added to AI Settings
  • It can be used from an iPhone or iPad too (→ "Using your Mac's terminal from iPhone and iPad (Terminal AI Coach)" below)

Keep This Mac Awake

Turn on "Keep This Mac Awake" in the settings screen (off by default), and while P2P Connection is on and the Mac is sharing AI or SSH, it won't go to sleep even when it's idle. That's because a sleeping Mac can't be reached by the borrowing side.

  • The display still turns off as usual
  • Closing the lid still puts it to sleep

The "P2P Connection" page in AI Settings

"P2P Connection" in the list on the left of AI Settings shows the current status (off, waiting, how many devices are connected, which AI is being borrowed), along with how it works, what it's good for, and how to get started. "Open P2P Connection Settings…" opens the settings screen. Hints also appear under the llama.cpp external server field and the Draw Things URL field in AI Settings.

Stopping and removing

  • Turn off the switch in "P2P Connection…" to stop at any time
  • Remove a device you no longer use with "Remove…" in the list in the settings screen. A removed device turns P2P Connection off on its own; to use it again, turn it back on on that device

How it stays safe

  • A key for each device is made automatically. You're never shown a key or code, and never asked to enter one
  • Only devices in your account's device list are let through, checked at the handshake when connecting
  • The connection is encrypted, and once connected, traffic flows directly between the two devices without passing through a server
  • To find the device to connect to, it uses a public distributed network (HyperDHT). What leaves your machine is listed in "11. Privacy and data"

Using your Mac's terminal from iPhone and iPad (Terminal AI Coach)

Being prepared for release on the App Store.

The iPhone and iPad app "Terminal AI Coach" connects directly over P2P to the SSH your Mac shares through P2P Connection, so you can work in your Mac's terminal from an iPhone or iPad. No port forwarding, VPN, or fixed IP address is needed.

To use it

  1. On the Mac, turn on "Remote Login" (System Settings → General → Sharing)
  2. In AI Coach on the Mac, turn on P2P Connection and "Share This Mac's SSH" (→ "Connecting your own Macs (P2P Connection)" above)
  3. In Terminal AI Coach on your iPhone or iPad, sign in with the same Apple ID or Google account as on the Mac. Your PCs with P2P Connection turned on appear in the list
  4. Copy the app's public key and add it to ~/.ssh/authorized_keys on the Mac
  5. Tap "Open Terminal" to log in to the Mac

About the terminal

  • It logs in with an Ed25519 key that belongs to that device alone. The private key never leaves the device
  • The first time you connect to a host, it checks the host key fingerprint, and if the key ever changes, it warns you and stops
  • Helper keys for Esc, Tab, Ctrl, and the arrows, plus support for external keyboards
  • Pinch with two fingers to change the text size
  • Shrink it to a small window (mini) to keep an eye on it while looking at your PC list
  • Full-screen apps such as vim and top work too
  • Try it without signing in with "Try the Demo"
  • You can delete your account from within the app
  • Requires iOS 17 or later

10. Buying eggs

Plans

PriceEggsPer egg
Included with the appFree1—
STARTER$5 USD1$5
BUNDLE$20 USD5$4 (20% off)

It's a one-time purchase. Not a subscription. Once you buy, there are no further charges.

How to buy

  1. App menu → "Buy eggs…" opens your browser (or go to aic0t.com directly)
  2. Sign in with Google or email
  3. Choose a quantity and continue to Stripe Checkout
  4. Once payment goes through, the eggs arrive in your Hatch Tray

Card / Apple Pay / Google Pay / Link are supported. Stripe handles payment; we never hold your card details. Receipts are emailed automatically.

When it shows up

After payment completes, eggs arrive right away if the app is running. If it isn't, they'll be in the Hatch Tray the next time you launch it.

About premium eggs

Children born from purchased eggs start with slightly higher first-generation base stats (initial maximum HP and immunity). Very rarely, one is born in a limited color.

This isn't Pay to Win. You can't specify what form they'll take. That's for how you raise them to decide.

Refunds

You can apply within 7 days of purchase if the eggs covered by the request have not been hatched or used. If only part of a BUNDLE remains unused, we can review a partial refund for that unused portion. Please reach out through the contact form.

This policy does not limit any rights you may have under applicable law.


11. Privacy and data

What runs locally

  • Voice transcription (fully offline on macOS)
  • AI processing when you choose the Apple on-device LLM or llama.cpp
  • Image generation when you choose On-Device (macOS), and audio generation when you choose Irodori-TTS + speech.cpp (local)
  • Making AI Radio shows when you choose the Apple on-device LLM or llama.cpp (including LM Studio) for the script and Irodori-TTS + speech.cpp (local) for the voices
  • Reading and writing save data

Save data is stored locally, encrypted with AES-256-GCM. Character images and data live in encrypted containers too, and are only ever decrypted in memory.

What leaves your machine

  • If you configure an OpenAI-compatible API: whatever is passed to the AI is sent to the endpoint you specify
  • If you enable Activity Context: the active app name, window title, and selected text are used as hints for the AI. Turn it off and none of that is collected
  • AI tagging and summarizing for bookmarks: page contents are passed to the AI
  • RSS reader: connects out to fetch feeds
  • Checking for new versions (automatic updates): to see whether a new version is out, the app fetches the latest-version information from the distribution server (dl.aic0t.com) a minute after launch and every 6 hours after that. It identifies itself only by the app version, build number and OS — no account, device ID or character information is sent. If there is a new version, the app downloads it from the same server (these downloads aren't counted in the site's download numbers). This is on by default; turn off "Update Automatically" in the menu and the app checks only when you choose "Check for Updates…"
  • Game data for learned games: some games aren't included in the installer — after a child learns one, the app downloads its game data (encrypted) from the distribution server (dl.aic0t.com). When a game is learned, the app asks whether it may download it, and downloads it once you agree or when you go to play. Once installed, the app checks for a new version at launch and every 6 hours and downloads it again if one is out (this check identifies itself only by the app version, build number and OS). Before each download, the app sends your account ID (an anonymous ID created automatically if you aren't signed in), the device ID, the game and its version, the app version, build number and OS to our server (Firebase), which records them and returns a download URL that works for 1 hour. After downloading, the app also reports to that record whether the download succeeded (and, if not, what kind of failure it was). These records are used to answer support requests, detect unauthorized downloads and count usage. No character information, play records or email address are sent. Once downloaded, the game can be played offline
  • Cloud sync: everything under "What gets synced" above
  • Receiving the first egg, and Trial Mode: so the first (trial) egg can't be claimed again and again on the same Mac or account, on first launch the app sends a hash made from this Mac's hardware identifier (the identifier itself is never sent) to our server (Firebase), where it's recorded along with your account ID (an automatically created anonymous ID if you aren't signed in). When you start Trial Mode, the start time (server time) and the same hash are recorded in your account's cloud storage (the same place as sync); when it ends, the end time and the reason (you ended it, or it expired) are recorded too. These are used only to enforce "once per account, only on the Mac where it started"; Robo's state and the features you used during the trial are not sent
  • If you turn on P2P Connection: this feature links the same character across your own devices (it requires signing in and is off by default; it only runs once you choose "Link" when asked, or turn it on from the "P2P Connection…" menu). To find your other devices, the app joins HyperDHT, a public distributed network anyone can take part in. Its nodes (the bootstrap nodes at hyperdht.org and nodes run by participants around the world) can see this machine's IP address and port and its P2P public key (a random key made for each device and kept on that device; it contains no account, email or character information), and the node that brokers a connection also sees both devices' IP addresses. What the devices exchange is encrypted and can't be read by the nodes. Since anyone can run a node, how a node treats what it sees is up to whoever runs it
  • P2P Connection's device list: to check which devices are allowed to connect, the P2P public key, device name (the computer name) and OS are saved to your account's cloud storage (Firebase). Turning P2P Connection off or signing out removes this machine from the list and withdraws its HyperDHT announcement (routine route checks with nodes continue until you quit the app)
  • Your other devices connected through P2P Connection: everything sent to the other device is encrypted. That covers the IP addresses used to connect (including addresses on your LAN), an introduction of the device and its characters (device ID and name, OS and app version; each character's ID, name and species), whatever you turn on under "Sync" (RSS feed URLs and whether each feed is checked, memos' bodies, names, groups and modified times, and shortcut key assignments, including the paths of the apps and folders they open), and, when one device shares its AI with the other, what is sent to that AI (prompts, text and so on) along with its results. When a Mac shares its SSH, its port number and this Mac's login name are sent too, along with whatever passes through SSH (the commands you type and their output, for example). Connecting from Terminal AI Coach on iPhone or iPad works the same way: the other end is always one of your own devices on the same account. Once connected, traffic travels directly between the two devices without passing through a server or HyperDHT nodes
  • If you choose ElevenLabs for audio generation: the text to be read aloud is sent to ElevenLabs with the API key you entered, using your ElevenLabs credits
  • If you choose Irodori-TTS + speech.cpp (local) for audio generation: your text is not sent outside your machine. Only the first use of a model connects to Hugging Face to download it
  • AI Radio: to write the script, the picked articles’ titles and summaries (and the article pages’ text when “Read Full Articles for AI Radio” is on), along with the hosting characters’ names, personality and speech settings and how the listener is addressed, are passed to the script AI (a text AI borrowed over P2P Connection if there is one, otherwise the AI chosen under “Text Generation” in AI Settings). When they would go to a cloud AI (an OpenAI-compatible API), or the voices come from ElevenLabs (the script text is sent to ElevenLabs), a confirmation window appears before the show starts, and if the destination switches mid-show to a cloud you haven’t confirmed, nothing is sent and the show stops. With “Read Full Articles for AI Radio” turned on (off by default), the page of each article with only a short summary is read once from its site (no cookies are sent, and the text isn’t saved). If an article has an image, it’s fetched from the image URL in the article
  • If you choose anything other than On-Device for image generation: your prompt (the description of the picture you want) goes to the method you chose. Via MCP (Codex CLI) and Cursor CLI send it to OpenAI and Cursor respectively under your own account, the OpenAI API and Gemini API send it to OpenAI and Google with the API key you entered, and Draw Things sends it to the URL you set (this machine by default). On Windows, when "Translate the prompt into English before sending" is on (the default for Draw Things), the prompt is also sent to the AI chosen under AI Settings → Text Generation so it can be translated (macOS translates it on your machine)
  • With the Claude integration (MCP) enabled: condition, mood and similar state, plus the body of any memo you asked it to read or write, are passed to Claude. The contents, image data and full path of a file opened in the previewer are not. When Claude asks for an image or audio, the prompt or text goes to the same places as described above for image and audio generation

The AI runs locally by default. Cloud integrations are opt-in and only enabled when you explicitly turn them on.

Consultation conversations are not saved. They're cleared from memory when the session ends.

Where data is stored

  • macOS: ~/Library/Application Support/AICoach/
  • Windows: %LOCALAPPDATA%\AICoach\

Cloud-side data is stored in the Tokyo region (asia-northeast1), and can't be read or written by anyone outside your own account.

Erasing your records

You can erase everything. Every life you raised, every lineage, the whole Encyclopedia — all lost, back to the first empty margins. This can't be undone.

Sharing with third parties

We don't sell it. We don't hand it over. Your raising records, your memos and your transcriptions are
never sold, lent or otherwise given to a third party. There is no collection for advertising and no
third-party tracker embedded anywhere.

The only things that leave your machine are the routes listed under "What leaves your machine" above.
Apart from the check for new versions (on by default; you can stop it with "Update Automatically" in the menu), downloading the data for games your children learn, and recording the first egg on first launch, each one runs only when you turn it on yourself. Whatever is sent is handled under each recipient's own terms and privacy policy.

WhoWhat forYour choice
The OpenAI-compatible endpoint you configuredAI processing (including AI Radio scripts)Only when you enable it explicitly
ElevenLabsAudio generation and AI Radio voices (the text to be read aloud)Only when you choose ElevenLabs for audio generation
Hugging FaceDownloading speech.cpp models only (no text is sent)Only the first time you use a model with Irodori-TTS + speech.cpp
Article sites (the article pages of feeds you subscribe to)Material for AI Radio scripts (each article page is read once; no cookies are sent)Only when “Read Full Articles for AI Radio” is on
OpenAIImage generation (your prompt)Only when you choose Via MCP (Codex CLI) or the OpenAI API for image generation
Google (Gemini API)Image generation (your prompt)Only when you choose the Gemini API for image generation
CursorImage generation (your prompt)Only when you choose Cursor CLI for image generation
Draw Things at the URL you set (this machine by default)Image generation (your prompt)Only when you choose Draw Things for image generation
Google Firebase (Tokyo region)Cloud sync, and P2P Connection's device listOnly when you sign in (the device list only while P2P Connection is on)
Google Firebase (Tokyo region)Records of receiving the first egg and of Trial Mode (a hash made from this Mac's hardware identifier, account ID, when the trial started and ended, and why it ended)On first launch (recorded under an anonymous ID if you aren't signed in); the trial record only when you start Trial Mode
Google Firebase (Tokyo region)Records of game data downloads for learned games (account ID, device ID, game and version, app version, OS, and whether the download succeeded)When game data for a learned game is downloaded (recorded under an anonymous ID if you aren't signed in)
The public HyperDHT network (bootstrap nodes at hyperdht.org and nodes run by participants worldwide)Finding and connecting to your other devices for P2P Connection (IP address, port and P2P public key; what the devices exchange is encrypted)Only when you turn on P2P Connection
The distribution server dl.aic0t.com (run on Amazon Web Services CloudFront and S3)Checking for and downloading new versions (identifies itself by the app version, build number and OS)Only while "Update Automatically" is on (it is by default) and when you choose "Check for Updates…"
The distribution server dl.aic0t.com (run on Amazon Web Services CloudFront and S3)Downloading game data for learned games (identifies itself by the app version, build number and OS; the download URL contains no account or device information)After a game has been learned and you allow the download (new versions of the game are downloaded again)
StripePayment for an eggOnly when you buy one
Claude (MCP integration)The action you asked forOnly when you enable the integration

Except where we are required to disclose by law.

How long things are kept

WhatHow long
Save data (raising, lineage, encyclopedia)Stays on your machine until you erase it
MemosStay until you erase them. Deleting moves the file to your OS trash
Images and audio you generateStay until you erase them. They're saved in the "AI Coach" folder inside Pictures (images) and Music (audio)
AI Radio scripts and the article-page text that was readNot stored. Kept in memory only during the show. Only when “Save AI Radio Scripts to Memos” is on is the script you heard written to a memo, which stays until you erase it
AI Radio show audioOnly when “Save AI Radio Shows” is on: saved as WAVE in the “AI Coach” folder inside Music, until you erase it
Consultation conversationsNot stored. They leave memory when the session ends
Voice input audioNot stored. Discarded once it becomes text
The Claude integration's activity displayClears itself after 15 minutes at most
Cloud sync dataFor as long as the account exists. Closing it deletes the data
Records of receiving the first egg and of Trial ModeThe account record (when the trial started and ended, why, and so on) stays while the account exists and is deleted when you close it. To prevent do-overs, it can't be changed or erased afterward. The device record (the hash) stays after the account is closed so the first egg can't be claimed again on the same Mac, but the account ID is removed from it. This Mac also keeps its own trial record (start time, end date and so on) in the keychain
P2P Connection's device list (cloud)While P2P Connection is on. Turning it off on this machine or signing out removes the entry. Removing another device with "Remove…" deletes its key and leaves a removal mark (device name, OS and time), which goes away when that device turns P2P Connection back on or when you close your account
HyperDHT announcementsWithdrawn when you turn P2P Connection off or quit the app. If a withdrawal doesn't get through, standard nodes drop the announcement after about 20 minutes
Memos, RSS feeds and shortcut key assignments synced over P2P ConnectionStay on each synced device until you erase them. Erasing on one device erases on the other too (memos go to the trash)
What passes through SSH over P2P ConnectionAI Coach doesn't store it; it only flows between the two devices (shell history and the like on the Mac you log in to follows that Mac's own settings)
Update checks and downloadsThe distribution server keeps no access logs. A downloaded new version is removed from your machine once it has been installed (if a disk image is placed in Downloads for you to install by hand, it stays until you delete it)
Game data for learned gamesThe distribution server keeps no access logs. Download records (account ID, device ID, game and version, etc.) are kept on our server (Firebase) for 1 year and then deleted automatically. The downloaded data stays encrypted in the app's folder on your machine, and the old version is removed once a new version replaces it

Uninstalling the app does not erase the folders above. To clear everything, run "Erase your records" or
delete those folders yourself.

Contact

For questions about privacy and how data is handled, use the contact form on the site or write to
contact.aicoach@gmail.com.


12. Supported languages

Five languages are supported: 日本語 / English / 简体中文 / 繁體中文 / Español.

The display language is chosen automatically to match your OS system language.

  • macOS: System Settings → Language & Region
  • Windows: Settings → Time & language → Language

On systems set to an unsupported language, the app displays in English.


13. System requirements

macOSWindows
OSmacOS 26 or laterWindows 10 / 11
RecommendedLatest macOSWindows 11
CPUApple Siliconx64
FrameworkSwift 6.4 / AppKitC++ / WinUI 3

Some features require an internet connection. Sync uses Firebase. The macOS version is Apple Silicon only. The Windows version is in development and coming soon; it is not distributed yet.

Differences between the macOS and Windows versions

These features aren't available on Windows yet. We're working through them.

  • Consultation
  • Account linking and cloud sync
  • Shortcut keys for clipboard history, bookmarks, and RSS (they're still available from the menu)
  • AI image generation
  • Some visual scenes

14. If something goes wrong

My character isn't showing up
Open "Character management" from the menu bar (macOS) or task tray (Windows) and check whether they've been put away. Ghosts can be called back from the put-away list too.

My egg won't hatch
Eggs hatch on time alone. No feeding needed. Time doesn't pass while they're put away, so leave the egg out on screen and wait.

Voice input isn't responding

  1. If it's still an egg, voice input isn't unlocked yet (by design)
  2. Check that microphone permission is granted
  3. Check that you're holding Right-Shift for 0.3 seconds or more (a short tap won't trigger it)
  4. Check that no other app has claimed Right-Shift

Transcription results aren't going into other apps
Auto-typing requires Accessibility permission — grant it in settings. Also check that the auto-typing setting is turned on.

The AI isn't responding
Check your endpoint and model name in AI Settings. If you're using llama.cpp, the context length needs to be 8192 or more. When there's no response, the app automatically switches to ordinary lines.

The eggs I bought haven't arrived
Restart the app and check the Hatch Tray. If they still aren't there, contact us and include the email address you used for the purchase.

My data isn't carrying over to another device
Check that both devices are signed in to the same Google / email account. Sync becomes active on accounts that have purchased at least one egg.

The illness won't clear up
"Nurse" is effective once per hour. With high immunity, they recover naturally. Keep them fed and let them sleep properly.

Claude can't find AI Coach
Check that AI Coach is running and that the integration is enabled. Connection details are rebuilt on every app launch, so restarting AI Coach once often fixes it. You can also check whether it's been added under "Connect to Claude" in AI Settings → Connect.

I can't add it to Claude Code
Registering AI Coach with Claude Code needs Node.js 22 or later on your PATH. Claude Desktop can connect without Node.js.

I asked Claude, but nothing happened
Nothing is shown on a sleeping character, an egg, a ghost, or one that's put away — and the same goes for during consultation, conversation, or transcription. Bring another character out and try again.

The "working" display is stuck on screen
It clears itself after 15 minutes at most. To clear it sooner, tell Claude the work is over, or put that character away once.

Holding fn doesn't bring up the ring
Check that you're holding it for 0.3 seconds or more. Pressed together with another key, it's treated as an ordinary shortcut. If nothing has been put on the ring yet, choose items with "Ring Launcher…" under Settings in the menu bar. Also check that Accessibility permission is granted.

"Create AI Image…" doesn't appear in the menu
Either that child hasn't learned AI image generation yet, or the method chosen under AI Settings → Images can't be used on this Mac. On-Device only works on Macs that support Apple Intelligence.

"Create AI Voice…" doesn't appear in the menu
Under AI Settings → Voice, set up a method so it's usable and save it (ElevenLabs needs an API key, and Irodori-TTS + speech.cpp needs the speech command).

The other Mac doesn't show up in the P2P Connection list
Check that both Macs are signed in to the same account and that P2P Connection is turned on in "P2P Connection…" on both.


Contact

If this didn't solve it, please reach out through the contact form on the site.
The FAQ is worth a look too.

Languages

AI Coach