ByteChatβs mission is to democratize AI access by providing a free and open way to interact with cutting-edge AI models through OpenRouter. No subscriptions, no vendor lock-in - just pure AI power at your fingertips.
We began our journey with on-device AI because we realized early that most people would prefer local AI over cloud AI. We predicted that small domain-specific models, once quantized, could run effectively on personal machines. That is why we built an on-device coding copilot, packaged as a Rust binary that could automatically switch between models for tasks like code completion, generation, and test creation.
While working on this, we noticed all the popular tools like Llama, OpenLlama, LM Studio, and others lacked a solid retrieval-augmented system. We were ahead in experimenting with RAG, and we also heard from enterprises that they wanted an on-premises RAG engine to safely use their confidential data. They were scared of pushing data into systems like ChatGPT since it could leak into future training sets. That gave us the insight: instead of a private RAG only for individual enterprises, we should build a secure cloud-based context engine where data stays confidential. This is how Bytebell was bornβa context compiler that ingests data across formats and serves the right chunks at the right time.
The key learning from our on-device phase was that context matters more than model size. A huge model with bad context produces garbage, while a smaller model with the right context gives great answers. That became the foundation of Bytebell.
Now, here is where the story shifts to Bytechat. As developers and heavy AI users ourselves, we hit a personal bottleneck. English is our second language, so even writing a tweet required copy-pasting into ChatGPT for corrections. For coding, we constantly copied code into ChatGPT or Claude, hunted bugs, then pasted results back into VS Code. For image generation, we used Together. For text, we switched between ChatGPT and Claude. For other experiments, we used OpenRouter and ElevenLabs. Each task meant endless tab-switching and context loss, breaking flow every few minutes.
To solve our own pain, we built a small Chrome extension. It stayed as a side panel, always open, always aware of the webpage we were on, and always linked with our chat history. Suddenly, instead of wasting time switching tools, we had one extension that unified all of them. If we were filling out a form, the extension could automatically use the context of the page to generate the right text without copy-paste. If we were debugging, it could help directly with context from our chats and files.
That experiment turned into Bytechat. It is a browser extension that brings AI directly into your workflow. Instead of jumping between copilots, Bytechat acts as your AI shadowβalways present, always contextual, and always private. It saves hours by keeping coding copilots, ChatGPT, Claude, OpenRouter, Sora, Together, and ElevenLabs accessible in one panel with context-aware assistance.
The vision does not stop there. Bytechat will integrate with Bytebellβs enterprise RAG engine so that companies can provide employees with an AI copilot grounded in their private dataβcodebases, documentation, PDFs, research, and more. For enterprises, Bytechat becomes the interface for a secure context-aware AI shadow. For individuals, it is a free extension that lets them use multiple AI models faster, with the option of keeping their data encrypted and later tied to systems like Urbit for long-term privacy and control.
The motivation is simple: we were tired of wasting time, tired of losing context, and tired of switching between AI tools. We wanted one extension that could act as our permanent AI sidekick. That is why we built Bytechat.
Teams waste time because knowledge sits in many places and AI tools ignore that context. People reupload files and paste snippets into every new chat, so answers are generic, slow, and often wrong, which hurts onboarding, support, and daily execution.
ByteChat solves this with our context copilot approach - an intelligent extension that understands your work environment and provides contextually aware AI assistance without the constant need to re-upload files or explain your setup repeatedly.
ByteChat/
βββ src/
β βββ components/ # React components
β β βββ MainInterface.tsx # Main chat interface with tools, models, and page content
β β βββ ApiKeySetup.tsx # Dual authentication: Gmail OAuth + API key setup
β β βββ ChatHistory.tsx # Responsive message display with streaming
β β βββ ChatPanel.tsx # Chat panel component
β β βββ SessionSelector.tsx # Session management dropdown
β β βββ ModelSelector.tsx # Model selection component
β β βββ SettingsPanel.tsx # Settings configuration
β β βββ TwitterPanel.tsx # Social media integration
β β βββ FeedbackPanel.tsx # User feedback component
β β βββ popup.tsx # Extension popup with auth routing
β β βββ Select.tsx # Custom select component
β β βββ TabButton.tsx # Tab navigation button
β βββ services/ # API integrations
β β βββ openrouter.ts # OpenRouter API integration
β β βββ googleAuth.ts # Gmail OAuth authentication service
β β βββ balance.ts # Credit balance management
β β βββ modelCategories.ts # Model categorization logic
β β βββ api.ts # General API utilities
β β βββ claude.ts # Claude API integration
β β βββ openai.ts # OpenAI API integration
β β βββ together.ts # Together API integration
β βββ utils/ # Utility functions
β β βββ fileEncoder.ts # File processing and encoding
β β βββ sessionManager.ts # Session state management
β β βββ utils.ts # General utilities, page content extraction, streaming
β βββ config/ # Configuration
β β βββ env.ts # Environment variables (backend URL, client ID)
β βββ types/ # TypeScript definitions
β β βββ types.ts # Main type definitions (User, Settings, etc.)
β β βββ extension-env.d.ts # Extension environment types
β βββ background.ts # Extension background service worker + context menus
β βββ contentScript.ts # Content script for page injection
β βββ constants.ts # Application constants
β βββ index.tsx # React app entry point
βββ backend/ # Python FastAPI backend
β βββ main.py # Main API with streaming and token tracking
β βββ auth.py # Google OAuth token verification
β βββ requirements.txt # Python dependencies
β βββ users.db # SQLite database for user tokens
βββ public/ # Static assets
βββ icons/ # Extension icons and branding
βββ manifest.json # Chrome extension manifest
βββ panel.html # Side panel HTML template
βββ webpack.config.js # Build configuration
βββ tailwind.css # Compiled Tailwind styles
We welcome contributions from the community! Hereβs how you can help:
git clone https://github.com/yourusername/BB-chat.gitnpm installgit checkout -b feature/amazing-featurenpm run buildgit commit -m 'Add amazing feature'git push origin feature/amazing-feature# Install dependencies
npm install
# Development build (with watch)
npm run dev
# Production build
npm run build
# Load unpacked extension in Chrome
# 1. Go to chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the project directory
This project is licensed under the MIT License - see the LICENSE file for details.