Об этом проекте

AI Switch — это «локальный хаб API-ключей для ИИ», предназначенный для тех, кто использует релейные или многопоставщиковые API-ключи в нескольких инструментах для кодирования с ИИ. Его идея заключается в том, что изменение ключа один раз должно распространяться на все установленные инструменты, а нерабочий ключ не должен выводить из строя всю систему. Он позиционируется как утилита для управления, проверки и отправки, а не как клиент для чата. Что он делает - Хранилище ключей: таблица ключей нескольких поставщиков с поиском, тегами, пакетным включением/выключением/удалением, пакетным импортом, слиянием и дедупликацией MetaAPI, так что ключи хранятся в одном месте, а не редактируются вручную в нескольких файлах конфигурации. - Проверки работоспособности и конечных точек: запланированный мониторинг работоспособности с обнаружением конечных точек на уровне модели (Chat, Responses, Messages, Gemini), групповые по поставщикам проверки качества с действиями для каждого поставщика и модели, читаемые ошибки, адаптивные интервалы проверки, опциональное автоматическое отключение и переключение на резерв, а также архив нерабочих ключей. - Безопасная синхронизация: только модели с недавно успешной проверкой работоспособности и конечной точки отправляются в бэкэнды; перед записью показывается предварительный просмотр синхронизации, а инструменты, которые не установлены, никогда не записываются. README отмечает, что проверки качества отправляют четыре коротких запроса на каждую модель и могут потреблять квоту поставщика, а поддержка конечных точек определяется для каждой модели — автоматический режим использует проверенные конечные точки, а ручной режим позволяет выбирать из обнаруженных форматов. Поддерживаемые бэкэнды OpenClaw (openclaw.json, профили аутентификации, модели), OpenCode (auth.json, opencode.jsonc), Claude Code (settings.json, ~/.claude.json), Codex CLI (auth.json, config.toml плюс проверка работоспособности Responses), Cline / Aider / Continue.dev (конфигурации IDE и CLI), а также Hermes Agent, QwenCode, Kimi Code и TRAE Work, как описано в docs/backends.md. Страница Backends сообщает статус каждого из них: Not installed, Stopped (syncable) или Running. Перечисленные семейства конечных точек: openai_chat (OpenAI, DeepSeek, OpenRouter, Groq, Moonshot, Qwen и подобные), anthropic, gemini и openai_responses. Список функций также упоминает 26+ встроенных поставщиков плюс пользовательские конечные точки, совместимые с OpenAI, и подключаемые адаптеры бэкэндов с руководством по вкладу. Интерфейс и дополнительные возможности Веб-интерфейс с панелью управления, статусом синхронизации бэкэндов, монитором работоспособности, неблокирующим центром задач, светлой и темной темами, а также локализацией на английский, упрощенный китайский и традиционный китайский. Также включены: типы поставщиков (Public / Relay / Raw key) с фильтрацией в каталоге моделей и при регистрации, архивирование (скрытие, исключение из проверок работоспособности, восстановление позже), URL-адреса для регистрации, бюджеты, зашифрованный экспорт профиля, пакет диагностики, маршруты для нисходящих устройств и десктопные пакеты. Установка и запуск - Сборки релизов для Windows x64, macOS Intel, macOS Apple Silicon и Linux x64: распакуйте и запустите ai-switch / start.bat / start.sh, затем откройте http://127.0.0.1:8787. - Из исходного кода: git clone, pip install -r requirements.txt, python3 run.py (Python 3.9+). - Запуск через npm/npx: npx github:kingkate2009-droid/ai-switch, или глобальная установка. - Docker: docker compose up -d. Документированный «3-минутный цикл»: добавьте поставщика и ключ (или выполните умный импорт), дождитесь успешной проверки работоспособности, отправьте в бэкэнды с предварительным просмотром, затем отправьте `hi` из OpenCode / Codex / Claude Code. Конфигурация и безопасность Данные хранятся в ~/.ai-switch/ai-switch.db, а статистика использования — в ~/.ai-switch/usage.json; порт по умолчанию — 8787 (AI_SWITCH_PORT). В README указано, что ключи хранятся только в ~/.ai-switch/, и этот каталог никогда не должен быть закоммичен, а также упоминается опциональный токен доступа в Настройках для локальной сети. Существующее состояние data.json импортируется один раз, а устаревшие файлы сохраняются с суффиксом .legacy для отката. Настроенный порт фиксирован: при запуске выдается четкая ошибка, если он занят. Хранение состояния осуществляется в транзакционном SQLite. Стек и лицензия: Python + Flask, ванильный JS, SQLite, подключаемые адаптеры; лицензия Apache 2.0. Документация включает быстрое начало работы, страницу устранения неполадок с подключением Codex, матрицу бэкэндов и руководство по вкладу адаптеров.