Routines run an agent every time. A plugin can do the cheap part itself: look at a page’s data on a schedule, remember what it saw, and call your agent only when something changed. A quiet check costs no AI.
A job on a schedule#
"yab": {"service": "service.js", "every": "1h", "permissions": ["yab:task"], "daily_limit": 10}// service.js
export async function tick({ signal, storage, fetch }) {
const price = (await (await fetch('https://shop.example/api/item/42', { signal })).json()).price
const was = storage.price
storage.price = price
if (was && price < was) return { wake: `The price dropped from ${was} to ${price}. Tell me in one line.` }
}everyis15mto7d. Each run has 25 seconds and runs while Veb is open.fetchreaches the plugin’s sites and the hosts it names only, without your cookies and without redirects: public data.storageis what the last run left, up to 64 KB of JSON.- Returning
{wake: "…"}starts a task with your agent, when the plugin hasyab:task. The same words twice in a row wake nothing.
Commands, quick actions and routines#
A plugin can add rows to Veb’s own lists with commands.json:
{"commands": [{"id": "triage", "name": "Triage this issue", "prompt": "Read the issue and suggest a label."}],
"actions": [{"id": "inbox", "name": "Linear Inbox", "url": "https://linear.app/inbox"}],
"routines": [{"id": "standup", "name": "Standup notes", "when": "weekdays 9:30",
"prompt": "List what I closed yesterday and what is in progress."}]}They appear in Settings with the plugin’s name after theirs, “Triage this issue · Linear Tools”, keep the shortcut, model and on or off you give them across updates, and go when the plugin is turned off. when takes hourly, on open, every 30m, daily 9:00, weekdays, weekends or days like mon,wed 18:00.
Its own page#
"app": "app/index.html" gives the plugin a page at yab://<id>.boost/app/index.html, opened from its menu in Site Controls (Open App). It loads only its own files and reaches the network only through the yab API.
How much AI it may use#
daily_limit (1 to 100, 20 by default) caps the calls a plugin makes in a day: its ask and task calls, the wakes, its commands and routines. Settings › AI › Plugin AI shows each one’s count and lets you lower it, down to zero.