Open-Source Chrome AI Extension Powered by Codex – Chromex

A Chrome MV3 side-panel extension that connects your browser to Codex via a local bridge. Chat with tabs, files, PDFs, and more.

Chromex is a Chrome extension that connects your web browser to OpenAI’s Codex through a local native messaging bridge.

It runs as a persistent chat panel inside Chrome and can access the active webpage, open tabs, uploaded files, screenshots, browser history, voice input, and images on demand.

Note that Chromex is not a simple one-click Chrome Web Store helper. It requires source installation, Node.js, Codex CLI, Chrome Developer mode, and a working local bridge.

Features

  • Chat with the active webpage, selected tabs, uploaded documents, screenshots, PDFs, Office files, and browser history.
  • Summarize or compare YouTube videos, news articles, research pages, arXiv papers, and PDFs.
  • Generate or edit images through Codex image workflows with output handled locally.
  • Transcribe voice input and operate in live voice mode.
  • Run browser-control workflows through Chrome content scripts with visible in-page activity indicators.
  • Pick one or more open tabs as context sources with the @ tab picker.
  • Switch profiles with the / profile picker.
  • Attach files in the following formats: images, plain text, PDF, DOCX, CSV, TSV, XLSX, and XLSM.
  • Apply a configurable read strategy across DOM, vision, hybrid, and site-adapter modes.
  • Activate site-aware suggestions for YouTube, news, research, email, notes, task tools, shopping, and travel services.
  • Control YouTube playback with a dedicated adapter that sends seek actions and reads the current timestamp.
  • Render markdown responses with code blocks, tables, links, and copy controls.
  • Load Codex skills from local .codex/skills/*/SKILL.md files when the feature is enabled.

How to use it

1. Chromex requires Node.js 20 LTS or newer. On Windows, install it before proceeding. Then install the Codex CLI globally and confirm it runs:

npm install -g @openai/codex
codex --version

2. Clone the repository or download chromex-public-source.zip from the GitHub releases page. Then run the following from the folder that contains package.json:

git clone https://github.com/GENEXIS-AI/chromex.git
cd chromex
npm install
npm run build
node scripts/install-native-host.mjs

All three commands must run from the chromex source folder. If Windows reports ENOENT Could not read package.json, the terminal is in the wrong directory.

3. Close every Chrome window completely. Reopen Chrome, go to chrome://extensions, and turn on Developer mode. Click Load unpacked and select:

packages/extension/dist

4. On Windows, run the installer with the --browser=chrome flag from PowerShell:

npm install
npm run build
node scripts/install-native-host.mjs --browser=chrome

5. Open chrome://extensions, click Reload on the Chromex card, then press Check connection in the Chromex side panel.

6. If the side panel reports that the local bridge is still waiting, confirm the extension loaded from packages/extension/dist. Then copy the extension ID from the Chromex card and re-run the installer with it:

node scripts/install-native-host.mjs <extension-id> --browser=chrome

The expected public release ID is menmlhahmendmkiicbjihgjhppkgaeom. If Chrome shows a different ID, use the ID Chrome shows.

7. If the side panel reports that the Codex executable is not found, run:

npm install -g @openai/codex
where codex
codex --version

If where codex returns C:\Users\<you>\AppData\Roaming\npm\codex.cmd, open Chromex settings and set the optional Codex binary path to %APPDATA%\npm\codex.cmd. Save, close every Chrome window, reopen, and press Check connection. Do not put the workspace folder in the Codex binary field; those are separate settings.

8. Development Commands:

CommandPurpose
npm run typecheckRun TypeScript type checks
npm run testRun the test suite
npm run buildBuild the extension to packages/extension/dist
npm run release:auditRun the release audit
npm run smokeRun browser smoke tests
npm run smoke:install-browserInstall Playwright Chromium if no browser is found

9. Troubleshooting:

SymptomFix
Native host missing or forbiddenRun npm run build, then node scripts/install-native-host.mjs --browser=chrome, reload extension in chrome://extensions
Extension ID mismatchRe-run node scripts/install-native-host.mjs <extension-id> --browser=chrome with the ID shown in Chrome
Model list does not loadConfirm native bridge is connected, then sign in through the app-server login flow
Page context unavailableOpen Chromex from the target tab or approve the Chrome site permission prompt
Old UI still showingRun npm run build, reload the extension card, confirm Chrome loads from packages/extension/dist
Smoke test fails, no browserRun npm run smoke:install-browser, then npm run smoke

Pros

  • Keeps OpenAI credentials entirely out of the Chrome extension sandbox.
  • Fully open‑source codebase.
  • A single UI unifies chat, file analysis, voice, image editing, and browser automation.
  • Optional Codex skills extend the assistant with user‑managed prompt libraries stored locally.

Cons

  • No packaged Chrome Web Store install.
  • Windows setup can hit TLS/certificate issues unrelated to Chromex.
  • Requires a separate OpenAI account and a functioning local Codex CLI.
  • Limited to Chrome.

Related Resources

FAQs

Q: Does Chromex send browser data to external servers?
A: Page content, tab data, screenshots, browser history, and microphone input go to the local Codex app-server process running on the same machine. Chromex does not store raw API keys, OAuth tokens, or session tokens in Chrome extension storage. The local bridge handles generated image originals, temporary uploads, and diagnostics.

Q: Can Chromex be installed without cloning the repository?
A: Yes. The GitHub releases page provides a prepackaged chromex-public-source.zip file. Download and extract it, then run the same npm install, npm run build, and node scripts/install-native-host.mjs commands from the extracted folder.

Q: What file formats can be attached to a chat?
A: Chromex accepts images, plain text, PDF, DOCX, CSV, TSV, XLSX, and XLSM attachments through the side panel.

Q: What languages does Chromex support?
A: The extension ships locale entries for English, Korean, Japanese, Chinese, Arabic, French, German, Spanish, Portuguese, Hindi, Vietnamese, Thai, Turkish, Ukrainian, and other Chrome-compatible locales. It follows the browser’s language by default. A manual override is available in Settings > General > App UI language.

Q: Why does the side panel still say the bridge is waiting after setup?
A: The most common cause on Windows is an extension ID mismatch. Copy the extension ID from the Chromex card in chrome://extensions and re-run node scripts/install-native-host.mjs <extension-id> --browser=chrome with that exact ID. If the Codex CLI is not detected, set the optional Codex binary path in Chromex settings to %APPDATA%\npm\codex.cmd, save, fully restart Chrome, and press Check connection.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!