# Ollama Proxy [![Build Status](https://drone.halfakop.ru/api/badges/templates/orm/status.svg)](https://drone.halfakop.ru/templates/orm) Version: 1.0.0 Прокси-сервис между Codex CLI и локальной Ollama. Добавляет авторизацию и интеллектуальную маршрутизацию запросов: маленькая LLM-модель определяет тип запроса (код / документ / общее) и перенаправляет его к нужной целевой модели. ## Архитектура ``` Codex CLI → Ollama Proxy (:11435) → Ollama (:11434) │ AUTH_TOKEN check Router LLM (gemma:1b) │ code document general qwen2.5-coder gemma:1b gemma:1b ``` ## Быстрый старт ### 1. Установить и запустить Ollama ```bash # Скачать нужные модели ollama pull gemma:1b ollama pull qwen2.5-coder:1.5b ``` ### 2. Настроить .env ```env PROXY_PORT=11435 AUTH_TOKEN=my-secret-token OLLAMA_URL=http://localhost:11434 ROUTER_MODEL=gemma:1b CODE_MODEL=qwen2.5-coder:1.5b DOC_MODEL=gemma:1b GENERAL_MODEL=gemma:1b ``` ### 3. Запустить прокси ```bash make run ``` ### 4. Настроить Codex CLI Указать прокси вместо Ollama: ``` Base URL: http://localhost:11435 API Key: my-secret-token ``` ## Команды ```bash make build # Собрать бинарник make run # Запустить (читает .env) make test # Запустить тесты ``` ## Переменные окружения | Переменная | Описание | По умолчанию | |-----------|----------|-------------| | `PROXY_PORT` | Порт прокси | 11435 | | `AUTH_TOKEN` | Токен авторизации | — (обязательна) | | `OLLAMA_URL` | URL реальной Ollama | http://localhost:11434 | | `ROUTER_MODEL` | Модель-классификатор | gemma:1b | | `CODE_MODEL` | Модель для кода | qwen2.5-coder:1.5b | | `DOC_MODEL` | Модель для документов | gemma:1b | | `GENERAL_MODEL` | Общая модель | gemma:1b | ## API (Ollama-совместимый) | Метод | URL | Описание | |-------|-----|----------| | GET | `/health` | Проверка работоспособности | | POST | `/api/chat` | Чат (streaming NDJSON) | | POST | `/api/generate` | Генерация текста (streaming NDJSON) | | GET | `/api/tags` | Список доступных моделей |