# FreeLLMAPI **7,4 миллиарда токенов в месяц. 34 бесплатных LLM-провайдера. 635 бесплатных модельных эндпоинтов. Один OpenAI-совместимый API.** Объединяйте бесплатные тарифы десятков провайдеров, а также собственные OpenAI-совместимые эндпоинты для чата, эмбеддингов, генерации изображений и работы с аудио через единый API `/v1`. Ключи хранятся в зашифрованном виде. Маршрутизатор выбирает наиболее подходящую доступную модель, при ограничении запросов переключается на другого провайдера и учитывает расход по каждому ключу, помогая соблюдать бесплатные квоты. [![CI](https://github.com/tashfeenahmed/freellmapi/actions/workflows/ci.yml/badge.svg)](https://github.com/tashfeenahmed/freellmapi/actions/workflows/ci.yml) [![GitHub stars](https://img.shields.io/github/stars/tashfeenahmed/freellmapi?style=flat&logo=github&color=yellow)](https://github.com/tashfeenahmed/freellmapi/stargazers) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](#contributing) [![Docker image](https://img.shields.io/badge/ghcr.io-freellmapi-2496ED?logo=docker&logoColor=white)](https://github.com/tashfeenahmed/freellmapi/pkgs/container/freellmapi) [![Ask DeepWiki](https://img.shields.io/badge/DeepWiki-Ask-blue)](https://deepwiki.com/tashfeenahmed/freellmapi) **[freellmapi.co](https://freellmapi.co/?utm_source=github&utm_medium=readme&utm_campaign=repository&utm_content=readme_top)** · полный каталог: 474 семейства моделей и 635 бесплатных эндпоинтов [English](README.md) · [简体中文](README.zh-cn.md) · **Русский** Русский перевод может обновляться с задержкой. Самую актуальную информацию смотрите в английском [README](README.md).

Download for macOS Download for Windows Self-host with Docker Get it on Google Play Download on the App Store

