Об этом проекте
# One API
Доступ ко всем большим языковым моделям через стандартный формат OpenAI API — готов к использованию.
## Поддерживаемые модели и каналы
- OpenAI ChatGPT (включая Azure OpenAI)
- Anthropic Claude (включая AWS Claude)
- Google PaLM2 / Gemini
- Mistral
- ByteDance Doubao (Volcano Engine)
- Baidu Wenxin Yiyan
- Alibaba Tongyi Qianwen
- iFlytek Spark
- Zhipu ChatGLM
- 360 Smart Brain
- Tencent Hunyuan
- Moonshot AI, Baichuan, MINIMAX, DeepSeek
- Groq, Ollama, 01.AI, StepFun, Coze
- Cohere, Cloudflare Workers AI, together.ai, novita.ai
- SiliconCloud, xAI, DeepL и другие
## Ключевые функции
1. **Единая адаптация API**: все каналы предоставляют интерфейс в совместимом с OpenAI формате, изменение кода не требуется.
2. **Балансировка нагрузки**: маршрутизация между каналами с автоматическим распределением запросов по группам.
3. **Управление токенами**: настройка срока действия, лимитов, диапазонов IP и списка моделей для каждого токена.
4. **Управление каналами**: массовое создание и управление downstream-каналами с индивидуальными настройками моделей.
5. **Группы пользователей**: разные группы с различными коэффициентами и правами.
6. **Обменные коды**: массовая генерация и экспорт для пополнения счетов.
7. **Автоматический повтор при сбое**: переключение на другой доступный канал при отказе.
8. **Интерфейс генерации изображений**: ретрансляция API для создания изображений.
9. **Реферальные вознаграждения**: механизм приглашений пользователей.
10. **Многоузловая部署**: распределённое развёртывание по архитектуре master/slave с синхронизацией кэша через Redis.
11. **Кастомизация**: название системы, логотип, подвал, главная и страницы «О нас».
12. **Способы входа**: регистрация по email, авторизация через Feishu, GitHub, WeChat.
13. **Cloudflare AI Gateway**: прямая интеграция.
14. **Смена темы**: поддержка переключения UI-тем.
## Развёртывание
### Docker (рекомендуется)
```shell
# SQLite
docker run --name one-api -d --restart always -p 3000:3000 \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
# MySQL
docker run --name one-api -d --restart always -p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
```
Первоначальный аккаунт: логин `root`, пароль `123456`.
### Docker Compose
```shell
docker-compose up -d
```
Данные хранятся в директории `./data/mysql`.
### Ручное развёртывание
```shell
git clone https://github.com/songquanpeng/one-api.git
cd one-api/web/default && npm install && npm run build
cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api
./one-api --port 3000 --log-dir ./logs
```
### Сторонние платформы
Поддерживаются Sealos, Zeabur, Render и другие платформы с одним кликом, совместим с панелью Baota.
## Использование
1. На странице «Каналы» добавьте API Key для каждой модели.
2. На странице «Токены» создайте access-токен для нужного пользователя.
3. Укажите в клиенте API Base как адрес One API (например, `https://your-domain/v1`), API Key — сгенерированный токен.
Для указания конкретного канала добавьте `-CHANNEL_ID` после токена: `Authorization: Bearer ONE_API_KEY-1`.
## Ключевые переменные окружения
| Переменная | Описание |
|---|---|
| `REDIS_CONN_STRING` | Включение кэша Redis |
| `SESSION_SECRET` | Фиксированный ключ сессии, сохранение входа после перезапуска |
| `SQL_DSN` | Замена SQLite на MySQL/PostgreSQL |
| `SYNC_FREQUENCY` | Частота синхронизации кэша (сек), рекомендуется для многоузловой部署 |
| `NODE_TYPE` | `master` или `slave`, для многоузловой部署 |
| `FRONTEND_BASE_URL` | Переадресация фронтенд-запросов с сервера |
| `INITIAL_ROOT_TOKEN` | Автоматическое создание root-токена при первом запуске |
## Лицензия
MIT — требуется сохранение атрибуции и ссылки на проект в подвале страницы.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.