Skip to content

Features ​

Everything YUI does today, grouped by area. The README shows the three headline features in motion.

Character ​

FeatureWhat it does
ModelsVRM 1.0 and 0.x loading with hot-swap, the bundled Sendagaya Shino as the default, and import, rename, and delete for your own .vrm files
Emotions and motions10 emotions and 25 motions, 9 of them agent-selectable, with a per-emotion fallback chain ending at neutral (motion catalog)
Cursor gazeHead and eyes that follow the OS cursor anywhere on screen, with an on/off switch
LipsyncMouth movement from speech amplitude, with a gain slider
Idle livelinessBlink, sway, breathing, and look-around on the client, reduced to blinking under prefers-reduced-motion
CameraAuto-framing, wheel zoom, Shift+drag orbit, and a reset to the front view

Desktop pet ​

FeatureWhat it does
OverlayTransparent, frameless, always-on-top window with click-through on empty pixels
Drag and resizeOS-native drag across monitors, and Ctrl+wheel resize anchored at the feet
Perch and peekA seat on a window's top edge or a spot behind its side edge after a drop there, released when the window moves, closes, or covers her
LocomotionFloor walks, strolls and jumps across window tops, and falls with a landing; climbing up window sides and onto the monitor above, labelled in development; switches for climbing and falling in the General tab
TouchReactions to taps on the head, chest, and hips and a press-and-hold head pat, with one touch cue a minute to the agent (configs/avatar.json)
Summon and trayGlobal CmdOrCtrl+Shift+Y shortcut that brings her forward and focuses the text input (configs/hotkeys.json), and a tray menu with show/hide, Settings, and Quit

Conversation and voice ​

FeatureWhat it does
Speech bubbleStreaming markdown with links in the default browser; in the message window the backend's reasoning folds open at its top; the running tool shows in the status pill above the character
Text inputText box with up to 6 image attachments by paste, drag-and-drop, or file picker
Voice inputSilero VAD speech detection, transcription on any OpenAI-compatible STT endpoint, and barge-in over her speech
Voice outputSentence-by-sentence TTS on Irodori, OpenAI, or Fish Audio with the emotion_text voice tag (vocabulary). Irodori lists the TTS server's voices and imports your own reference clip; OpenAI lists its built-in voices; Fish lists your voice models, imports a clip as a new model, and accepts any library voice id
Waiting fillerThinking motion and short localized lines while a reply is pending, including tool-specific lines, and a spoken line when a turn times out or the backend can't be reached. Defaults come from configs/filler.json; every list is editable per language under Settings → Talk → Thinking interjections (More phrases for the long-wait, timeout, connection-lost, and tool lines)
History and message windowHistory tab stored on the device, and an optional separate message window

Backend ​

FeatureWhat it does
Chat protocolschat_completions, responses, and push, selected by chat_api in configs/endpoints.json (push transport)
Expression cuesgenerate_express cues for emotion, motion, voice tag, and caption; the renderable vocabulary travels in the tool schema on Responses and Chat Completions, in the hello and vocabulary frames on push, and to the Expression Broker (MCP) when broker_base_url is set, a path deprecated and removed in v0.6.0 (cue contract)
Provider presetsOpenAI, Ollama, LM Studio, Groq, and Hermes Agent presets, plus a custom endpoint
Per-turn contextclient_context text with local time, frontmost app and window title, an optional screenshot, body posture, and the outcome of the previous turn (format)
SilenceAn empty reply or a bare [SILENT] token as a silent turn
Delegated tasksChip for work the agent runs in the background, with persisted history (push transport)

Proactive and context ​

FeatureWhat it does
Greetings and check-insScheduled greetings (09:00, 12:00, 18:00, 23:00 by default) and idle check-ins after 5, 10, and 30 quiet minutes, all editable in the Proactive tab
Screen watchCues on a switch to another app after 10 minutes in the previous one, and on every 45 minutes in one app, off by default (configs/screen.json)
First activity of the dayCue on the first activity of each local day
GuardrailsPer-source debounce, hourly caps of 24 cues and 40 self-started turns (configs/guardrails.json), and a 10-minute default quiet gap after each turn
Loopback ingressLocal listener on port 8770 for coding-agent hooks, /signals, and the avatar Mod, active while the External signals switch in the Proactive tab is on (off by default, applied at next launch); the bare paths serve the main window and /presets/<id>/ paths serve the pet window bound to that preset
Coding-agent hooksPOST /agent-event (deprecated: removed in v0.6.0; use POST /signals) for finished tasks and input requests from coding agents (hooks guide)
Signals ingressPOST /signals for batches of external signals (envelope); to wake one character, turn External signals on, open that character's window, copy its URL from its row in the preset list, and give the URL to the producer
Daily briefingSkill for a backend agent that runs scheduled producers on its own machine and speaks their dated briefings on the first activity of the day or on request, with the Scheduled greeting switch on (skill)
Witness logLocal JSONL of app switches and idle periods, kept for 14 days (format)
WorkflowsSaved endpoints fired from a button in the Proactive tab

Extensibility ​

FeatureWhat it does
ModsStandalone MCP servers router, desktop-control, shell-sandbox, and avatar; the avatar Mod seats her on a window, makes her peek, or moves her to a screen spot through the loopback ingress (Mods, tool reference)
IntegrationsBackend-agent adapters and backend-agnostic skills under integrations/, for example the Hermes Agent plugins

Platform ​

FeatureWhat it does
LanguagesEnglish, Japanese, and Korean UI, with the OS language as the first-run default
ConfigurationRuntime settings in configs/, validated at load, with hot-reload in development
LogsOne log file per day shared by frontend and Rust lines (location, convention)
PlatformsmacOS on Apple Silicon and Windows x64 (official); Intel Mac and Linux are not officially supported