Atomic Chat — локальный ИИ-клиент и движок инференса для агентов

· 2 мин чтения
llm local-ai inference openai-api privacy
📂 Исходный код на GitHub

Локальное ИИ-приложение и движок инференса для агентов: запуск open-weight моделей с Hugging Face на своём компьютере, OpenAI-совместимый API на localhost, три движка инференса (llama.cpp, TurboQuant-форк, MLX-VLM) и запуск coding-агентов в один клик.

Atomic Chat — локальный ИИ-клиент и движок инференса для агентов

Atomic Chat — open-source приложение для локального запуска open-weight LLM: «local AI app and inference engine for agents», как формулируют сами разработчики. Идея простая и прагматичная: вы скачиваете модели с Hugging Face (Llama, Gemma, Qwen, Mistral, Phi и другие), запускаете их на своём компьютере — приватно и без отправки данных во внешние сервисы, — а приложение поднимает OpenAI-совместимый API-сервер на http://localhost:1337/v1. К этому серверу можно подключить практически любой coding-агент, CLI-утилиту или IDE-плагин, который умеет говорить с OpenAI API. Проект написан на Tauri (Rust + веб-интерфейс), распространяется под лицензией Apache 2.0, у него около 1,5 тысяч звёзд на GitHub и более 140 контрибьюторов.

Зачем это нужно

Типичный сценарий: вы хотите гонять Claude Code, OpenCode или другой агент на локальной модели — из соображений приватности, для работы офлайн или чтобы не платить за токены. Обычно для этого приходится собирать стек из llama.cpp, конфигов и прокси. Atomic Chat закрывает всю цепочку одним приложением:

  • Чат с локальными моделями — обычный интерфейс с поддержкой истории, проектов и кастомных ассистентов
  • Локальный API-сервер — drop-in замена OpenAI SDK: меняете только base_url, и любой клиент начинает работать с локальной моделью
  • Запуск агентов в один клик — из вкладки Integrations можно запустить Claude Code, Codex CLI, Cline, OpenCode, Goose и другие агенты прямо поверх ваших локальных моделей

Приватность здесь не декларация, а архитектурное решение: локальный сервер по умолчанию привязан к 127.0.0.1, разговоры и API-ключи остаются на вашей машине.

Платформы

Приложение доступно и для десктопа, и для мобильных:

Платформа Формат
macOS Universal .dmg (13.6+)
Windows .exe установщик (10/11 x64)
Linux самодостаточный .AppImage
iOS App Store
Android Google Play

На Linux всё просто: один файл, без установщика и root-прав. При первом запуске может понадобиться FUSE (sudo apt install fuse libfuse2 на Debian/Ubuntu), а GPU-ускорение через Vulkan подхватывается автоматически. Важный нюанс: на Linux работают только модели в формате GGUF.

По памяти ориентиры такие: 8 ГБ для моделей 3B, 16 ГБ для 7B, 32 ГБ для 13B.

OpenAI-совместимый API

Главная фишка для разработчиков — сервер на localhost:1337/v1. Загружаете модель в приложении — и любой клиент, говорящий на OpenAI API, начинает работать с ней:

curl http://localhost:1337/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model-id-loaded-in-atomic-chat>",
    "messages": [{ "role": "user", "content": "Say hello in one word" }]
  }'

То же самое на Python:

from openai import OpenAI

client = OpenAI(base_url="http://localhost:1337/v1", api_key="not-needed")

resp = client.chat.completions.create(
    model="<model-id-loaded-in-atomic-chat>",
    messages=[{"role": "user", "content": "Say hello in one word"}],
)
print(resp.choices[0].message.content)

API-ключ не нужен. По умолчанию сервер слушает только loopback; если нужно дать доступ по локальной сети, выставляется host: 0.0.0.0.

Три движка инференса

Под капотом Atomic Chat — три движка, все доступны через один и тот же API:

  • atomic-llama-cpp-turboquant — собственный форк llama.cpp с оптимизациями TurboQuant KV-кэша (turbo3 / turbo4): до ~4,3 раза меньший объём KV-кэша на CPU и GPU (CUDA / Vulkan). Работает на всех трёх настольных платформах
  • upstream llama.cpp — официальный билд от ggml-org, движок по умолчанию на Windows и Linux с самым широким покрытием железа
  • MLX-VLM — нативный движок для Apple Silicon под vision-language модели, использует unified memory и Neural Engine; на M-чипах быстрее llama.cpp для поддерживаемых моделей

