|
|
||
|---|---|---|
| chromium | ||
| firefox | ||
| scripts | ||
| shared | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
| package-lock.json | ||
| package.json | ||
README.md
verstak-browser-extension
Verstak Browser Extension captures pages, selected text, and links and sends them to a local Verstak browser inbox receiver.
The extension does not know Notes, Files, Activity, or Journal internals. It only sends capture events through the public local receiver protocol. If the receiver is offline, captures stay in the extension pending queue.
Build
npm ci
npm test
npm run build
Build output:
dist/chromiumdist/firefox
Local Receiver Protocol
Default endpoint:
POST http://127.0.0.1:47731/api/browser-inbox/v1/captures
Headers:
Content-Type: application/jsonX-Verstak-Receiver-Token: <token>optional, once pairing is implemented
Payload:
{
"schemaVersion": 1,
"captureId": "uuid-or-generated-id",
"capturedAt": "2026-06-27T00:00:00.000Z",
"source": "verstak-browser-extension",
"kind": "page",
"page": {
"url": "https://example.com/article",
"title": "Example Article",
"domain": "example.com"
},
"browser": {
"name": ""
}
}
Supported kind values:
pageselection, withselection.textlink, withlink.urland optionallink.text
Expected success response:
{ "status": "accepted", "captureId": "uuid-or-generated-id" }