freebuff-proxy: шлюз для моделей FreeBuff с REST API и панелью управления
Проект freebuff-proxy — это шлюз для моделей кодирования FreeBuff, совместимый с OpenAI. Он предлагает REST API для взаимодействия с FreeBuff и добавляет встроенную панель управления на Svelte.
freebuff-proxy позволяет маршрутизировать запросы к FreeBuff через знакомые эндпоинты OpenAI и Anthropic. Можешь запускать его в различных режимах: "пул" хранит токены, "мост" использует токены в каждом запросе, а "гибридный" комбинирует оба подхода. Это удобно, если ты хочешь интегрировать FreeBuff в существующую инфраструктуру без изменения кода приложения. Встроенная панель управления делает управление сессиями более простым.
Проект написан на Go. Для запуска достаточно скопировать файл окружения и выполнить несколько команд, как указано в README. Обрати внимание, что есть ограничения по количеству запросов и режимы работы с токенами. Это может не подойти для коммерческого использования без тщательной настройки, так как проект пока находится на ранней стадии.
Проект freebuff-proxy представляет собой шлюз, разработанный на языке Go, который служит посредником между клиентами и сервисом FreeBuff. Он поддерживает работу с API OpenAI и Anthropic, а также включает в себя встроенную панель управления на базе Svelte.
Зачем это нужно
Этот прокси переводит запросы, поступающие к OpenAI и Anthropic, в протокол FreeBuff. Он может работать в разных режимах:
- Pooled — используется набор токенов (AUTH_TOKENS), при этом мост (BRIDGE_ENABLED) отключен; работает только с пулом токенов.
- Bridge — набор токенов пуст, каждый запрос использует свой собственный токен.
- Hybrid — режим по умолчанию, использует пул для токенов API_KEYS и отправляет другие токены как токены моста.
Панель управления доступна по адресу /admin.
Метрики Freebucks следуют определенной карте цен: взимается плата один раз в начале сессии, может быть возвращена при завершении сессии раньше времени и пополняется по расписанию.
Как установить и запустить
Для быстрой настройки достаточно выполнить следующие команды:
cp .env.example .env # затем отредактируй: AUTH_TOKENS, ADMIN_TOKEN и т.д.
go build ./backend/...
go run ./backend/cmd/freebuff-proxy
Можно также запустить проект из образа, полученного из GHCR:
cp .env.example .env # затем отредактируй: AUTH_TOKENS, ADMIN_TOKEN и т.д.
VERSION=v1.7.0 docker compose pull
VERSION=v1.7.0 docker compose up -d
Обязательно проверь статус через GET /healthz, который должен вернуть 200, и учти, что /admin защищен логином.
Основные настройки, которые стоит знать: SAFE_MODE=true (защита от бана), COST_MODE=free, ограничения по запросам 30 в минуту и 1500 в день.
Ограничения и безопасность обновлений
Хранилище данных располагается в отдельном файле, и при каждом обновлении необходимо следовать указанной процедуре:
docker compose stop freebuff-proxy
scripts/backup-state.sh # создание снимка + манифест
docker compose up -d --build # пересоздание на том же объёме
ADMIN_TOKEN="$ADMIN_TOKEN" scripts/verify-state.sh # проверка состояния
Перед копированием базы данных обязательно останови контейнер или используй специальный сценарий резервного копирования.
Структура проекта
backend/— исходники шлюза.frontend/— исходники панели управления.scripts/— инструменты для синхронизации.docs/— документация по рабочим процессам агентов.
При взносе предложений соблюдай правила работы с ветками, избегай коммитов с секретами.
Открыть на GitHub: trefeon/freebuff-proxy →
RepoRadar