Переключать движки можно без перенастройки клиентов — инструменты, которые ходят на localhost:1337/v1, не знают и не должны знать, какой бэкенд крутится под капотом.

Ускорение инференса

Отдельная гордость проекта — спекулятивное декодирование и оптимизации памяти:

  • MTP (Multi-Token Prediction) — draft-модель предсказывает токены вперёд, полная модель проверяет их за один проход. Прирост 30–70% throughput, на Gemma 4 — до 3×. Доступно на macOS и Windows
  • DFlash — block-diffusion декодирование: до 6× быстрее на Qwen 3.6, Gemma 4 и Kimi K2.5. Только Apple Silicon, несовместимо с MTP
  • EAGLE-3 — спекулятивное декодирование для Gemma 4 на Apple Silicon через MLX
  • TurboQuant KV cache — уже упомянутый квантованный KV-кэш, теперь и на Windows с Linux, не только на macOS
  • Flash Attention — переключатель on / off / auto в настройках
  • Плюс автоматическое отслеживание reasoning-контекста для chain-of-thought моделей и авторасширение контекстного окна с уведомлениями о переполнении

Облачные модели — по желанию

Локальность не значит изоляцию. Встроены провайдеры OpenAI, Anthropic, Mistral, Groq, MiniMax, Qwen и Moonshot — по схеме bring your own key. Можно свободно смешивать локальные и облачные модели в рамках одного чата и переключать модель на лету.

Интеграции с агентами

Из вкладки Integrations агенты запускаются в один клик: Atomic Agent, Claude Code, Codex CLI, Cline, OpenCode, Droid, Goose, OpenHands, Copilot CLI, Kilo Code и Zed. Но строго говоря, подойдёт любой инструмент с OpenAI-совместимым API. Несколько проектов уже shipят first-class поддержку:

Инструмент Что это
OpenCode open-source TUI coding-агент, добавляется как локальный провайдер в opencode.json
Goose расширяемый AI-агент (CLI, desktop, API)
nanobot ультралёгкий персональный агент с MCP и WebUI
nanoclaw контейнеризованный рантайм агентов, дёргает Atomic Chat как MCP-инструмент
OpenClaude open-source CLI coding-агент для облачных и локальных моделей
Kilo Code AI-агент для VS Code, JetBrains и CLI с автодетектом Atomic Chat

Помимо агентов, в самом приложении есть: подключение нескольких MCP-серверов (свои инструменты, доступ к файлам, веб-поиск), Artifacts с live-превью HTML/CSS/JS, кастомные ассистенты с индивидуальными system prompt и проекты с деревом диалогов в сайдбаре.

Сборка из исходников

Понадобятся Node.js ≥ 20, Yarn ≥ 4.5.3, Make ≥ 3.81 и Rust для Tauri (на Apple Silicon — ещё MetalToolchain). Дальше всё одной командой:

git clone https://github.com/AtomicBot-ai/Atomic-Chat
cd Atomic-Chat
make dev

Есть и другие цели: make build для продакшен-сборки, make test для тестов и линтера, make clean для полной очистки.

Наследие и лицензия

Atomic Chat начинался как форк Jan от Menlo Research — популярного open-source приложения для локального ИИ. С тех пор проект вырос в собственном направлении: свои движки, своя дорожная карта, но авторы честно благодарят команду Jan за фундамент. Лицензия — Apache 2.0, среди acknolwedgements llama.cpp, MLX-VLM, Tauri и Scalar.

Кому подойдёт

Atomic Chat занимает удобную нишу между «просто чатом с локальной моделью» и ручной сборкой инференс-стека. Это хороший выбор, если вы хотите: гонять coding-агентов на локальных моделях без возни с конфигами; держать рабочие разговоры с LLM полностью офлайн и приватно; получить OpenAI-совместимый endpoint на своей машине одной установкой. Для команд с чувствительным кодом вариант «агент + локальная модель через Atomic Chat» выглядит особенно осмысленно.

Источник: https://github.com/AtomicBot-ai/Atomic-Chat