Chrome — direct download
Download the latest build zip, unzip it, and load it as an unpacked extension. Takes about 30 seconds.
Install the extension, connect your ElevenLabs agent, learn every command, shortcut and voice trigger — plus how to ship it to the web stores when you’re ready.
Download the latest build zip, unzip it, and load it as an unpacked extension. Takes about 30 seconds.
ARIA ships with a Firefox build via webextension-polyfill.
Listed on Mozilla Add-ons once review completes. Load temporarily in the meantime (see below).
build/chrome-mv3-prod folder.manifest.json inside build/firefox-mv3-prod.Go to ElevenLabs → API Keys and create a key. Paste it into ARIA’s settings (the extension never sends it anywhere else).
ARIA’s persona, dynamic variables and client tools are managed in your dashboard. Open the extension’s Settings → Agent system prompt block for the exact prompt to paste, then:
mode, sass_level, page_title, page_url, page_text_snippet, arm_phrase, end_phrase.arm_focus_guard, disarm_focus_guard, set_focus_goal.end_conversation system tool.Open the extension settings, drop the Agent ID in the ElevenLabs Agent field, and click Run connection test. You should see token_endpoint: 200 ok and microphone: granted.
Remap any of these at chrome://extensions/shortcuts.
ON when armed).While in a session, say “ARIA, watch my back”(or your custom phrase). She’ll call the arm_focus_guard tool, pick up today’s goal and start shepherding you.
Say “stop watching” or similar to disarm — this hits disarm_focus_guard.
Say “I’ll talk to you later” and the agent ends the live session with the end_conversation system tool. Focus Guard keeps running in the background — it’s a separate always-on layer.
Open Settings → Focus Guard → Voice commands. Set the arm phrase and end phrase to whatever feels natural. They’re passed to the agent as the {{arm_phrase}} and {{end_phrase}} dynamic variables so the prompt stays in sync.
Mid-session, say “what tabs do I have open?”and she’ll call list_tabs to read back an annotated summary — pinned, muted, grouped, and which ones are duplicates.
Try “any tab groups already?” for list_tab_groups.
She can target tabs by id or by a semantic match. Things that work out loud:
audible: true.The underlying tool is close_tabsand she’ll echo back the count + titles she removed.
group_tabs with a title and color.ungroup_tabs.pin_tab / mute_tab on the active tab when no id is supplied.grey, blue, red, yellow, green, pink, purple, cyan, orange.open_tab auto-prefixes https://.list_tabs, finds it, then calls activate_tab.reload_tab with bypass_cache: true.The system prompt tells her to confirm before destructive actions:
If you’d rather skip the confirmation step, loosen that line in the dashboard prompt. If you’d rather tighten it (e.g. always require a readback of titles), add that instruction there too.
sass_level.chrome.alarms.Settings → Voice connection → Run connection test. You want:
convai access: 200 oktoken_endpoint: 200 okmicrophone: grantedA 401 on subscriptionis informational and doesn’t block Agents.
If the mic is denied, open the page’s padlock → Site settings → allow Microphone. Chrome sometimes also surfaces this via the URL bar camera icon.
These are not fatal. ARIA manages its persona via the dashboard prompt, not client overrides — make sure the system prompt, dynamic variables and client tools listed in section 02 are actually configured on your agent.
Usually happens right after a rebuild. Close the side panel, reload the extension at chrome://extensions, and reopen.
From the repo root:
cd aria-extension bun install bun run build # Chrome MV3 → build/chrome-mv3-prod bun run build:firefox # Firefox MV3 → build/firefox-mv3-prod bun run package # zips both builds into build/*.zip
chrome-mv3-prod.zip.chrome.storage.sync; no analytics. Link it in the listing.storage, activeTab, scripting, alarms, sidePanel, contextMenus, tabs, plus host access used for page reading.aria-website/src/lib/install.ts → chromeWebStoreUrl. All install buttons update automatically.firefox-mv3-prod.zip.firefoxAddonsUrl in install.ts.version in aria-extension/package.json.