What is a Web Agent?
Many businesses provide a REST API on the web, which is shared* between users.
A web agent is similar, except it is super-focussed. It is unique to:
- The business that produced the web app of which it is part.
- The individual person who has launched that app.
As a developer, this adds a new dimension to your apps.
- You place your web agent
.js
and.ts
files right alongside the.html
and.css
of your web page. - Users launch your app, but don’t have to login to identify themselves.
Centralised App
Let’s suppose you’ve written a backend API with the route /myapi
.
In a traditional app, the user navigates to a web page. This is pre-configured to use /myapi
on a server
whose name is shared between all users*:
block-beta
columns 4
u1("User 1")
u2("User 2")
u3("User 3")
u4("...")
space:4
space
be("some.server/myapi"):2
space
u1-->be
u2-->be
u3-->be
Web Agent App
In contrast, when a user launches your web agent app, /myapi
is instantly deployed on their personal web agent server.
Your app talks to /myapi
on this personal server, not to a central server:
block-beta
columns 4
u1("User 1")
u2("User 2")
u3("User 3")
u4("...")
space:4
b1("user.one/myapi")
b2("user.two/myapi")
b3("user.three/myapi")
b4("...")
u1-->b1
u2-->b2
u3-->b3
What’s Different
- Web agents are loaded and unloaded on demand like web pages in a browser.
- Each user has their own web agent server (web daemon) capable of running agents for many apps at once.
- Web agents are available 24/7 and can easily form decentralized peer-to-peer networks.
- No login is needed because identity, authentication and authorization come for free with agent security tokens.
Standards
- Standard web HTML, CSS, JS and Typescript.
- Standard tooling such as React, Vite, Oak.
- Standard HTTP interop to/from other personal agents and systems.
*That’s why users have to log in - to distinguish themselves.