https://github.com/unsafe0x0/xerochat
https://github.com/unsafe0x0/xerochat
chatgpt groq open-source openai vercel vercel-ai-sdk
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/unsafe0x0/xerochat
- Owner: unsafe0x0
- Created: 2025-06-08T12:42:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-23T00:57:21.000Z (9 months ago)
- Last Synced: 2025-09-23T02:47:46.365Z (9 months ago)
- Topics: chatgpt, groq, open-source, openai, vercel, vercel-ai-sdk
- Language: TypeScript
- Homepage: https://xerochat.tech
- Size: 4.07 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# XeroChat
Minimal multi model AI chat UI (Next.js + TypeScript + Tailwind). Streams replies, lets you switch models, and keeps chats locally.
## Quick Start
```bash
git clone https://github.com/unsafe0x0/xerochat.git
cd xerochat
bun install # or npm install
bun dev # or npm run dev
```
Open http://localhost:3000
## Configure Keys
Open Settings in the sidebar and paste any API keys you have:
- **OpenRouter** (models using `/api/open-router`)
- **Gemini** (models using `/api/gemini`)
- **Mistral** (models using `/api/mistral`)
Keys are stored in localStorage; no server env vars needed.
## Edit Models
File: `data/Models.tsx`
Add, remove, or rename models, or change their endpoint. Only OpenRouter and Gemini models are available by default. Changes appear instantly in the selector.
## Folder Structure
`app/api/*` – lightweight proxy routes for each provider (e.g. open-router, gemini)
`components/*` – UI (chat, input, sidebar, model selector, settings, markdown renderer)
`data/Models.tsx` – model list and config
`utils/api.ts` – picks correct endpoint + key
## Basic Use
1. Enter a key (or use free ones if available)
2. Type a prompt
3. Switch model from the selector at any time
4. Copy or regenerate messages via their action buttons
## Build / Prod
```bash
bun run build # or npm run build
bun start # or npm start
```
Deploy on Vercel (zero config) or any Node host.
## Customize
- Styling: tweak Tailwind classes in components
- Models: edit `data/Models.tsx` (OpenRouter and Gemini endpoints only)
- Proxy logic: adjust `app/api//route.ts`