Chrome extension to analyze, interact, and automate browser pages with LLM (GitHub Copilot / Local LLM)
- Page Analysis: LLM understands the current web page and answers questions
- Browser Automation: LLM automatically performs clicks, inputs, scrolls, etc.
- 3 Operation Modes:
- Text Mode: DOM analysis-based (fast & lightweight)
- Screenshot Mode: Visual understanding via Vision API
- Hybrid Mode: Text-first, screenshot fallback
- Playwright-compatible Actions: Double-click, right-click, form fill, etc.
- Clone this repository
- Run
npm installto install dependencies - Run
npm run buildto build - Open
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked" -> Select
.output/chrome-mv3folder
Available now: Install from Chrome Web Store
- Required (always): A local bridge server: either GitHub Copilot Browser Bridge for VS Code or the standalone companion in
standalone-bridge - LLM provider: GitHub Copilot subscription (only when using Copilot provider) or Local LLM (LM Studio, etc.)
GitHub Copilot SDK and GitHub Copilot CLI providers require a local bridge process. Use the VS Code extension bridge or start the standalone companion; the Chrome Web Store extension alone cannot start local SDK or CLI processes.
- Launch a local bridge: VS Code extension (auto-start available) or
npm run start -- --port 3210 --workspace-root ..instandalone-bridge - Open Chrome extension side panel
- Enter questions or operation instructions on any web page
"Summarize the content of this page"
"Click the test button"
"Fill in the form and submit"
- If summarize/translate says page text is unavailable:
- Reload the target page and retry once.
- Confirm the request is not on a system page (
chrome://,edge://,about:,chrome-extension://). - Reopen the side panel from the same tab and retry.
- If needed, paste the target page text directly into chat as fallback context.
Configure from the side panel settings button:
- Provider: Auto / GitHub Copilot via VS Code / LM Studio
- Auto prioritizes the VS Code Language Model API when the VS Code bridge is available. GitHub Copilot CLI is kept only as the last answer fallback.
- GitHub Copilot SDK / CLI are shown in Bridge Status as diagnostic or advanced fallback routes, not as normal provider choices.
- The Auto route section in Settings shows the provider order and status for the current operation mode
- Bridge Status: Shows the local bridge version and provider availability for VS Code LM, Copilot SDK, Copilot CLI, and LM Studio
- Model Selection: Shows only live user-visible Copilot models returned by the bridge. Static fallback models are not selectable when the live list is unavailable.
- Browser Actions: Allow or block automatic browser control from the side panel
- File Operations: Allow or block generated file saves through the bridge
- Operation Mode: Text / Screenshot / Hybrid
- Max Loop Count: Maximum automation iterations when using Agent / SDK / CLI / Auto providers
- High-Risk Actions / Evaluate: Optional safety toggles for actions such as
newTab,closeTab, and Playwrightbrowser_evaluate; directevaluateactions in the Chrome extension are blocked for security, and Playwright Evaluate is disabled by default - Save Destination: Save generated markdown either to the browser downloads folder or to a workspace-relative path via the local bridge
- Default Save Path: Configure a relative base path such as
output/blog
- Deterministic save buttons: The latest assistant response can be saved directly as Markdown or as a blog draft with source URL and timestamp metadata
- Workspace fallback: If workspace-relative save is selected but the local bridge has no workspace root, the extension falls back to the browser downloads folder
- Drag & drop attachments (v1): Attach text files and images by dropping them onto the chat area or input area
- PDF fallback: PDF files are accepted as attachment context, but text extraction is intentionally skipped in v1
If the extension is connected to VS Code but the model list cannot be loaded, the settings panel shows a warning and disables Copilot model selection until refresh succeeds. If page text extraction fails for summarization or translation, the side panel stops before calling the LLM and asks you to reload, confirm the target URL, switch mode, or paste the text.
# Start dev server
npm run dev
# Run unit tests
npm run test
# Lint
npm run lint
# Type-check
npm run typecheck
# Build
npm run build
# Cross-extension consistency checks
npm run validate:bridge
# Create ZIP (for Chrome Web Store)
npm run zipCC BY-NC-SA 4.0 © aktsmm
This extension respects user privacy.
- Personal Information: Not collected
- External Transmission: Page content is only sent to the local bridge (localhost)
- Data Storage: Only user settings are stored in local storage
- Third Party Sharing: None
| Permission | Purpose |
|---|---|
| activeTab | Get current page content |
| tabs | Get tab info (URL, title) |
| scripting | Analyze page DOM elements |
| storage | Save user settings |
| sidePanel | Display chat UI |
| host_permissions | Limit the placeholder content script to local development pages |
The extension no longer requests broad static site access. It reads the current page through activeTab when the user explicitly opens the side panel or triggers the extension, and page content is sent only to the local bridge on localhost and then to the provider selected by the user.
- GitHub Copilot: Page content is sent to the GitHub Copilot service through the local bridge
- Local LLM: All data is processed locally, nothing sent externally
- GitHub Copilot Browser Bridge for VS Code - VS Code bridge option
- Standalone companion bridge - Node bridge option without the VS Code extension
yamapan (https://github.com/aktsmm)