opencode discovers AGENTS.md and nothing else; claude code discovers CLAUDE.md. this repo had neither, so an agent sent to change something here arrived with no guidance at all under either. it deliberately does NOT repeat README.md. that file says what the plugin is, for someone deciding whether to install it. this one answers the other question: i have to change something in here, what will i break. the facts in it are read from the repository rather than recalled — the panel keys from web/panels.ts, the tables from db/schema.ts, the permission keys, the host binaries and the route claims from manifest.ts. presence is the declaration everywhere in this system, so the file says what the platform will actually conclude from these files existing. CLAUDE.md beside it is a pointer, not a copy: two copies drift and the stale one is the one somebody reads.
Browser
Drive your own browser from Officer — your tabs, your sessions, your logins.
This is not a scraper. It attaches to the Chrome you are already using, so a page behind a login is a page Officer can see, because you are signed in to it. Ask an agent about what is on your screen, have it read a tab, navigate, or take a screenshot of something no headless browser could reach.
You install an extension. The plugin ships it; Chrome loads it from disk, and you paste one address and
one token from Settings to pair. extension/SETUP.md has the steps.
Each account pairs its own browser. Two people on one server drive two different browsers, and neither can see the other's tabs.
Not yet tested end to end. The relay moved from inside the platform to its own process as part of this
extraction, and no browser has been paired against it since. It typechecks and installs; whether an
extension connects is the next thing to find out. BLOCKERS.md is honest about the rest.
Needs no host packages — the relay is Bun, and Chrome is on whatever machine you are sitting at.