# IQAI — Multi-Model AI Dashboard A sleek AI chat dashboard powered by [Replicate](https://replicate.com). Chat with multiple AI models simultaneously, tag them with @mentions, and augment responses with live web search. ## Features - **Multi-model chat** — Select multiple models and query them in parallel - **@mention routing** — Type `@claude`, `@grok`, `@gemini` to direct messages to specific models - **Web search** — Inject DuckDuckGo search results as context before querying models - **Model manager** — Add, edit, or remove Replicate models from the UI - **System instructions** — Per-model system prompts per conversation - **Account info** — View your Replicate account details in the sidebar - **Conversation history** — Persisted locally across sessions ## Quick Start (Docker) ```bash cp .env.example .env # Edit .env and set your REPLICATE_API_TOKEN docker compose up --build # Open http://localhost ``` ## Development ```bash # Backend cd backend && npm install && node server.js # Frontend (in another terminal) cd frontend && npm install && npm run dev ``` ## Adding Models Click **Manage Models** in the sidebar. Paste any Replicate model API URL to auto-fill the fields: ``` https://api.replicate.com/v1/models/owner/model-name/predictions ``` ## Default Models | Model | Tag | Type | |-------|-----|------| | Claude Opus 4.6 | @claude | Text | | Grok 4 | @grok | Text | | Gemini 3.1 Pro | @gemini | Text | | DeepSeek R1 | @deepseek | Text | ## Architecture ``` iqai/ ├── backend/ Express API server (port 3001) │ ├── routes/ chat, models, account, search │ └── data/ models.json (persisted config) ├── frontend/ React + Vite + Tailwind │ └── src/ │ ├── components/ │ ├── store/ Zustand state management │ └── utils/ API client ├── docker-compose.yml ├── Dockerfile.backend ├── Dockerfile.frontend └── nginx.conf ```