For your users
They talk to your app. The app does it.
Product
OwlLayer AI adds an agent inside your web app. Your users ask for what they want, in text or by voice. The agent calls the actions your interface declares, and your code does the work.
Two sides, one product
They talk to your app. The app does it.
You declare actions. Your code still does the work.
What your team writes
Put it on the component that owns the action, or on a plain HTML element with a few attributes. No framework is required, and nothing else in your app changes. Docs
With a component
import { useAgentTool } from '@owllayer/react';import { z } from 'zod'; export function ProductView({ product }) { useAgentTool( { name: 'add_to_cart', description: `Add a product to the cart. On screen: ${product.name} (id ${product.id})`, schema: z.object({ productId: z.string(), quantity: z.number().int().min(1), }), risk: 'low', }, async ({ productId, quantity }) => { await cart.add(productId, quantity); return { productId, quantity }; }, ); return <ProductCard product={product} />;}With plain HTML
<!-- No JavaScript: the attributes turn this button into a tool --><button data-owllayer-tool="add_to_cart" data-owllayer-description="Add the current product to the cart" data-owllayer-action="click" data-owllayer-risk="low"> Add to cart</button>Neural-DOM Binding
Neural-DOM Binding is the link between the model that understands your user and the living page they are using. The model never clicks: it picks an action your page has declared, by name.
Animation. A user asks to add two items to the cart. The model reads the actions declared on the screen and picks add_to_cart with quantity 2. The call travels to the page, your code runs it, the cart shows 2, and the result goes back to the model, which replies. Below, a cursor hunting for a button selector is crossed out.
Next to MCP
If you know MCP, OwlLayer AI completes it. One declares what your services can do; the other declares what your interface can do, right now.
They work together: the same agent can use both.
MCP bridges are on the roadmap.
Your web clients connect to one OwlLayer AI server. It holds the model keys, talks to the model and routes each call back to the page that declared it.
Your interfaces
OwlLayer AI Server
ws://localhost:3000/owllayer
Provider keys stay here
Your model
The packages are published under the @owllayer scope, MIT licensed. Versions checked on September 27, 2026
Install the server and one client, declare one action, and ask for it.