{"id":52036983,"url":"https://github.com/colesmcintosh/grok-chrome","last_synced_at":"2026-08-01T21:01:14.768Z","repository":{"id":365136311,"uuid":"1269643426","full_name":"colesmcintosh/grok-chrome","owner":"colesmcintosh","description":"Chrome side-panel agent for xAI Grok with user-approved browser actions","archived":false,"fork":false,"pushed_at":"2026-06-16T02:09:46.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T04:07:52.542Z","etag":null,"topics":["browser-agent","bun","chrome-extension","grok","vercel-ai-sdk","xai"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colesmcintosh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-15T00:46:45.000Z","updated_at":"2026-06-16T02:09:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/colesmcintosh/grok-chrome","commit_stats":null,"previous_names":["colesmcintosh/grok-chrome"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/colesmcintosh/grok-chrome","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colesmcintosh%2Fgrok-chrome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colesmcintosh%2Fgrok-chrome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colesmcintosh%2Fgrok-chrome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colesmcintosh%2Fgrok-chrome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colesmcintosh","download_url":"https://codeload.github.com/colesmcintosh/grok-chrome/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colesmcintosh%2Fgrok-chrome/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36170392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-01T02:00:05.789Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-agent","bun","chrome-extension","grok","vercel-ai-sdk","xai"],"created_at":"2026-08-01T21:01:14.009Z","updated_at":"2026-08-01T21:01:14.761Z","avatar_url":"https://github.com/colesmcintosh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grok Chrome\n\n[![CI](https://github.com/colesmcintosh/grok-chrome/actions/workflows/ci.yml/badge.svg)](https://github.com/colesmcintosh/grok-chrome/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-black.svg)](LICENSE)\n[![Built with Bun](https://img.shields.io/badge/built%20with-Bun-black)](https://bun.sh/)\n[![Chrome MV3](https://img.shields.io/badge/Chrome-MV3-111111)](https://developer.chrome.com/docs/extensions/develop/migrate/what-is-mv3)\n\nGrok Chrome is a Chrome Manifest V3 extension that puts an xAI Grok chat agent in the browser side panel. It can inspect the active tab, propose browser actions through the Vercel AI SDK, and run those actions only after the user approves them.\n\n## Features\n\n- Side-panel chat interface for the active tab.\n- Local xAI API key prompt using `chrome.storage.local`.\n- Default `grok-4.3` model.\n- User-approved browser actions for navigation, clicks, typing, selecting, scrolling, and waits.\n- Page snapshots with visible text, headings, and referenced interactive elements.\n- No arbitrary JavaScript execution tool exposed to the model.\n- Password field typing is blocked.\n\n## Install Locally\n\nRequirements:\n\n- Chrome 116 or newer.\n- [Bun](https://bun.sh/) 1.3.5 or newer.\n- An xAI API key from \u003chttps://console.x.ai/\u003e.\n\nBuild and load the extension:\n\n```sh\nbun install\nbun run build\n```\n\nThen:\n\n1. Open `chrome://extensions`.\n2. Enable **Developer mode**.\n3. Click **Load unpacked**.\n4. Select this repository directory.\n5. Click the **Grok Chrome** extension action to open the side panel.\n6. Paste your xAI API key when prompted.\n\nAfter source changes, run `bun run build` again and reload the extension from `chrome://extensions`.\n\n## Usage\n\nOpen a normal web page and ask Grok to inspect or act on it.\n\nExamples:\n\n```text\nSummarize this page.\n```\n\n```text\nClick Pricing.\n```\n\n```text\nSearch for browser automation docs.\n```\n\nWhen Grok wants to change the page, the side panel shows an approval card. Click **Run** to execute the proposed browser action.\n\n## Browser Tools\n\nGrok can request these actions:\n\n- `navigate`: open an HTTP or HTTPS URL in the active tab.\n- `click`: click a referenced visible page element.\n- `type`: type into a referenced text field or editable element.\n- `select`: choose an option in a referenced `\u003cselect\u003e`.\n- `scroll`: scroll the active page.\n- `wait`: pause before inspecting the page again.\n- `ask_user`: stop and ask the user for manual input.\n\n## Development\n\nRun the full local check:\n\n```sh\nbun run check\n```\n\nThis command:\n\n1. Bundles the MV3 service worker to `dist/background/service-worker.js`.\n2. Runs the Bun test suite.\n3. Syntax-checks the bundled service worker and source entry points.\n\nUseful commands:\n\n```sh\nbun run build\nbun test\n```\n\n## Project Structure\n\n```text\nsrc/background/     MV3 service worker and Grok action loop\nsrc/content/        Content script for snapshots and approved page actions\nsrc/shared/         Agent prompt and action protocol helpers\nsrc/sidepanel/      Side-panel UI\ntests/              Protocol regression tests\nscripts/            Build scripts\n```\n\n## Security\n\nThe extension sends page snapshots and chat prompts to xAI when you use the side panel. Do not use it on pages containing information you do not want processed by the configured model provider.\n\nAPI keys are stored locally in Chrome extension storage. See [SECURITY.md](SECURITY.md) for reporting vulnerabilities.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolesmcintosh%2Fgrok-chrome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolesmcintosh%2Fgrok-chrome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolesmcintosh%2Fgrok-chrome/lists"}