OcuClaw already moved your agent onto a display in front of your eyes with the help of the Even G2 smart glasses, with the Even R1 ring on your finger to drive it. LiveUI is the next step. When text isn't the best answer, the agent draws a small interface on the display instead: a list you can scroll and tap, a checklist, a briefing you can flip through, a card that keeps itself fresh. You answer with the ring or the temple touchpad, and the agent carries on with your choice. Good ones get saved as Templates and Tasks and launched again from the menu.
Even Realities links are affiliate links · OcuClaw may earn a commission from eligible purchases.
Pick a scenario; it plays on its own, or step with ← →. The feed beside it shows
what actually travels: what you said, which tool the agent used, the paint, your gesture, and what the agent gets back.
LiveUI is deliberately not a web page on your face. The agent picks from five surface kinds, fills them with text (and, in one mode, a small 1-bit image), and the engine refuses anything that would overflow the display.
item_too_long, page_too_long). What still runs long is
trimmed where you can see it: a row label ends in .., an overlong page shows a +3 lines cue.
Both live in your Library, both launch with a tap on the glasses. A Template is a saved surface: it just paints. A Task is a saved request: it starts an agent turn that can use tools and draw whatever it needs.
location as a setting you can change on the phone.No builder, no settings page, no file to fill in. The agent arrives knowing what fits on the display, what you'd rather hear than see, and to ask before keeping anything. "What's the surf at Lyall Bay? I'd like it every morning" is one conversation: it looks it up, draws it, offers to keep it, and hands you the Approve button.
agentrender_glasses_ui validateOnly: true list_surface · 6 items engineok: false · item_too_long item 4 wraps to 2 lines at 372 px; max 1 line (about 34 chars at this size) — shorten it agentrender_glasses_ui list_surface · 6 items · item 4 → "Vendor call · moved to 14:00" engineok: true · painted · listening 90 s youtap · index 3 engineresult: selected · "Vendor call · moved to 14:00" later[glasses-ui feedback] render REFUSED since your last turn: code=page_too_long. Fix the named code and re-author.
If a paint was turned down, the agent's next turn opens with a one-line note saying why, so it fixes it instead of trying again. It sees the reason, never what you were reading.
LiveUI adds no new powers to the agent, just a place to put the result and a way for you to answer without speaking. Web fetch, messages, shell, files, sessions, skills, a calendar tool if your host has one: the agent uses its normal tools, then renders.
flowchart TB
classDef you fill:#0e1622,stroke:#7ad3ff,color:#dbeeff,stroke-width:1px;
classDef cc fill:#0c1a10,stroke:#4dd58a,color:#dff5e6,stroke-width:1.2px;
classDef box fill:#1a1408,stroke:#ffb454,color:#ffe7c2,stroke-width:1px;
classDef dim fill:#0f1310,stroke:#4a5048,color:#cfe8d4,stroke-width:1px;
V["you ask<br/>voice · text · a Task row"]:::you
subgraph H[" agent host · OpenClaw or Hermes "]
direction TB
AG["agent"]:::cc
T["its tools<br/>web_fetch · message · shell · files · skills · MCP · your plugins"]:::box
RG["render_glasses_ui"]:::cc
end
subgraph E[" LiveUI engine "]
direction TB
FT["fit gate<br/>measured with the G2 font"]:::cc
ST["stage lease<br/>one session holds the display"]:::cc
end
G2["Even G2 display"]:::cc
R["you answer<br/>ring or touchpad · swipe · tap · double-tap"]:::you
RC["refresh recipe<br/>http · llm · system stats"]:::dim
V --> AG
AG --> T --> AG
AG --> RG --> FT --> ST --> G2 --> R
R -->|"selected · back · dismissed"| AG
RC -.->|"patch · no agent turn"| G2
update picks replace, patch (in place, keeps the cursor) or push (a child on top); refresh adds a recipe; validateOnly dry-runs the fit gate.Same four tools, same teaching text, on OpenClaw and Hermes. On OpenClaw they're hidden from Even AI quick-action sessions, so a stray "hey" can't paint anything.