Об этом проекте
Switchboard — это локальный AI-шлюз, работающий полностью на вашем устройстве, предлагающий один OpenAI-совместимый эндпоинт для маршрутизации запросов между 16 различными AI-провайдерами, включая Groq, Cerebras, Google, OpenRouter, DeepSeek, Mistral, OpenAI и Anthropic. Система интеллектуально выбирает оптимального провайдера для каждого запроса на основе таких факторов, как доступность, задержка, стоимость и тарифный план, отдавая приоритет бесплатным тарифам и автоматически переходя к резервным вариантам при сбоях.
Каждое решение о маршрутизации сохраняется и подробно документируется, показывая, почему был выбран или исключён каждый кандидат, включая разбивку по стоимости и причины отказов.
Система не требует облачных аккаунтов и телеметрии; учётные данные шифруются локально с помощью AES-256-GCM и покидают устройство только для прямых API-вызовов к провайдерам. Поддерживаются потоковые и непотоковые завершения чата, эмбеддинги, генерация изображений, синтез и транскрипция речи, reranking и модерация. Все ответы включают метаданные маршрутизации: использованный провайдер, модель, тариф, стоимость, задержка и причина fallback при необходимости.
Switchboard включает панель управления по адресу http://localhost:7272 и CLI-инструмент (sb) для управления провайдерами, ключами, моделями и политиками. Доступна симуляция маршрутизации без отправки трафика, настройка стратегий: 'auto' (сначала бесплатный), 'fast', 'quality' или 'failover', а также просмотр детальных логов и отчётов об использовании.
Проект написан на Node.js 22.13+, использует SQLite для сохранения данных без нативных модулей и работает идентично на Windows, macOS и Linux.
Функции отказоустойчивости включают circuit breakers для каждого соединения, блокировку моделей после превышения rate limits и fallback с переходом до maxAttempts. Потоковые ответы не перезапускаются после начала. Конфигурация опциональна благодаря разумным настройкам по умолчанию, CORS отключён по соображениям безопасности. Десктопное приложение собирается через Electron и работает в системном трее с поддержкой автозапуска.
Находясь ещё до выхода версии 1.0, проект уже устранённые важные замечания по аудиту, включая покрытие тестами (~1035 тестов), структурированное логирование с редактированием, персистентное ограничение частоты запросов и безопасную обработку учётных данных.
Известные ограничения: отсутствие npm-релиза (установка через git clone), нет end-to-end тестов, отсутствует аудит действий администратора, нет корректного завершения работы. Не предназначен для открытого доступа через интернет без reverse proxy и аутентификации.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.