SalmAlm: легковесный AI-шлюз на Python без фреймворков | Установка и обзор | AiManual
AiManual Logo Ai / Manual.
19 Фев 2026 Инструмент

SalmAlm: ваш самодельный AI-шлюз на голом Python, который не съест всю оперативку

Обзор SalmAlm - минималистичного AI-шлюза на чистом Python. Поддержка Ollama, OpenAI API, PWA. Установка в одну строку.

Когда FastAPI - это уже перебор

Вы видели эти проекты? OpenLLM, LiteLLM, всякие шлюзы с Docker Compose на три страницы, которые требуют Redis для кэширования, Postgres для логов и ещё пять сервисов просто чтобы проксировать запрос к вашей же машине. Это смешно. Особенно когда вы просто хотите поставить Open WebUI рядом с Ollama и чтобы они нормально общались.

SalmAlm - это реакция на эту абсурдную сложность. Один файл Python, 600 строк кода, ноль зависимостей кроме стандартной библиотеки. Серьёзно, даже requests не нужен - всё на http.client. Автор явно устал от раздутых зависимостей.

На момент февраля 2026 года проект активно развивается - недавно добавили поддержку Ollama 0.5.x API, совместимость с последними моделями DeepSeek V3 и Qwen2.5, а также экспериментальную интеграцию с AMD Ryzen AI через локальными транскриберами.

Что умеет эта штука (кроме экономии места на диске)

  • Мульти-провайдерный роутинг: Ollama, OpenAI-совместимые API (включая локальные типа LM Studio), Anthropic, Google Gemini - всё в одном месте
  • Автоматическое определение модели: Отправляете запрос, шлюз сам решает, куда его направить
  • PWA-интерфейс: Веб-морда, которую можно установить как приложение на телефон
  • Промпт-шаблоны: Сохраняете любимые промпты, вызываете одним кликом
  • История диалогов: В браузере, без серверной базы данных
  • Поддержка стриминга: SSE для реального времени, никаких long polling
💡
Самое интересное - SalmAlm умеет работать как reverse proxy для существующих Ollama инсталляций. У вас уже крутится Tesla P100 как домашний AI-сервер? SalmAlm встанет перед ним и добавит веб-интерфейс с историей.

Установка: одна строка, которая работает (почти всегда)

Вот весь процесс:

curl -sSL https://raw.githubusercontent.com/salm-ai/salmalm/main/install.sh | bash

Или если не доверяете pipe в bash (а правильно делаете):

wget https://raw.githubusercontent.com/salm-ai/salmalm/main/salmalm.py
python3 salmalm.py

Сервис запускается на порту 8080. Открываете localhost:8080 - видите чистый интерфейс. Никаких конфигов, никаких .env файлов на первом этапе.

Важный момент: SalmAlm по умолчанию ищет Ollama на localhost:11434. Если у вас Ollama висит на другом порту или вообще на другой машине - придётся поправить конфиг. Но это YAML файл на 10 строк, а не том Kubernetes манифестов.

1Базовый конфиг для тех, у кого всё нестандартно

Создаёте файл config.yaml:

providers:
  ollama:
    base_url: "http://192.168.1.100:11434"  # ваш Ollama сервер
    models:
      - "llama3.2:latest"
      - "qwen2.5:7b"
      - "deepseek-coder:latest"

  openai:
    base_url: "http://localhost:1234/v1"  # например, LM Studio
    api_key: "not-needed-for-local"

server:
  host: "0.0.0.0"
  port: 8080
  cors_origins: ["*"]

Запускаете с конфигом:

python3 salmalm.py --config config.yaml

Чем SalmAlm бьёт конкурентов (когда они есть)

ИнструментЗависимостиРазмерОсобенностьДля кого
SalmAlmPython 3.8+~600 строкНоль внешних зависимостейМинималисты, embedded системы
LiteLLMFastAPI, pydantic, redis~15k строкКорпоративные фичиПродакшен, команды
Open WebUIDocker, Node.js, базы данныхПолный стекБогатый интерфейсЭнтузиасты с ресурсами
Ollama WebUINode.js, вебпак~3k строкТолько OllamaТолько для Ollama

