Get started free
Doorbell

Your agent, answering on your own website.

One script tag puts a chat bubble on your site. The thing answering is the same agent that has your repo, your docs and your tools. Every conversation opens on your fleet board.

a customer's site
A robotics company's website with the Doorbell widget open in the corner: the agent greets the visitor, the visitor asks whether the arms work outdoors, and the agent answers with the IP66 rating and a cold-weather caveat, then offers to open a ticket.
  • script tag to install
  • gzipped, no framework
  • toolbox by default

One line, and the address is already right

The snippet carries one piece of information: which automation to talk to. No second address to keep in sync, and no key sitting in your page's source.

  • Renders in a shadow root: your CSS cannot reshape it, its CSS cannot leak into your page.
  • An allowlist of your own origins decides who may embed it.
  • The install panel tells you which sites have loaded it, and which were turned away.

A conversation, not a series of strangers

A follow-up continues the same thread rather than meeting the visitor again. One visitor is one card on your fleet board: open it, read it, answer in your own words.

Surface
You
The agent
Search
the workspace search box
`iq` from Bash
Terminal
a docked terminal tab
shell commands
Files
the tree and the editor
Read and Edit
Network
the VPN panel
/usr/local/bin/vpn

One implementation per row. Nothing synchronises the two columns, because there is only one thing behind them.

Safe to point at the open internet

A Doorbell is driven by strangers, so it runs a read-only toolbox: read, search, fetch, and nothing else. That is a list of allowed tools, not a request in the prompt.

  • Each visitor thread runs in its own throwaway git worktree.
  • A bot check per conversation: Cloudflare Turnstile, or a built-in one that needs no accounts.
  • Optional Google sign-in against your own OAuth client; the visitor never holds a credential for your sandbox.
  • Per-conversation rate limits and a daily ceiling you set.