Docs

Browser Extension MVP

Capture intentional ChatGPT and Claude web decisions into ACB, then copy project context back into chat.

The extension saves explicit user-selected snippets or visible page text on demand. It does not scrape every conversation and does not expose the agent key to the content script.

Build locally

npm --workspace @aicontextbase/browser-extension run build

Load `apps/browser-extension/dist` from `chrome://extensions` with Developer mode enabled.

Configure

Set API URL, project slug, agent key and default target AI in the popup. Use `http://127.0.0.1:3003` locally or `https://aicontextbase.com` in production. The saved key is masked after storage, for example `acb_live_****abcd`.

Capture flow

POST /api/v1/projects/:slug/events/chat-capture
{
  "provider": "chatgpt",
  "title": "ChatGPT",
  "url": "https://chatgpt.com/c/...",
  "selectedText": "We decided the local API should run on port 3003.",
  "pageText": "",
  "captureMode": "selection",
  "note": "optional"
}

Low-risk rules, decisions, facts and architecture notes are auto-applied. Secret-like, security, payment, credential and risk captures are redacted and sent to Memory Inbox.

Context copy

GET /api/v1/projects/:slug/context?task=chat-session&target_ai=chatgpt

The popup copies the returned markdown to the clipboard so it can be pasted into Claude or ChatGPT.

Security model

The content script reads selected text, page title, page URL and visible page text only after a popup action. The background service worker performs all API calls with the bearer agent key. Host permissions are limited to ChatGPT, Claude, local ACB and `https://aicontextbase.com/*`. Chat capture requires `event:create`; context copy requires `context:read`.