Agents that run code
An advanced agent writes a script and runs it. It reads the result and repeats until it can answer. A step limit, an allowed-secrets list, and a network allowlist control each run.
Urai runs agents that answer your users and act on your systems.
An agent writes JavaScript and runs it in a sandbox. It reads the result and repeats until it can answer. It calls the libraries you publish, and it follows the skills you write.
When the agent is correct, you publish it as a chat widget and add the widget to your application. Your page sends context to the agent, and the agent sends commands back to your interface.
Agents that run code
An advanced agent writes a script and runs it. It reads the result and repeats until it can answer. A step limit, an allowed-secrets list, and a network allowlist control each run.
Libraries in TypeScript
Publish the functions your agent calls, so the agent does not write its own
HTTP requests. Libraries run in the uraiJS sandbox, not in Node. Deploy them
with git push.
Skills as procedures
A skill is a Markdown procedure that the agent loads when the task needs it. Tags decide which agents can reach it. Change one skill, and every agent with that tag uses the new version.
An embeddable widget
Add the widget with one script tag, or with a typed component for React, Vue, and Svelte. The style and the text stay on the server, so you change them without a new release.
Context in and out
Send page context and user context into the conversation as vars. A tool can send a command back to your application, for example to open a page or to refresh a view.
Unattended workflows
Write durable TypeScript for work that runs without a person. A step that fails can retry, a run can stop until someone approves it, and Urai keeps a record of every run.
An OpenAI-compatible API
Point an OpenAI SDK at Urai and change the key. Name your tools and your knowledge collections in the request. Urai runs them on the server and returns the finished answer.
Your agent as an endpoint
Publish an agent on its own Responses endpoint. Your code sends an input, and the agent answers with its own model, tools, and knowledge. The conversation stays on the server.
The in-app agent guide gives the steps in order. It starts at sign-in and ends with a live widget on your site. Each step ends with a check, so you know when to continue.
Five other paths do not need a widget: