Zyren Chat is a sleek, modern chat interface that puts your privacy and control first. Unlike other AI chat services, Idolon operates on a "Bring Your Own Key" (BYOK) model. This means you connect your personal API keys from various AI providers, and your conversations happen directly between you and the AI, secured by an enterprise-grade serverless proxy.
We never see your API keys or your chat conversations. Ever.
This project started as a fork of Gemna Chat and has been rebuilt to offer a completely independent, secure, and rebranded experience.
- 🔐 Ultimate Privacy & Security: All API calls are routed through a secure Cloudflare Worker. Your keys are encrypted in your private database and are never exposed to the browser.
- 🔑 Bring Your Own Key (BYOK): Full support for your personal API keys from:
- Google Gemini
- Groq
- OpenRouter
- ☁️ Cloud Synchronization: With Firebase Authentication, all your characters, chats, and settings are securely synced across your devices.
- 🤖 Custom AI Personas: Create unique AI characters with distinct personalities, languages, and texting styles. Or, create complex group chats with multiple AI participants.
- 🎨 Customizable Interface: Choose from multiple themes that mimic popular messaging apps (iMessage, WhatsApp, etc.) and toggle between light and dark modes.
- 🔄 Data Portability: Easily import and export your characters and chat histories as
.json
files. - 🗣️ Text-to-Speech: Have the AI's responses read aloud with a voice that intelligently matches its persona (powered by Gemini).
- 🖼️ AI Image Generation: Use
/image
and/sendpic
commands to generate images directly in the chat. - 📱 Progressive Web App (PWA): Install Idolon Chat on your desktop or mobile device for a native-app-like experience.
The core of Zyren Chat's privacy model is its architecture. Your browser never communicates directly with the AI provider's API. Instead, it follows this secure flow:
graph TD
A["User's Browser"] -- "1. Sends Prompt & Firebase Auth Token" --> B("Cloudflare Worker Proxy");
B -- "2. Verifies Token & Fetches User's Data" --> C{"Firestore Database"};
C -- "3. Securely Returns Encrypted API Key" --> B;
B -- "4. Decrypts Key & Forwards Prompt" --> D["External AI API (Gemini, Groq, etc.)"];
D -- "5. Sends Response Back" --> B;
B -- "6. Forwards AI Response to User" --> A;
This ensures your secret keys are only ever decrypted and used in the secure, serverless environment of the Cloudflare Worker.
- Frontend: HTML5, Tailwind CSS, Vanilla JavaScript (ESM)
- Backend & Cloud:
- Firebase: Authentication, Firestore (Database), Hosting
- Cloudflare Workers: Secure API Proxy
- APIs: Google Gemini, Groq, OpenRouter
To run your own instance of Idolon Chat, you'll need two main components: the frontend application and the secure worker proxy.
- Node.js and npm
- Firebase CLI (
npm install -g firebase-tools
) - Cloudflare Wrangler CLI (
npm install -g wrangler
)
- Clone this repository:
git clone https://github.com/exanx/idolon.git
- Navigate to the project directory:
cd zyren
- Set up your own Firebase project and create a new Web App.
- In
public/index.html
, replace the placeholderfirebaseConfig
object with your own. - Run
firebase serve
to test locally. - Deploy with
firebase deploy --only hosting
.
The proxy code is located in the zyren-api-proxy
directory.
- Navigate to the proxy directory:
cd zyren-api-proxy
- Install dependencies:
npm install
- Go to your new Firebase project's settings, under "Service Accounts," and generate a new private key. This will download a JSON file.
- Run
wrangler secret put FIREBASE_SERVICE_ACCOUNT
and paste the entire content of the downloaded JSON file. - In
src/index.js
, update theFIREBASE_PROJECT_ID
and theAccess-Control-Allow-Origin
URL to match your project. - Deploy the worker:
wrangler deploy
- Copy the URL provided by Wrangler and paste it into the
proxyUrl
variable in your mainpublic/index.html
file.
- Real-time streaming for AI responses.
- Support for more AI providers.
- In-app message editing and regeneration.
- More advanced persona creation tools.
- UI/UX enhancements and new themes.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License. See the LICENSE
file for details.