How I Built a Local-First Chrome Extension to Chain ChatGPT, Grok, and Claude A developer built a local-first Chrome extension called ContextOS using the Plasmo framework to chain ChatGPT, Grok, and Claude. The extension runs entirely serverless with chrome.storage.local for data storage, and uses content scripts to inject structured context into different LLM interfaces. It is available for free on the Chrome Web Store. Shifting between LLMs for their unique strengths is standard workflow now, but managing the data state between browser tabs is an absolute nightmare. Here is how I used the Plasmo framework to build a lightweight, local-first context compiler called ContextOS. To guarantee complete privacy and zero server overhead, the entire extension runs serverless: Framework: Plasmo React + TypeScript + Chrome MV3 . Storage: chrome.storage.local handles the entire project matrix. No external databases. The Parsing Loop: Users input a free Gemini API key BYOK . When a user hits ✨ Sync to Project Context, a background worker handles the raw text payload, processes it structurally, and commits it into dynamically named local state blocks. Seamless Context Injection The hardest part was getting clean injection mechanics across wildly different DOM layouts ChatGPT, Grok, Claude, etc. . I implemented weightless content scripts that target the active webpage textareas, formatting the project's modular buckets into clean, hierarchical Markdown right before injection. Check out the source listing or download it free on the Chrome Web Store if you want to optimize your multi-AI dev loops 🔗 Chrome Web Store: https://chromewebstore.google.com/detail/jiepmjajdlemomagfihinmkbfaednncf?utm source=item-share-cb https://chromewebstore.google.com/detail/jiepmjajdlemomagfihinmkbfaednncf?utm source=item-share-cb