![Панель FreeLLMAPI: страница моделей и месячный бюджет токенов](repo-assets/github-hero.png) Маршрутизатор самостоятельно обновляет каталог моделей из подписанного источника. Новые бесплатные модели, изменения квот и исправления совместимости поступают без `git pull`. В бесплатной версии доступен ежемесячный снимок каталога: модель появляется в нём спустя 30 дней после публикации в оперативном каталоге. Пользователи Premium получают обновления в тот же день. **[Подключить оперативный каталог на freellmapi.co](https://freellmapi.co/?utm_source=github&utm_medium=readme&utm_campaign=premium&utm_content=readme_top#pricing)** ($19 в год, подписку можно отменить).
--- ## Содержание - [Зачем нужен FreeLLMAPI](#зачем-нужен-freellmapi) - [Поддерживаемые провайдеры](#поддерживаемые-провайдеры) - [Совместимые CLI и программирующие агенты](#совместимые-cli-и-программирующие-агенты) - [Сравнение с альтернативами](#сравнение-с-альтернативами) - [Возможности](#возможности) - [Быстрый запуск](#быстрый-запуск) - [Приложение для компьютера](#приложение-для-компьютера) - [OpenAI-совместимые клиенты](#openai-совместимые-клиенты) - [Языки интерфейса](#языки-интерфейса) - [Premium и оперативный каталог](#premium-и-оперативный-каталог) - [Использование API](#использование-api) - [Скриншоты](#скриншоты) - [Принцип работы](#принцип-работы) - [Частые вопросы](#частые-вопросы) - [Ограничения](#ограничения) - [Как помочь проекту](#как-помочь-проекту) - [Отказ от гарантий](#отказ-от-гарантий) **Руководства:** [Установка и развёртывание](docs/en/install/01-install.md) · [Справочник API](docs/en/api/01-rest-api.md) · [Клиенты и агенты](docs/en/clients/01-agent-clients.md) · [Сжатие промптов](docs/en/compression/01-compression-pipeline.md) · [Архитектура](docs/en/architecture/00-high-level-index.md) · [Указатель документации](docs/en/README.md) · [Руководство для участников](CONTRIBUTING.md) ## Зачем нужен FreeLLMAPI Крупные разработчики ИИ предлагают бесплатные тарифы: иногда это миллионы токенов в месяц и тысячи запросов в день. У каждого отдельно квота невелика, но в совокупности получается около **7,4 миллиарда токенов в месяц** для **474 семейств моделей и 635 эндпоинтов провайдеров**, от небольших быстрых моделей до более мощных. Управлять таким количеством сервисов вручную неудобно: 34 SDK, 34 набора ограничений и столько же потенциальных точек отказа. FreeLLMAPI объединяет всё в одном OpenAI-совместимом API. Достаточно направить клиентскую библиотеку OpenAI на локальный сервер, и запросы будут распределяться между провайдерами, для которых вы добавили ключи. Бесплатные тарифы постоянно меняются: модели появляются и исчезают, ограничения корректируются. FreeLLMAPI автоматически загружает подписанный каталог с [freellmapi.co](https://freellmapi.co), поэтому данные обновляются без `git pull`. О различиях в скорости обновления рассказывается в разделе [Premium и оперативный каталог](#premium-и-оперативный-каталог). ![Объединение бесплатных тарифов: около 7,4 млрд токенов в месяц от 34 провайдеров](repo-assets/free-tier.png) ## Поддерживаемые провайдеры
Google
Google
Groq
Groq
Cerebras
Cerebras
OpenCode Zen
OpenCode Zen
Mistral
Mistral
OpenRouter
OpenRouter
Cloudflare
Cloudflare
Cohere
Cohere
Z.ai (Zhipu)
Z.ai (Zhipu)
NVIDIA
NVIDIA
HuggingFace
HuggingFace
ModelScope
Qwen3 · DeepSeek V4 · GLM-5 (требуется привязка Aliyun CN)
… и ещё 22 бесплатных провайдера
Дополнительно можно подключить **собственного провайдера**: указать на странице **Keys** любой OpenAI-совместимый эндпоинт для чата, эмбеддингов, изображений или аудио, включая llama.cpp, LM Studio, vLLM, локальный Ollama или внешний шлюз. Полный актуальный список моделей с ограничениями скорости, размерами контекста и бюджетами бесплатных токенов находится на **[freellmapi.co/models](https://freellmapi.co/models.html)**. ## Совместимые CLI и программирующие агенты
Claude Code
Claude Code
Codex CLI
Codex CLI
Gemini CLI
Gemini CLI
Cursor
Cursor
Cline
Cline
Roo Code
Roo Code
OpenCode
OpenCode
Aider
Aider
… а также Continue, Goose, Qwen Code, Kilo Code, Crush, Zed, JetBrains AI, DeepSeek Harness, MiMo Code, AtomCode, OpenClaw, Hermes Agent, Pi, Reasonix и любые OpenAI-, Anthropic-, Gemini- или Ollama-совместимые клиенты
Большинство агентов можно настроить одной командой. Она читает актуальный каталог, сохраняет резервную копию текущих настроек и объединяет их с новыми: ```bash npx freellmapi setup-claude --url http://localhost:3001 --api-key ``` **[Все поддерживаемые агенты и команды настройки →](docs/en/clients/02-supported-agents.md)** · [Инструкции для инструментов, MCP-сервер и URL-токены →](docs/en/clients/01-agent-clients.md) ## Сравнение с альтернативами ![Сравнение возможностей с OpenRouter, LiteLLM и Portkey](repo-assets/comparison.png) Сравнение основано на открытой документации по состоянию на июль 2026 года. Исправления приветствуются. ## Возможности ![Обзор возможностей](repo-assets/features.png) - **Все основные эндпоинты OpenAI**: `/v1/chat/completions`, `/v1/responses` (используется Codex CLI), `/v1/completions` (автодополнение кода), `/v1/images/generations`, `/v1/videos/generations`, `/v1/audio/speech`, `/v1/audio/transcriptions`, `/v1/embeddings` и `/v1/models`. Поддерживаются потоковый и обычный режимы, официальные SDK и OpenAI-совместимые клиенты. [Справочник API →](docs/en/api/01-rest-api.md) - **Anthropic Messages API**: `/v1/messages` принимает формат Anthropic и передаёт запросы тому же маршрутизатору, поэтому **Claude Code** и официальные Anthropic SDK могут работать с объединённым набором бесплатных провайдеров. [Подробности →](docs/en/api/01-rest-api.md#anthropic--claude-clients) - **Нативные интерфейсы Gemini и Ollama**: Gemini CLI может обращаться к `/v1beta` (`generateContent`, потоковая передача, подсчёт токенов, модели). Дополнительно можно включить эмуляцию Ollama с NDJSON для чата и генерации, списком моделей, метаданными и эмбеддингами для Zed, JetBrains и других клиентов. - **Fusion, синтез ответов нескольких моделей**: запрос к виртуальной модели `fusion` параллельно отправляется нескольким бесплатным моделям; затем модель-арбитр объединяет черновики в единый ответ. [Подробности →](docs/en/api/01-rest-api.md#fusion-multi-model-synthesis) - **Генерация изображений, видео и речи**: соответствующие `/v1/images/generations`, `/v1/videos/generations` и `/v1/audio/speech` маршрутизируются между провайдерами с медиа-моделями. Для изображений и речи доступны и пользовательские OpenAI-совместимые эндпоинты. Задачи генерации видео приводятся к общему формату, независимо от синхронного или отложенного выполнения, с возвратом готового MP4. - **Вызовы инструментов и структурированные ответы**: поддерживаются OpenAI-совместимые `tools`, преобразование текстовых вызовов в `tool_calls`, а также `response_format`, `seed`, `logprobs`, штрафы и другие параметры генерации с учётом возможностей провайдера. - **Умная маршрутизация, шесть стратегий**: выбор модели на основании актуальных оценок скорости, возможностей и надёжности. При ответах 429/5xx выполняются переход к следующей модели, временная блокировка проблемного ключа и ротация ключей. [Как работает маршрутизация →](docs/en/architecture/00-high-level-index.md#how-it-works) - **Единые модели и профили**: одинаковая модель у разных провайдеров отображается одной записью со строгим переключением внутри группы. Именованные профили цепочек (например, для кода или изображений) выбираются на панели или в запросе через `auto:`. Пользовательские цепочки можно переименовывать в менеджере. - **Учёт ограничений каждого ключа**: счётчики RPM/RPD/TPM/TPD для сочетаний `(platform, model, key)` учитывают опубликованные провайдером лимиты, чтобы маршрутизация соблюдала квоты. - **Автообновляемый каталог моделей**: маршрутизатор дважды в день синхронизирует подписанный каталог freellmapi.co с новыми моделями, изменениями квот и исправлениями совместимости. Бесплатные установки используют ежемесячный снимок с задержкой 30 дней, Premium получает изменения в день публикации. [Premium →](#premium-и-оперативный-каталог) - **Закрепление сессии и передача контекста**: диалог остаётся на одной модели в течение 30 минут. При переключении в ходе разговора можно передавать краткую сводку для сохранения контекста. [Подробности →](docs/en/clients/01-agent-clients.md#context-handoff) - **Необязательное сжатие промптов**: общий отказоустойчивый конвейер может удалять повторы, фильтровать вывод инструментов, уплотнять повторяющийся JSON и обрезать устаревший контекст до проверки кеша и маршрутизации. [Подробности →](docs/en/compression/01-compression-pipeline.md) - **Шифрование ключей и один токен для клиента**: ключи провайдеров хранятся в SQLite с шифрованием AES-256-GCM и расшифровываются в памяти во время запроса. Приложению передаётся только единый Bearer-токен `freellmapi-…`. - **Панель управления и аналитика**: интерфейс React позволяет управлять ключами, менять порядок резервной цепочки, тестировать модели в Playground, смотреть статистику p50/p95/TTFT за периоды от 24 часов до 90 дней; есть авторизация, светлая и тёмная темы и [60 языков](#языки-интерфейса). - **MCP-сервер для ChatGPT и интерактивная документация**: ChatGPT и другие MCP-клиенты могут отправлять запросы к FreeLLMAPI, получать список моделей, сведения о состоянии провайдеров, использовании, кеше и маршрутизации, а также управлять стратегией через `/mcp`. Просмотрщик OpenAPI доступен по `/v1/docs`. [ChatGPT и программирующие агенты →](docs/en/clients/01-agent-clients.md#mcp-server) - **Дополнительные средства эксплуатации**: необязательный кеш ответов, зашифрованные резервные копии БД, регулярная проверка ключей, массовый импорт/экспорт, конфигурация запуска. [Установка и развёртывание →](docs/en/install/01-install.md) - **Работает везде, где доступен Node.js 20+**: Windows, macOS, Linux-серверы и одноплатные ARM-компьютеры, включая Raspberry Pi. Потребление оперативной памяти в простое около 40 МБ RSS при использовании PM2, systemd или другого менеджера процессов. Функциональность проекта намеренно ограничена определёнными задачами. См. [список того, что пока не поддерживается](docs/en/architecture/00-high-level-index.md#not-yet-supported). ## Быстрый запуск **Установка одной командой** (требуется Docker): создаёт `~/freellmapi`, генерирует ключ шифрования, загружает образ и запускает контейнер. ```bash curl -fsSL https://freellmapi.co/install.sh | bash ``` Не хотите выполнять удалённый скрипт без предварительного просмотра? [Посмотрите его исходный код](https://freellmapi.co/install.sh). Повторный запуск безопасен: существующие `.env` и ключ шифрования сохраняются, а контейнер обновляется до `:latest`. Откройте http://localhost:3001, добавьте ключи провайдеров на странице **Keys**, настройте порядок **Fallback Chain** и скопируйте единый API-ключ из заголовка страницы **Keys**. Именно его следует указывать в OpenAI SDK. Для Windows проще всего скачать **[установщик `.exe` из Releases](https://github.com/tashfeenahmed/freellmapi/releases/latest)**. Для Android существует экспериментальное [руководство по Termux](docs/en/install/02-android-termux.md). Другие варианты, включая Docker Compose, локальную разработку, конфигурацию запуска, production-сборки, сетевой доступ и резервное копирование, описаны в **[руководстве по установке](docs/en/install/01-install.md)**. ## Приложение для компьютера Нативное приложение расположено в [`desktop/`](./desktop): маршрутизатор и панель управления запускаются локально, а в системном трее доступно всплывающее окно со статистикой запросов. ![Настольное приложение FreeLLMAPI](repo-assets/desktop.png) **[Скачать из Releases](https://github.com/tashfeenahmed/freellmapi/releases/latest)**. К каждому выпуску прикладываются `.dmg` для macOS и `.exe` для Windows. Регистрация и отдельный пароль не требуются: необходим только единый API-ключ, доступный во всплывающем окне трея. Сборка из исходников и пути хранения данных: [docs/en/install/01-install.md#desktop-app](docs/en/install/01-install.md#desktop-app). Для macOS 12 Monterey и новее выберите **arm64 (Apple Silicon)** или **x64 (Intel)**. Обе версии для Mac также доступны в ZIP. ## OpenAI-совместимые клиенты Поддерживается любой клиент, которому можно задать OpenAI-совместимый базовый URL: укажите `http://localhost:3001/v1` и единый ключ с панели управления. Все генераторы конфигураций поддерживают `--dry-run`. Команды `npx freellmapi launch` (Claude Code) и `launch-codex` (Codex) позволяют не сохранять учётные данные в конфигурационных файлах. Маршрутизатор также работает как MCP-сервер, который агенты могут опрашивать во время сессии. **ChatGPT** подключается к тому же локальному маршрутизатору через приватный Secure MCP Tunnel. MCP-инструмент `ask_freellmapi` отправляет задачу ChatGPT через `/v1/chat/completions` и возвращает ответ с метаданными обслужившей модели, резервной маршрутизации, кеша, выполнения и токенов. Базовый URL и Bearer-аутентификация задаются в настройках клиента туннеля. Модель по умолчанию настраивается через `MCP_INFERENCE_DEFAULT_MODEL` (при отсутствии значения используется `auto`). Нельзя размещать ключ в Git или URL MCP. **[Настройка ChatGPT →](docs/en/clients/01-agent-clients.md#chatgpt-private-secure-mcp-tunnel)** Ключами провайдеров можно управлять и из терминала с токеном сессии панели (`FREELLMAPI_DASHBOARD_TOKEN` или `--token`): `npx freellmapi keys add|list|remove|test `. Команда `keys test` повторно проверяет сохранённые ключи. См. [cli/README.md](cli/README.md#provider-keys). FreeLLMAPI рассчитан прежде всего на локальное использование одним пользователем. Ключи провайдеров остаются в вашей SQLite-базе, зашифрованы на диске, а запросы отправляются с вашего компьютера непосредственно выбранным внешним сервисам. ## Языки интерфейса Панель управления поддерживает **60 языков**, меню приложения в трее доступно на шести. При первом запуске язык определяется по настройкам системы или браузера, затем его можно изменить в **⋯ → Settings**. Выбор сохраняется. Для языков с письмом справа налево (العربية, עברית, فارسی, اردو) интерфейс автоматически меняет направление. Загружается только словарь активного языка, остальные не расходуют трафик. Полный список языков находится в [`client/src/i18n/locale-config.ts`](./client/src/i18n/locale-config.ts). Первые шесть переводов прошли проверку людьми. Новые локализации были созданы машинным переводом и постепенно улучшаются благодаря исправлениям носителей языка. Даже PR с исправлением одной строки будет полезен. Файлы переводов находятся в [`client/src/i18n/locales/`](./client/src/i18n/locales) и имеют плоскую структуру JSON. Для исправления строки измените значение соответствующего ключа в JSON своего языка. Для добавления языка скопируйте `en.json`, переведите значения и зарегистрируйте язык в `client/src/i18n/locale-config.ts` (а для строк меню трея также в `desktop/src/i18n.ts`). Команда `npm test` проверяет совпадение ключей и плейсхолдеров. PR приветствуются. ## Premium и оперативный каталог Маршрутизатор поддерживает каталог моделей в актуальном состоянии: дважды в день скачивает подписанный каталог с [freellmapi.co](https://freellmapi.co) и обновляет локальную БД новыми моделями, изменениями квот и исправлениями особенностей провайдеров. Ваши настройки включения/отключения моделей и пользовательские провайдеры остаются нетронутыми. Каждая загрузка перед применением проверяется закреплённым ключом Ed25519. В каталоге представлены **34 провайдера**, **474 семейства моделей**, **635 бесплатных сочетаний провайдер/модель** (584 для чата, 41 для эмбеддингов, 7 для транскрибации и 3 для видео), а заявленная общая бесплатная ёмкость составляет примерно **7,4 миллиарда токенов в месяц**. Полный список: **[freellmapi.co/models](https://freellmapi.co/models.html)**. Бесплатные установки получают тот же подписанный каталог, но из ежемесячного снимка. Новая модель появляется там спустя 30 дней после оперативного каталога, поэтому бесплатная версия сейчас отстаёт примерно на 303 модели. Ничего не отключается и не истекает: обновления просто приходят позже. Premium поддерживает оперативный каталог на всех ваших маршрутизаторах. Когда провайдер запускает бесплатную мощную модель, незаметно снижает квоту или меняет формат API, пользователи оперативного каталога получают соответствующее обновление в тот же день, когда оно выпущено. **[Подключить оперативный каталог на freellmapi.co →](https://freellmapi.co/?utm_source=github&utm_medium=readme&utm_campaign=premium&utm_content=readme_bottom#pricing)** - $19 в год либо однократный платёж $49 за бессрочный доступ. Оплата через Stripe; подписку можно самостоятельно отменить в любой момент. - Один ключ `fla_` действует для всех ваших экземпляров маршрутизатора: на компьютере, домашнем сервере или Raspberry Pi. - Активация выполняется на панели управления в разделе **Premium**. Управление оплатой и подпиской: [freellmapi.co/manage](https://freellmapi.co/manage). - Сам маршрутизатор распространяется под лицензией MIT и остаётся бесплатным. Premium оплачивает только доступ к оперативному каталогу, финансируя ежедневные проверки моделей и сопровождение каталога. Сервер каталога не получает ваши промпты, ответы моделей или ключи провайдеров. Маршрутизатор в любом случае остаётся размещённым на вашем оборудовании. ## Использование API ```python from openai import OpenAI client = OpenAI( base_url="http://localhost:3001/v1", api_key="freellmapi-your-unified-key", ) resp = client.chat.completions.create( model="auto", # let the router pick; or "auto:fast", "auto:smart", a profile, or a model id messages=[{"role": "user", "content": "Summarise the fall of Rome in one sentence."}], ) print(resp.choices[0].message.content) print("Routed via:", resp.headers.get("x-routed-via")) ``` Потоковая передача, стратегии `auto:*`, вызовы инструментов, входные изображения (Vision), подтверждение ответов Google Search в Gemini, эмбеддинги и Anthropic Messages API с примерами curl и Python описаны в **[справочнике API](docs/en/api/01-rest-api.md)**. Каждый ответ содержит заголовок `X-Routed-Via: /`, показывающий, какой провайдер фактически обработал запрос. ## Скриншоты ### Модели Выберите стратегию маршрутизации и наблюдайте, как используется общий месячный бюджет токенов у всех провайдеров. Для каждой модели показаны актуальные показатели надёжности, скорости и качества. Порядок моделей соответствует текущему порядку обработки запросов. ![Страница моделей](repo-assets/models.png) ### Ключи Управляйте учётными данными провайдеров и получайте единый API-ключ для своих приложений. Для каждого ключа отображаются состояние и время последней проверки. ![Страница ключей](repo-assets/keys.png) ### Playground Отправьте запрос через маршрутизатор и посмотрите, какой провайдер ответил: в сообщении отображаются идентификатор модели и задержка. Файлы можно прикреплять кнопкой, перетаскиванием или вставкой. Изображения PNG/JPEG/WebP/GIF при необходимости уменьшаются в браузере и отправляются как части сообщения модели с поддержкой Vision. Текстовые файлы TXT/MD/CSV/JSON/LOG включаются в промпт как блоки кода. ![Страница Playground](repo-assets/playground.png) ### Аналитика Количество запросов, доля успешных ответов, входные и выходные токены, средняя задержка и детализация по провайдерам за 24 часа, 7, 30 или 90 дней. ![Страница аналитики](repo-assets/analytics.png) ## Принцип работы ![От запроса к лучшей бесплатной модели: цепочка переключения с актуальными оценками, тайм-аутами и учётом квот](repo-assets/router-flow.png) Один запрос поступает на вход, подходящая бесплатная модель отвечает: маршрутизатор выбирает модель с наивысшим приоритетом, действующим ключом и доступной квотой, расшифровывает ключ в памяти и вызывает API провайдера. При ошибках 429/5xx ключ временно исключается и запрос повторяется на следующей модели цепочки. Компоненты, алгоритмы маршрутизации и эксплуатационные сведения описаны в **[документации по архитектуре](docs/en/architecture/00-high-level-index.md)**. ## Частые вопросы **Нужен ли пароль?** Для настольного приложения нет: вход в панель выполняется автоматически через скрытую локальную учётную запись. Откройте панель через значок в трее → **Open Dashboard**. В серверных установках (Docker, установка одной командой, `npm run dev`) используется учётная запись с адресом электронной почты и паролем. **Забыли пароль от серверной установки?** Нажмите **Forgot password?** на странице входа. Поскольку рассылка писем не настроена, одноразовый код печатается в журнале сервера. Его можно прочитать через `docker compose logs -f freellmapi`, в терминале работающего сервера или в журнале настольного приложения и ввести в форму сброса. Код действителен 15 минут. **Где находятся логи?** Для Docker в журнале контейнера, при запуске из исходников в терминале, для настольной версии в `/logs/freeapi.log`. Открыть каталог логов также можно через **Open Logs Folder** в меню трея. **Как удалить программу?** Удалите приложение (Корзина в macOS, *Параметры → Приложения* в Windows или `docker compose down -v` для Docker), затем при необходимости удалите каталог данных: `%APPDATA%\FreeLLMAPI\`, `~/Library/Application Support/FreeLLMAPI/` либо `~/.config/FreeLLMAPI/`. Само удаление приложения не очищает эти каталоги. Более подробные ответы для каждого способа установки: **[docs/en/install/01-install.md#faq-passwords-logs-uninstall](docs/en/install/01-install.md#faq-passwords-logs-uninstall)**. ## Ограничения Объединение бесплатных тарифов имеет недостатки: нет гарантированного доступа к передовым моделям, задержки нестабильны, отсутствует SLA. К концу суток качество доступного набора моделей может снижаться, когда наиболее мощные варианты исчерпывают дневные лимиты; квоты восстанавливаются в полночь по UTC. Перед использованием в серьёзном проекте прочитайте [подробное описание ограничений](docs/en/architecture/00-high-level-index.md#limitations). ## Как помочь проекту Новые участники приветствуются! В [CONTRIBUTING.md](CONTRIBUTING.md) описаны порядок разработки, требования к PR и правила для изменений с помощью ИИ/LLM. Кратко: такие изменения допускаются, но должны соответствовать тем же требованиям качества. Идеи для первого PR: - **Добавить провайдера**: использовать `server/src/providers/openai-compat.ts` как шаблон, зарегистрировать адаптер в `server/src/providers/index.ts`, добавить модели в `server/src/db/index.ts` и тест в `server/src/__tests__/providers/`. - **Добавить эндпоинт**: реализовать дополнительные OpenAI-совместимые интерфейсы, например `/v1/realtime`. Базовый класс провайдера может получить новые методы, адаптеры указывают поддерживаемые возможности. - **Улучшить маршрутизатор**: учитывать цену, работоспособность и скорость моделей, совершенствовать приоритет по задержке и привязку к региону. - **Улучшить панель управления**: графики аналитики, интерфейс ротации ключей, массовый импорт из `.env`. - **Улучшить документацию**: примеры, фрагменты кода для Go/Rust и других языков, инструкции для Docker или Fly. Команда `npm install && npm run dev` запускает сервер на порту :3001 и панель на :5173 с горячей перезагрузкой. Для воспроизводимой настройки используйте `./scripts/dev-bootstrap.sh` в Bash или `.\scripts\dev-bootstrap.ps1` в PowerShell. Оба скрипта сохраняют существующий `.env`. Для PR нужны тесты, успешный запуск имеющегося набора (`npm test`) и соблюдение существующих `.editorconfig` / tsconfig. Работа с миграциями БД и полный процесс участия описаны в [CONTRIBUTING.md](./CONTRIBUTING.md). ### Участники @moaaz12-web @lukasulc @VinhPhamAI @deadc @zhangyu1324 @kentpan @stephenzwj @chongjiazhen @vjsai @long2ice @sadesguy @hodlmybeer69-bit @phoenixikkifullstack @jtbrennan-git @praveenkumarpranjal @nordbyte @mybropro @danscMax @jhash @JammyJames1234 @coffcoe @Sumit4codes @meliani @thedavidweng @bharvey42 @yuvrxj-afk @Tushar49 @nicyoong @Aldo-f @Tazrif-Raim @m1nuzz @suantea @OhOkThisIsFine @LoneRifle @ita333 @barbotkonv @Naster17 @StealthTensor @EmranAhmed @itsfuad @RobinHoodO @hmm183 @duemilionidieuro-bot @cagedbird043 @jasnoorgill @Joey9024 @AskingConical @ProAlit @hjhhoni @immanuelsavio @Slyker @wells1013 @evgkrsk @aaronjmars @Robs87 @dashitongzhi @QingJ01 @3215 @saifulaiub123 @PietFourie @mhmdkrmabd @DemeulemeesterxMaxime @HoodBlah @SeanPedersen @andersmmg @chirag127 @allababbot @johan-droid @redenfire @itzpingcat @kairwang01 @gongjurenzhangwei @jsonring @1029734570 @86TheCactus @AmiroKD @ecryptomillionaire-dev @4riful @fix2015 @iisyw @xsfhacg @noobix @nandukmelath @NirvanaCh7 @Mohamed3nan @Arman-Espiar @MetaMysteries8 @lujun880726 @qq97693453 @emv33 @ousamabenyounes @yfdyh000 @s-uryansh @arsalanyavari @RoboMWM @gaurang-py @ddy4633 @UrbsKali @hb-0 @xyblue135 @Icesenator @ZER0-auto @tashdroid @Patrickleondev @hiiamwaffledev @w0fv1 @oppih @n3dhir @ksp2000 @quabynahdavis @qinghuanandejiangshi @qatcod @CooperSheroy @shahidbeig-a11y @Kaban15 @efcunha @sukaimi @rome-xi @bsi-bcp @rodion-gudz @bjornmage @kenanlabs @xzyj50609 @Ahmedtahoon2 @Inference1 @yzhkali @levonk @tripstar6000 @alkank @Yi-111-a @The88788 @ac1982 @agammann @Claven07 ## Отказ от гарантий **Проект предназначен для личных экспериментов и обучения, а не для production-систем.** Бесплатные тарифы позволяют разработчикам экспериментировать с API, но не гарантируют стабильную работу сервиса и поддержку. Если вы создаёте на основе FreeLLMAPI продукт для реальных пользователей, перед выпуском перейдите на платный API. Использование каждого внешнего провайдера регулируется условиями, принятыми вами при регистрации: проксирование через FreeLLMAPI не отменяет эти правила, и вы несёте ответственность за их соблюдение. Вопросы соответствия личного однопользовательского прокси условиям отдельных провайдеров, рассмотренные в мае 2026 года, описаны в [проверке условий использования](docs/en/architecture/00-high-level-index.md#terms-of-service-review). ## Лицензия [MIT](./LICENSE)