freebuff-proxy: шлюз для моделей FreeBuff с REST API и панелью управления

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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте