- Better error parsing for FastAPI validation errors - Updated login demo credentials to admin@moxiegen.com - Improved login API error handling |
||
|---|---|---|
| backend | ||
| frontend | ||
| moxie_logo.jpg | ||
| plan.md | ||
| README.md | ||
Moxiegen
AI Chat Interface with OpenAI and Ollama support.
Features
- AI Chat Interface: Chat with AI models from OpenAI or Ollama
- File Uploads: Attach files to your chat messages
- Admin Panel: Manage AI endpoints and users
- Multi-Endpoint Support: Configure multiple AI backends
- User Authentication: Secure login system with SQLite database
Tech Stack
- Backend: Python (FastAPI)
- Frontend: SvelteKit
- Database: SQLite
- Auth: JWT tokens
Quick Start
Backend Setup
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Frontend Setup
cd frontend
# Install dependencies
npm install
# Run development server
npm run dev
Access the Application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Default Admin Login
- Email:
admin@moxiegen.local - Password:
admin123
Configuration
Adding AI Endpoints
- Login as admin
- Go to Admin Panel → AI Endpoints
- Click "Add Endpoint"
- Configure:
For OpenAI:
- Type: OpenAI Compatible
- Base URL:
https://api.openai.com/v1 - API Key: Your OpenAI API key
- Model:
gpt-3.5-turboorgpt-4
For Ollama:
- Type: Ollama
- Base URL:
http://localhost:11434 - API Key: Leave empty
- Model: Your Ollama model name (e.g.,
llama2)
Project Structure
moxiegen/
├── backend/
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── models/ # Database models
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── core/ # Config, auth, database
│ │ └── main.py # FastAPI app
│ ├── uploads/ # Uploaded files
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── lib/ # Utilities, API client
│ │ ├── routes/ # SvelteKit routes
│ │ └── app.css # Global styles
│ └── package.json
└── README.md
License
MIT