Open source, MIT

Augment the web apps you cannot change.

Business.Add a side panel with Excel export, form filling and AI to the internal apps your team already uses, without waiting for the vendor or a project.

Developers.A small TypeScript framework for page-specific tools: module lifecycle, side panel, forms, tables, screenshots and AI helpers. Ship it as a bookmarklet, an extension or a script tag.

IT and security.Runs inside the page with the user's own session and permissions. No backend change, no telemetry, and nothing leaves the page unless your agentlet sends it.

AI builders.Hand a model the page's forms and tables as clean data, then fill the answer back in. Keep your provider key on your server behind a proxy.

agentlet demo

Drag it to your bookmarks bar. How it works

Try it on real sites, like Wikipedia

Best on desktop

An animated walkthrough: an expense report page that only takes manual entry gains an agentlet panel on top of it. The panel reads an uploaded receipt into the form, adds an Excel export the app does not have, and answers questions about the page, all without changing the host page itself. It ends with example features from the agentlet library.

  1. Your app as it is today. Expenses are typed in by hand, field by field.
  2. An agentlet was built to add features to this app. Just click the agentlet icon.
  3. The agentlet panel opens on top of the app and offers its services.
  4. Read a receipt. Upload it and the form is filled for you. You review and submit.
  5. Export to Excel. The app has no such feature. The agentlet adds it.
  6. Ask questions about the data on the page.
  7. The host page did not change. Everything was added on top, with agentlet.
  8. These are just examples. Build what your team needs, with many features ready to use in the library.
Demo sandbox a sample receipt, an expense form and a supplier form

Demo sandbox

A fictitious receipt, a small expense form and a supplier form, usable by hand, that send nothing. Open the live demo above and pick "Receipt to expense report" to watch an agentlet read the receipt and fill the form for you instead. Pick "Paste a company as a supplier" to paste a copied company into the supplier form.

receipt-preview.png
Open the receipt PDF

 

New supplier

 

Recent expenses

2026-02-0254.10 EUR
2026-02-18120.00 EUR
2026-03-0118.50 EUR

The sandbox is a sample page. To see agentlet on real sites such as Wikipedia, use the known-sites bookmarklet. Its demos are read-only.

See it in action

The same business application, before and after being augmented with an agentlet.

An expense reviewer opening a hotel receipt, scrolling through it to check the total and dates, then ticking the checklist and approving the claim by hand
Manual processing of a recurring task
The same expense app with an agentlet side panel that reads every receipt with AI, flags the one that does not match and pre-checks the others for the reviewer to approve
The same application, augmented with an agentlet (AI answers replayed for the recording)

agentlet (n.): a small, page-specific tool injected into a web app you don't control, like a bookmarklet with a side panel, forms, tables and AI.

Three ways to deploy

The same core augmentation capabilities, adapted to different technical environments and constraints.

Bookmarklet

A small JavaScript snippet stored as a browser bookmark. Clicking it injects the agentlet into the current page, with no installation required.

Injected at runtime, nothing to install

Extension

An installable extension that launches agentlets with access to browser APIs, persistent state, and automatic injection on chosen sites.

Injected on the sites you choose

Native

The same code the bookmarklet would inject at runtime is instead loaded directly by the host application, for teams who can add a script tag but not change the backend.

Shipped by the host application

What it brings to your application

An expense form filling in automatically: vendor, date, amount and cost center, then the submit button gets a highlighted outline for the user to review, not submitted automatically.

Forms

Extract form structure and fill forms programmatically, with AI-friendly data formats.

Filling triggers the same JavaScript events a real user would, so the host page reacts normally.

The user reviews and submits; agentlet never submits a form on its own.

window.agentlet.forms.fill(form, { '#email': value })

Guiding principles

  • Target specific needs and pages instead of generic, global changes.
  • Respect the host application's styles without polluting its CSS.
  • Offer opt-in features through a side panel, not automatic changes.
  • Assist but do not override: fill forms to save time, never auto-submit.
  • Keep each agentlet's own code small and rely on existing backend APIs for complex logic.

Compared to robots

Agentlets can look like small, local robots, the kind used in RPA (robotic process automation). They are not true bots: they depend on the context of the user's active tab and enhance, rather than replace, the user's interaction.

Scroll for more

Robots compared to the three agentlet deployment modes
AspectRobotBookmarkletExtensionNative
InstallationHeavy: desktop and backendLight: bookmarkletLight: browser extensionLight: served by host app
AutonomyFully autonomousNeeds user actionSemi-autonomousSemi-autonomous
Security, scope of actionFull access: OS, files, appsPage privileges, browser onlyExtended: extension APIsPage privileges, inside app
Robustness to UI changesFragileRobust with good selectorsSame as bookmarkletVery robust: tied to app code
PerformanceOften slowInstantInstantInstant
Relies on user contextYesYesYesYes
Interacts with page like a userYesYesYesYes
Goes beyond current pageYesNo: single page app onlyYes: across browser tabsNo: single app context
Goes beyond browserYes: system-wideNoNoNo
Interacts with embedded elementsLimited: surface onlyDeep: full DOM accessDeep: same, plus APIsDeep: full access to app DOM

Compared to userscripts and extensions

Userscripts (Tampermonkey and similar) and hand-written browser extensions also change pages you do not own, and are often the simpler choice. Pick a userscript when only you will use the script. Pick an extension when you need browser APIs, background work or a store listing. Pick agentlet when colleagues should run the tool from a bookmark without installing anything, when the host app can load it directly, or when you want one panel, set of helpers and lifecycle across all three ways of shipping it.

Scroll for more

Userscripts and hand-written extensions compared to agentlet-core
AspectUserscriptHand-written extensionagentlet-core
Install for the userA userscript manager, then the scriptThe extensionNothing for a bookmarklet, or nothing if the app embeds it
Runs without a click on matching pagesYesYesOnly when embedded or loaded by an extension. A bookmarklet needs a click
Pages with a strict Content Security PolicyWorksWorksA CDN bookmarklet is blocked
Panel UI, form, table, screenshot and AI helpersWrite them yourselfWrite them yourselfIncluded
Module lifecycle and URL matchingMatch rules in the script headerMatch rules in the manifestIncluded, including single page app navigation
Cross-origin requests and background workGM_xmlhttpRequest and storage APIsFull extension APIsSame limits as the host page

Get started

Install the package, or follow the quick start for a working bookmarklet or page in two minutes, with no clone.

terminal
npm install agentlet-core