Technology · Platform

Chrome extensions (Manifest V3)

A browser extension lets an agent act through my own authenticated browser session where no API exists, with duplicate-safe receipts and a read-back after every change.

FAFOHiveA provider with no API pathNative messaging host
Where the session lives, and what leaves the browser
providerhostsigned-in Chrome
Operationover a private socket
Session cookiesnever leave the browser
Resultthe only thing returned
no screen clicks · no second browser · no listening port
  • ~800lines across the extension, native host and installer
  • 6agent tools behind it
  • 5read-only checks at most after each change, one second apart

Working through the browser I already use

FAFOHive needed a way for agents to read Reddit threads and to post, edit and delete their own comments, and no Reddit API path was usable from my estate. Copying session cookies to a server or running an automation browser would have moved my credentials somewhere they should never be.

So I built a Manifest V3 Chrome extension that lives in my normal, signed-in Chrome. The provider service reaches it through Chrome's native messaging, the extension returns only results, and the provider is reachable only through the existing tunnel.

Dropped · headless bridge
my Chrome
a second browser
Kept · the extension
my Chrome
anywhere else
Each lock is a working copy of my session. The second copy was the exact risk I wanted to remove.

Every change confirmed by reading it back

The service never switches accounts, and an idempotency key is bound to each operation's inputs. An unconfirmed send is never resent, so a network error cannot become a duplicate comment.

One change, then its read-back
send
  • The page shows the changereceipt stored
  • Still unconfirmed after the checksuncertain
  • Same key, same inputs, replayedsaved receipt
  • Same key, changed inputsrefused
Every guard runs first: the signed-in account is checked, edits and deletes check ownership, and dry run is the default. An uncertain send is settled by reading.

A change counts when the page itself shows it.

A deliberately small surface

I kept the surface to top-level comments.

What an agent could ask the platform for
identity
read thread
read comment
create
edit
delete
posts
media
messages
nested replies
voting
Edit and delete act only on top-level comments the signed-in account owns.

I look for the narrowest route that keeps a credential where it already lives, and I put idempotency and read-back around any action an agent takes on a platform I do not control.