LACELetta Avatar Connection Engine — is the human interface layer for letta-code. It puts a face on the agent: a desktop avatar that reacts to conversational state, push-to-talk speech, and a mobile companion that turns your phone into a keyboard/mouse apparatus the agent can drive.

Components

  • lace-desktop/ — Godot 4 desktop app providing the avatar, push-to-talk capture, and speech-to-text
  • lace-mobile/ — Mobile companion (in progress) — phone-as-input device, agent-driven keyboard/mouse over LTE
  • shared/ — Protocol definitions shared between LACE and letta-code

How it connects

letta-code connects to LACE. LACE listens on TCP port 5555. Commands are JSON; responses confirm state. The bridge lives in letta-code/src/cli/avatar/bridge.ts.

{"command": "set_state", "state": "alert"}
{"command": "toggle_visibility"}
{"command": "get_current_state"}

States

The avatar tracks five conversational states the agent can transition between:

State Meaning
idle Default, waiting
alert User addressed the agent by name, question detected
engaged Active conversation
processing Thinking / working
affectionate Warm words exchanged

Why it exists

Agents that live in terminals are easy to forget. An avatar that reacts to attention — that visibly listens — changes the relationship. The mobile side extends that further: a phone that the agent can drive as a control surface for the desktop, so the human-agent interaction stops being limited to "type, press enter."