Super powerful and private AI assistant directly in your browser
Features • Installation • Usage • Development • Contributing • License
Cognito is an intelligent browser agent that brings the power of AI directly into your Chrome browser:
- AI-Powered Assistance: Integrated with Google's Generative AI (Gemini 2.5) and Vercel AI SDK
- Privacy-First: Your data stays in your browser with local memory (Dexie.js)
- Voice Mode: Real-time voice interaction powered by ElevenLabs
- Research Workflow: Agentic workflow for deep web research and report generation
- Smart Actions: Automate browser tasks with AI-driven workflows
- Side Panel Chat: Quick access to AI chat with
Ctrl+Shift+H(orCmd+Shift+Hon Mac) - Model Context Protocol: Extensible AI capabilities connecting to local and remote tools
- Beautiful UI: Modern interface with enhanced visuals, glassmorphism, and animations
- Fast & Efficient: Optimized performance with local caching and split-execution strategies
See SETUP.md for detailed development setup instructions.
- Keyboard Shortcut: Press
Ctrl+Shift+H(Windows/Linux) orCmd+Shift+H(Mac) - Extension Icon: Click the Cognito icon in your Chrome toolbar
- Side Panel: Open from Chrome's side panel menu
- AI Chat: Ask questions and get intelligent responses via text or voice
- Web Automation: Automate repetitive browser tasks
- Research Agent: Perform deep research on topics with automated browsing and citation
- Content Analysis: Analyze web pages and extract information
- Memory Management: Save and retrieve important information
- Tab Management: Organize and manage your browser tabs efficiently
This is a pnpm monorepo containing the Chrome extension, documentation site, and backend services.
- Node.js v18 or higher
- pnpm v8 or higher
- Google Chrome
# Install all dependencies
pnpm install
# Start extension development server
pnpm dev
# Start docs development server
pnpm dev:docs
# Start all packages in parallel
pnpm dev:all
# Build all packages
pnpm build
# Build extension only
pnpm build:extension- Run
pnpm dev - Load the extension from
apps/extension/build/chrome-mv3-devin Chrome - Make changes - the extension will auto-reload
pnpm buildThe production bundle will be in apps/extension/build/chrome-mv3-prod/.
# Work with specific packages
pnpm --filter @cognito/extension dev
pnpm --filter @cognito/docs dev
# Add dependencies to specific package
pnpm --filter @cognito/extension add react-query
# Add dev dependencies to root
pnpm add -D -w typescript-eslintTo submit your extension to the web stores, build your extension and upload it to the store. For automated submission, you can set up GitHub Actions to publish your extension automatically.
cognito-ai/
├── apps/
│ ├── extension/ # @cognito/extension - Chrome Extension (WXT)
│ │ ├── src/
│ │ │ ├── entrypoints/ # WXT entrypoints
│ │ │ │ ├── sidepanel/ # Main side panel React app
│ │ │ │ ├── background/ # Background Service Worker
│ │ │ │ └── contents/ # Content scripts
│ │ │ ├── stores/ # Zustand state management
│ │ │ ├── ai/ # AI integration (Vercel AI SDK v6)
│ │ │ ├── actions/ # Browser automation actions
│ │ │ ├── components/ # React components
│ │ │ ├── mcp/ # Model Context Protocol client
│ │ │ ├── db/ # Local database (Dexie/IndexedDB)
│ │ │ └── workflows/ # Automation workflows
│ │ ├── assets/ # Icons and graphics
│ │ └── build/ # Build output
│ ├── docs/ # @cognito/docs - Documentation site (Next.js + Fumadocs)
│ └── webapp/ # @cognito/webapp - Settings & onboarding webapp (Next.js)
├── packages/
│ └── shared/ # @cognito/shared - Shared types and constants
└── [root config files] # pnpm-workspace.yaml, turbo.json, etc.
Note: The backend services (
backend-cloudflareandbackend-vercel) are not open source. If building from source, you must use BYOK mode (Bring Your Own Key) with your own API keys.
Cognito requires the following permissions:
storage,unlimitedStorage- Store data locallytabs,tabGroups- Manage browser tabssidePanel- Display AI chat in side panelscripting,activeTab- Interact with web pageswebNavigation- Track navigationhistory,bookmarks- Access browsing datanotifications- Show notifications
For AI features, you need to configure API keys in the extension settings.
- BYOK Mode: Model-agnostic (supports any model when using your own key)
- Cloud Mode: Uses fixed
gemini-2.5-flashmodel (no key required, available in official release only)
Building from source? The backend services are not open source, so Cloud Mode will not work. You must use BYOK mode with your own API keys. See Provider Setup for supported providers.
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Setup Guide - Detailed setup instructions
- Monorepo Guide - Architecture, deployment, and migration guides
- Contributing Guide - How to contribute
- AI Agents Guide - Navigation guide for AI coding assistants
- WXT Documentation - Framework documentation
- Chrome Extension Docs - Chrome API reference
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with WXT
- Powered by Google Generative AI & Vercel AI SDK
- Voice by ElevenLabs
- UI components from Radix UI
- Icons from Lucide
Star this repo if you find it useful!