Octopus: агрегатор API для работы с LLM и провайдерами
Octopus — это агрегатор API для работы с различными LLM (Large Language Model), предлагающий единое решение для управления несколькими провайдерами. Он упрощает интеграцию, предоставляя возможность переключения между сервисами, такими как OpenAI и Anthropic, с автоматическим обновлением цен и списков доступных моделей.
Проект будет полезен разработчикам, работающим с разными LLM, предоставляя централизованный доступ и инструменты для мониторинга производительности запросов. Среди ключевых особенностей — автоматическое переключение на доступный канал при сбоях, визуализация запросов в реальном времени и мощная аналитика по расходованию токенов и стоимости.
Octopus написан на Go и Node.js. Его можно запустить либо через Docker, используя команду docker run, либо скачать бинарный файл для своей платформы. Заметь, что есть некоторые требования к среде разработки, если решишь собирать проект из исходников, включая Go и Node.js. Проект находится на стадии активной разработки, так что могут встречаться баги или недоработки.
Проект Octopus представляет собой сервис агрегации API для LLM (языковых моделей), который позволяет пользователям легко управлять несколькими каналами этих моделей. Основная идея проекта заключается в том, чтобы предоставить аккуратный интерфейс для взаимодействия с различными провайдерами LLM, облегчая процесс интеграции и настройки.
Основные возможности
- 🔀 Мультиканальная агрегация — поддержка нескольких провайдеров LLM с централизованным управлением.
- 🔄 Конвертация протоколов — бесшовный переход между форматами API OpenAI и Anthropic.
- 💰 Синхронизация цен — автоматическое обновление цен на модели.
- 🔃 Синхронизация моделей — автоматическое обновление списка доступных моделей с провайдерами.
- 🛡️ Автоматическое переключение — замена неработающего канала на доступный.
- 🔍 Визуализация запросов — отображение полного пути запроса в реальном времени.
- 🚧 Защита от ошибок — перехват всех ошибок от внешних источников, чтобы задачи агента продолжали выполняться.
- 📊 Аналитика — статистика запросов, потребление токенов и отслеживание затрат.
- 🎨 Элегантный интерфейс — чистая и удобная панель управления.
- 📦 Легковесное развертывание — работает как один бинарный файл, без внешних зависимостей.
- 🗄️ Поддержка нескольких баз данных — поддержка SQLite, MySQL, PostgreSQL.
Установка и запуск
Octopus можно быстро установить несколькими способами:
С помощью Docker
Чтобы запустить Octopus в Docker, выполни следующую команду:
docker run -d --name octopus -v /path/to/data:/app/data -p 8080:8080 bestrui/octopus
Либо можешь использовать docker compose:
wget https://raw.githubusercontent.com/bestruirui/octopus/refs/heads/master/docker-compose.yml
docker compose up -d
Скачивание из релиза
Скачай бинарный файл для своей платформы из Releases, затем запусти:
./octopus start
Сборка из исходников
Для сборки из исходников нужны следующие зависимости:
- Go 1.24.4
- Node.js 18+
- pnpm
Сборка выполняется следующими командами:
git clone https://github.com/bestruirui/octopus.git
cd octopus
cd web && pnpm install && pnpm run build
go run main.go start
Не забудь, что артефакты фронтенда встраиваются в бинарный файл Go, поэтому сборка фронтенда должна выполняться перед запуском бэкенда.
Стандартные учетные данные
После первого запуска открой http://localhost:8080 и войди в панель управления с учетными данными:
- Имя пользователя:
admin - Пароль:
admin
Обязательно измени пароль сразу после первого входа.
Конфигурация
Файл конфигурации по умолчанию находится по пути data/config.json и создается автоматически при первом запуске. Для настройки приложения доступны следующие параметры:
- server.host — адрес для прослушивания (по умолчанию
0.0.0.0) - server.port — порт сервера (по умолчанию
8080) - database.type — тип базы данных (по умолчанию
sqlite) - database.path — строка соединения с базой данных
- log.level — уровень логирования (по умолчанию
info)
Поддерживаются три типа баз данных: SQLite, MySQL и PostgreSQL, с возможностью ручного создания базы данных для MySQL и PostgreSQL.
Ограничения
Важно помнить следующее:
- При завершении работы убедись, что используешь корректные методы отключения, такие как
Ctrl+C, чтобы избежать потери данных статистики. - Если используешь MySQL или PostgreSQL, требуется вручную создать базу данных.
Octopus предоставляет мощный интерфейс для управления API LLM, однако требует некоторой настройки при первоначальном запуске.
Радар проекта: 66 из 100 — крепкий проект
- Импульс 22 ≈ 2 звезды в день
- Темп разработки 78 87 коммитов за 12 недель
- Зрелость 86 проекту 12 месяцев, 94 релиза
- Сообщество 70 36 участников, 450 форков
- Свежесть 88 последний коммит — 22 дня назад
- Быстрый старт 55 есть: команда установки, Docker
- Готовность к продакшену 55 релиз v0.13.13, автосборка
- Безопасность и доверие 55 лицензия AGPL-3.0
- Документация 84 README 11.4 тыс. знаков, 27 разделов
- Экосистема 67 11 подписчиков на обновления, 16 тем
Как считаем
Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.
- Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
- Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
- Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
- Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
- Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
- Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
- Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
- Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
- Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
- Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.
Открыть на GitHub: bestruirui/octopus →
RepoRadar