OwlLayer AI: Letting AI Agents Act on Your UI Instead of Replacing It
Most AI-in-product integrations fall into two camps, and both have a ceiling. A chatbot bolted onto the side of your app can talk, but it can't act - it has no real connection to your components, your state, or your business logic.
Generative UI goes the other way: the LLM regenerates the interface on the fly, and the first time it hallucinates a layout, your design system and your carefully built business rules are gone. I wanted a third option. That's what OwlLayer AI is.
The core idea: Neural-DOM Binding
Instead of scraping the DOM or handing a model raw control over your page, your components declare their own actions - named, typed, schema-validated, with an explicit risk level.
useAgentTool(
{
name: 'add_to_cart',
description: 'Add the current product to the shopping cart',
schema: z.object({
quantity: z.number().int().min(1),
}),
risk: 'low',
},
async ({ quantity }) => {
await cart.add(product, quantity);
return { productId: product.id, quantity };
},
);
The tool's lifecycle is tied to the component's. Mount it, the tool appears in the agent's capability registry. Unmount it, it's gone.
Security isn't a wrapper, it's in the protocol
Every tool carries a risk level. High and critical risk pause and render a Human-in-the-Loop approval prompt, isolated via Shadow DOM. Nothing critical runs without an explicit human "yes."
Voice is first-class, not bolted on
A voice command routes through the exact same tool-calling and approval pipeline as text.
Built on OpenAI Realtime, Gemini Live, and LiveKit
One protocol, native bindings everywhere
AITP (Agent-to-Interface Transfer Protocol) connects your LLM to your UI. One TypeScript server orchestrates everything; framework-idiomatic bindings sit on top for React, Vue, Svelte, Angular, vanilla JS/HTML, and PHP.
Where it stands, actively developed
12 packages under @owllayer on npm, MIT licensed, code and docs public now. Official site and demo video landing soon. Built from Abidjan, Cรดte d'Ivoire ๐จ๐ฎ. Repo: https://github.com/borisbob91/owllayer
Comments
No comments yet. Start the discussion.