Give every visitor an assistant that reads and works on your pages.
WebBrain for websites puts a launcher on your site. Visitors ask about the page they are on, and, if you allow it, WebBrain fills in forms and clicks buttons for them. It is free, and you manage it at sites.webbrain.one.
How it works
- Your page loads the widget. The script tag loads
embed.jsfrom sites.webbrain.one. It adds the launcher and the chat panel to the page, inside its own shadow root so your styles and its styles don't mix. - The visitor asks. The widget reads the page the way the WebBrain browser extension does: as an accessibility tree of headings, text, links, fields and buttons. Visitors install nothing.
- The server asks the model. The widget sends the question and what it read to sites.webbrain.one, which adds your site's settings and instructions and asks the AI model what to do next.
- The widget does it, on the page. The model either answers or asks for a tool: read more of the page, scroll, do exact math, or, in Ask and act, type and click. The widget runs the tool in the visitor's browser and sends the result back. A question takes a few of these steps; at most 5 in Ask and 8 in Act.
The widget is built from the extension's own code, so it reads pages and acts on them the same way. Its source is in the WebBrain repository under GPL-3.0, and every copy of embed.js links to the exact commit it was built from.
Add it to your site
- Sign in at sites.webbrain.one. Enter your email and open the sign-in link we send you. The link works once and expires in 15 minutes. There is no password.
- Add your site. Give it a name and its address, for example
example.com. The address matters: the assistant answers only on that domain (see Limits). - Copy the script from the Install tab and paste it before
</body>on every page where you want WebBrain, or into your CMS's custom code setting. - Publish. The launcher appears in the corner you chose. Later changes in the dashboard reach your site without touching the script.
<!-- WebBrain for websites -->
<script src="https://sites.webbrain.one/embed.js"
data-site-id="site_…"
defer></script>
Your site ID is in the dashboard under Settings. It never changes. Deleting a site there stops its script at once.
Open the playground to see the assistant with your site's settings, or paste the script into a page on localhost, which every site accepts for testing.
Ask only, or Ask and act
On the Behavior tab you choose what WebBrain may do on your site. The server enforces it, whatever the page or the visitor asks for, and the widget runs only the tools of the mode it is in.
| Mode | Tools the model may use |
|---|---|
| Ask | get_accessibility_tree, read_page, get_interactive_elements, get_window_info, extract_data, get_selection, scroll, wait_for_stable, calculate, done |
| Act adds | click_ax, click, type_ax, type_text, set_field, set_checked, press_keys, navigate, find_text, wait_for_element, scratchpad_write |
Act works as the visitor, in their browser, on the page they have open: whatever they could click, it can click. Choose Ask only unless filling forms or walking through steps for visitors is the point.
Behavior settings
| Setting | What it does |
|---|---|
| Greeting | The first thing visitors see when they open the assistant. Up to 160 characters. |
| Instructions for this site | Added to every conversation on your site; visitors don't see them. Use them for what the page itself doesn't say: tone, what to recommend, what to avoid, where to send people. For example: “When visitors ask about pricing, point out that annual billing saves 20%. For refunds, link to /support.” |
| Highlight to ask | When a visitor selects text, a small pill offers to explain it. |
Write instructions for the help you want, not as a security boundary. What the assistant can do is set by the mode and the tools above.
Starter questions
On the Starter questions tab, add one-click questions that show when visitors open the assistant. Each has a label (what the button says), a prompt (what is actually asked) and a mode. Act questions are turned off while the site is set to Ask only.
Good starter questions are specific to the page: “Summarize this plan comparison”, “Which plan fits a team of 5?”, “Fill in the demo request for me”.
Appearance
| Setting | Options |
|---|---|
| Assistant theme | Light (warm paper), Dark (deep slate), or Auto, which follows the visitor's system setting. |
| Launcher style | Sparkle violet, Crimson flame, Sunset amber, Emerald, Ocean cyan, Rose, Minimal pill, Midnight, Neural orb, Ruby orb, Emerald orb. |
| Icon | Match the style, or Sparkle, Flame, Bolt, Slash, Brain, Chat, Search. |
| Label and accent color | The launcher's text and the color used for buttons and highlights. |
| Corner | Bottom right, bottom left, or top right. |
| While it acts | The effect shown around the page during a run: Classic glow, Neural circuit, Aurora, Scan, or Gears. |
Buttons and the JavaScript API
Any element on a page that loads the script can start a question. Add the attribute to a button or link:
<!-- Asks right away --> <button data-webbrain-ask="Summarize this page in 3 points">Summarize this page</button> <!-- Puts the request in the composer; the visitor sends it --> <button data-webbrain-act="Fill in the contact form for me">Fill it in for me</button>
data-webbrain-act only fills in the composer, because any markup on a page, including comments and posts your users wrote, can carry the attribute. The visitor decides to send it. Clicks made by WebBrain itself never start a run.
From your own code, window.WebBrain is ready once the script has loaded:
WebBrain.open(); // open the panel (also: close(), toggle())
WebBrain.ask('Summarize this page in 3 points');
WebBrain.act('Fill in the contact form for me'); // sites set to Ask and act
WebBrain.clear(); // start a new conversation
WebBrain.reloadConfig(); // pick up dashboard changes without a reload
Limits
WebBrain for websites is free, and the model it runs on is ours, so the chat is guarded:
| Guard | What it means for your site |
|---|---|
| Your domain only | The assistant answers only on the address you gave the site, its www. form and its subdomains, and on localhost for testing. Elsewhere visitors see “This assistant only answers on its own website.” If you move domains, update the address under Settings. |
| Per visitor | A visitor who asks a lot in a short time is asked to wait a few minutes. There is a daily cap per visitor too. |
| Per site and overall | Each site, and the service as a whole, has a daily limit. When one is reached, visitors are told to try again tomorrow. |
| Conversation length | Very long conversations are refused with a prompt to start a new chat. |
Normal use stays far below these limits. If your site needs more, tell us on Discord.
Privacy and safety
- What leaves the visitor's browser: their question, the conversation so far, and the parts of the page the assistant read. They go to sites.webbrain.one and on to the AI model provider for that turn.
- What we keep: counts per site (conversations, Ask and Act runs, tool calls) and the day's usage. Not the conversations.
- Passwords stay out. Values of password, hidden and other credential fields are never put in what the assistant reads.
- Pages are untrusted. Page text is passed to the model marked as untrusted content, so text on a page can't pose as instructions. As with any AI agent, this reduces the risk; it doesn't remove it.
- Visitors stay in control. Every Act run shows a glow around the page and a Stop button.
If your privacy policy lists the services your site uses, add that page content and questions asked in the assistant are sent to WebBrain and its AI model provider to answer them.
Troubleshooting
| What you see | What to check |
|---|---|
| No launcher | The script is on the page, before </body>, with the right data-site-id. If your site sends a Content Security Policy, allow https://sites.webbrain.one in script-src, connect-src and img-src. |
| “This assistant only answers on its own website.” | The page's domain doesn't match the site's address under Settings, or the page is opened from a file. |
| “The assistant can't answer right now.” | The AI model didn't answer. Try again in a moment; if it keeps happening, tell us. |
| “Too many questions in a short time.” | The per-visitor limit; it clears within minutes. |
| “…reached today's limit.” | A daily limit; it resets at midnight UTC. |
| Dashboard changes don't show | Reload the page, or call WebBrain.reloadConfig(). |
| Act does nothing | The site is set to Ask only, or the request was made with data-webbrain-act, which waits for the visitor to send it. |