Видите разницу? SalmAlm - это Swiss Army knife, который помещается в карман. Не пытается быть всем для всех. Просто проксирует запросы и показывает интерфейс.

Где это реально пригодится (кроме "посмотреть, как оно работает")

Домашняя лаборатория: У вас есть Raspberry Pi с Ollama, пара старых видеокарт для нейросетевых экспериментов, и вы хотите единую точку входа. SalmAlm встаёт на том же Pi, потребляет 50MB RAM и даёт веб-интерфейс.

Образовательные проекты: Нужно показать студентам, как работают API LLM, но чтобы они не утонули в настройке. Один файл Python - и есть работающий шлюз с документацией.

Прототипирование: Делаете робота с ROS2 и хотите быстро протестировать разные модели для NLP части. Меняете строку в конфиге - переключаетесь между Llama, DeepSeek и Qwen.

Параноики: Да, для тех, кто хочет полностью локальный стек без следов. SalmAlm не звонит домой, не собирает телеметрию, даже логгирование отключается одной настройкой.

Подводные камни (потому что идеальных инструментов не бывает)

  • Аутентификация: Её нет. Вообще. Если нужно защитить доступ - ставите nginx перед ним с basic auth или ставите в приватную сеть.
  • Масштабирование: Не предназначен для тысяч запросов в секунду. Это инструмент для личного использования или маленьких команд.
  • Мониторинг: Нет Grafana дашбордов, нет алертов. Есть access.log в стандартном формате - дальше сами.
  • Балансировка нагрузки: Если у вас три GPU с разными моделями - нужно будет делать балансировку на уровне конфига вручную.
💡
Для production использования автор рекомендует всё-таки взять что-то вроде LiteLLM. SalmAlm - это proof-of-concept, который вырос в удобный инструмент. Не пытайтесь запихнуть его в корпоративный продакшен - будет больно.

Интеграция с экосистемой: что ещё можно прикрутить

Самое интересное начинается, когда вы соединяете SalmAlm с другими инструментами:

  • Home Assistant: Через REST API можно интегрировать голосовых ассистентов типа Strix Halo для управления умным домом
  • Claude Code: Настраиваете SalmAlm как прокси и подключаете локальные LLM к Claude Code вместо платных OpenAI API
  • Автономные агенты: Для умного дома на базе LoRa можно использовать SalmAlm как центральный мозг
  • Транскрибация: В связке с Qwen3-ASR получается полностью локальный стек для обработки аудио

Кому это действительно нужно (а кому лучше пройти мимо)

Берите SalmAlm, если:

  • Ненавидите Docker Compose файлы на 200 строк
  • Хотите понять, как работают AI шлюзы изнутри
  • Имеете ограниченные ресурсы (Raspberry Pi, старый ноутбук)
  • Цените возможность прочитать весь исходный код за полчаса
  • Часто переключаетесь между разными моделями и провайдерами

Не берите SalmAlm, если:

  • Нужна enterprise-аутентификация (OAuth, SAML)
  • Ожидаете тысячи RPS (запросов в секунду)
  • Требуется детальное логирование и мониторинг
  • Нужны готовые дашборды использования и биллинг
  • Вы не готовы иногда поковыряться в конфигах

Фишка SalmAlm в его простоте. Это не коробочный продукт, а скорее набор деталей Лего. Вы берёте базовую функциональность и достраиваете то, что нужно именно вам. Нужна кастомная аутентификация? Допишите 50 строк Python. Нужна интеграция с какой-то специфичной системой? Она уже почти REST API.

На февраль 2026 года проект живёт, последний коммит был неделю назад. Сообщество маленькое, но активное - issues отвечают в течение дня, PR мержат быстро. И самое главное - когда всё ломается, вы всегда можете открыть единственный файл salmalm.py и понять, где именно.

Попробуйте. Запустите на той запылённой Raspberry Pi, что валяется в шкафу. Может оказаться, что этот минималистичный шлюз решает 90% ваших задач по управлению локальными моделями. А остальные 10%... Ну, всегда можно вернуться к раздутым корпоративным решениям.