@chrishdx/llm-dev-server
v1.2.10
Published
Multi-LLM Development Server (Claude, Codex, Gemini) - A unified interface for AI coding assistants
Maintainers
Readme
LLM Dev Server
A unified Multi-LLM Development Server supporting Claude, Codex, and Gemini. Provides a web-based interface to interact with multiple AI coding assistants from a single dashboard.
Features
- 🤖 Multi-LLM Support: Claude (Anthropic), Codex (OpenAI), Gemini (Google)
- 💬 Unified Chat Interface: Single UI to interact with all providers
- 📁 File Operations: AI-assisted file management and editing
- 🔒 Authentication: Built-in user management with JWT
- 🔄 Token Management: Automatic credential refresh
- 🏠 Local Data Storage: All data stored in
~/.dev_server
Installation
npm install -g @chrishdx/llm-dev-serverQuick Start
# Start the server (first run initializes configuration)
llm-dev-server
# Or with custom port
llm-dev-server start --port 8080On first run, the server will:
- Create
~/.dev_serverdirectory - Generate a configuration file at
~/.dev_server/.env - Create an admin user (credentials shown in console)
- Start the web server at http://localhost:3000
Commands
llm-dev-server # Start server (default)
llm-dev-server start # Start server
llm-dev-server init # Initialize configuration only
llm-dev-server config # Show current configuration
llm-dev-server help # Show helpConfiguration
All configuration is stored in ~/.dev_server/.env:
# Server Settings
NODE_ENV=production
PORT=3000
LOG_LEVEL=info
# Security (auto-generated)
JWT_SECRET=your-jwt-secret
ENCRYPTION_KEY=your-encryption-key
# CORS
ALLOWED_ORIGINS=http://localhost:3000
# Proxy Settings (for reverse proxy)
# TRUST_PROXY=true
# Authelia SSO (optional)
# AUTHELIA_ENABLED=false
# AUTHELIA_ADMIN_GROUPS=adminsData Directory Structure
~/.dev_server/
├── .env # Configuration file
├── data/
│ ├── dev-server.db # SQLite database
│ ├── claude/ # Claude credentials & cache
│ ├── codex/ # Codex credentials
│ └── gemini/ # Gemini credentials
├── workspaces/ # Project workspaces
└── logs/ # Server logsEnvironment Variables
| Variable | Default | Description |
| ----------------- | ----------------------- | --------------------------- |
| DEV_SERVER_HOME | ~/.dev_server | Base directory for all data |
| PORT | 3000 | Server port |
| NODE_ENV | production | Environment mode |
| JWT_SECRET | auto-generated | JWT signing secret |
| ENCRYPTION_KEY | auto-generated | Data encryption key |
| ALLOWED_ORIGINS | http://localhost:3000 | CORS allowed origins |
| TRUST_PROXY | false | Trust reverse proxy headers |
| LOG_LEVEL | info | Logging level |
LLM Provider Setup
Claude (Anthropic)
- Navigate to Settings > Providers in the web UI
- Click "Login with Claude"
- Follow the OAuth flow to authenticate
Codex (OpenAI)
- Navigate to Settings > Providers
- Click "Login with Codex"
- Authenticate via browser
Gemini (Google)
- Navigate to Settings > Providers
- Click "Login with Gemini"
- Complete Google OAuth
Development
# Clone repository
git clone https://github.com/chrishdx/llm-dev-server.git
cd llm-dev-server
# Install dependencies
npm install
# Run in development mode (with hot reload)
npm run dev
# Build for production
npm run build
# Run production build locally
npm startAPI Endpoints
| Endpoint | Description |
| -------------------------------------- | -------------------- |
| GET /api/health | Health check |
| POST /api/auth/login | User login |
| GET /api/conversations | List conversations |
| POST /api/conversations | Create conversation |
| POST /api/conversations/:id/messages | Send message |
| GET /api/jobs | List background jobs |
Tech Stack
- Backend: Node.js, Express, TypeScript, SQLite, Sequelize
- Frontend: React, TypeScript, Material-UI, Vite
- Auth: JWT, bcrypt
- LLM SDKs: Claude Agent SDK, Codex SDK, Gemini CLI
Requirements
- Node.js >= 20.0.0
- npm >= 10.0.0
License
MIT © Christian Schindler
