octopus
by bestruirui
One Hub All LLMs For You | LLM API aggregation service built for individuals
# Add to your Claude Code skills
git clone https://github.com/bestruirui/octopusOctopus
A Simple, Beautiful, and Elegant LLM API Aggregation & Load Balancing Service for Individuals
English | 简体中文
</div>✨ Features
- 🔀 Multi-Channel Aggregation - Connect multiple LLM provider channels with unified management
- 🔑 Multi-Key Support - Support multiple API keys for a single channel
- ⚡ Smart Selection - Multiple endpoints per channel, smart selection of the endpoint with the shortest delay
- ⚖️ Load Balancing - Automatic request distribution for stable and efficient service
- 🔄 Protocol Conversion - Seamless conversion between OpenAI Chat / OpenAI Responses / Anthropic API formats
- 💰 Price Sync - Automatic model pricing updates
- 🔃 Model Sync - Automatic synchronization of available model lists with channels
- 📊 Analytics - Comprehensive request statistics, token consumption, and cost tracking
- 🎨 Elegant UI - Clean and beautiful web management panel
- 🗄️ Multi-Database Support - Support for SQLite, MySQL, PostgreSQL
🚀 Quick Start
🐳 Docker
Run directly:
docker run -d --name octopus -v /path/to/data:/app/data -p 8080:8080 bestrui/octopus
Or use docker compose:
wget https://raw.githubusercontent.com/bestruirui/octopus/refs/heads/dev/docker-compose.yml
docker compose up -d
📦 Download from Release
Download the binary for your platform from Releases, then run:
./octopus start
🛠️ Build from Source
Requirements:
- Go 1.24.4
- Node.js 18+
- pnpm
# Clone the repository
git clone https://github.com/bestruirui/octopus.git
cd octopus
# Build frontend
cd web && pnpm install && pnpm run build && cd ..
# Move frontend assets to static directory
mv web/out static/
# Start the backend service
go run main.go start
💡 Tip: The frontend build artifacts are embedded into the Go binary, so you must build the frontend before starting the backend.
Development Mode
cd web && pnpm install && NEXT_PUBLIC_API_BASE_URL="http://127.0.0.1:8080" pnpm run dev
## Open a new terminal, start the backend service
go run main.go start
## Access the frontend at
http://localhost:3000
🔐 Default Credentials
After first launch, visit http://localhost:8080 and log in to the management panel with:
- Username:
admin - Password:
admin
⚠️ Security Notice: Please change the default password immediately after first login.
📝 Configuration File
The configuration file is located at data/config.json by default and is automatically generated on first startup.
Complete Configuration Example:
{
"server": {
"host": "0.0.0.0",
"port": 8080
},
"database": {
"type": "sqlite",
"path": "data/data.db"
},
"log": {
"level": "info"
}
}
Configuration Options:
| Option |...