Комментарии 12
круто и симпатично. у нас свой такой же комбайн, но гораздо менее интерфейсно проработанный

yermolaev, не поверите... 2-е недели сижу и дальше думаю что делать с тем, что я "наткорил".
Я сам владелец бизнеса и сам разработчик
Для приема заказов мне нужен чат бот MAX на базе локальной модели ИИ на своем сервере.
Я серьезно, не знал, что есть подобного рода сервисы и прочитав, я понял, на сколько все это упрощает мою работу.
Так же я понял, что вылечил зуб через задницу:
Моя существующая архитектура:
MAX - Шлюз на PHP - Chatwoot - OpenwebUI - Olama
Шлюза на PHP нужен для того, чтобы принимать от нескольких ботов сообщения от клиентов и направлять их в конкретный инбокс Chatwoot. А Chatwoot нужен для контроля сообщений и в случае, если бот начнет писать не то, что надо, мог подключиться оператор. Так же нужен для того, чтобы собирать сообщения с сайтов в одном месте.
Все это работает, но почему, то дальше мне уже лениво что-то делать.
Бот у меня написано тоже на PHP и его задача брать из определенного бокс айди информацию и подключать свой промт для ответов. Это самый большой геморрой, так как все приходится править внутри кода.
Я обязательно завтра поставлю в докер на базе своего сервера данный продукт и протестирую, но судя по тому, что я прочитал - это просто бомба!
Хотя самостоятельно использовать,вероятнее всего, не смогу - ОГРОМНОЕ СПАСИБО! Ну и + :)
Краткая выжимка по установке Chatballs на AAPANEL
Куда устанавливали:
Сервер на aaPanel (Linux, Docker + Docker Compose), проект — в Docker через вкладку Docker → Compose в aaPanel.
Что делали:
Скачали официальный
compose.yamlиз релиза Chatballs на GitHub.Вставили его в aaPanel: Docker → Compose → Добавить, имя проекта
chatballs.Сначала пытался запустить на порту 8081 (
0.0.0.0:8081:80), но столкнулись с CSRF‑ошибкой Django:Forbidden (Origin checking failed -http://192.168.0.120:8081does not match any trusted origins.)
Чтобы не трогать системный nginx на порту 80, изменили стратегию:
Переключили gateway в
compose.yamlна локальный адрес:127.0.0.1:8081:80.В aaPanel создали сайт
мой_домен.ruи настроили Reverse Proxy наhttp://127.0.0.1:8081.Локально в hosts прописали
192.168.0.120 мой_домен.ruдля теста до обновления DNS.
После этого мастер настройки Chatballs успешно создал организацию и владельца.
Основные проблемы:
CSRF / Trusted Origins при доступе по IP:порт.
Необходимость аккуратно разнести порты с другими сервисами (nginx, Open WebUI, почта и т.д.).
Требуется полное пересоздание проекта в Compose при изменении переменных окружения.
Время:
На всё ушло около 30 минут (включая поиск причины CSRF, правки compose.yaml и настройку прокси в aaPanel).
Результаты настройки и боевой работы интеграций c MAX и, главное, работа с собственной локальной моделью qwen3.5:9b выложу в течении ближайшего времени здесь же...
Отдельный поклон автору за лаконичный и интуитивно-понятный интерфейс.
Совсем забыл передать привет от Леськи...

Большое спасибо за детальный обзор установки и выявление проблем, беру в работу. С нетерпением жду результаты настройки и боевой работы. Над интерфейсом работа шла дольше всего, еще не идеал, буду дорабатывать и улучшать.
Большое спасибо за детальный обзор установки и выявление проблем, беру в работу. С нетерпением жду результаты настройки и боевой работы. Над интерфейсом работа шла дольше всего, еще не идеал, буду дорабатывать и улучшать.
Что было сделано
Запущена локальная AI-модель
OpenWebUI с моделью
qwen3.5:9bработает наhttp://localhost:8080Chatballs подключён к OpenWebUI через BYOK-интеграцию
AI-агент создан и активен, отвечает на сообщения
Найден и исправлен лимит контекста
Проблема: в коде Chatballs (
ingest.py) стоял лимитHISTORYLIMIT = 20сообщенийРешение: изменено на
HISTORYLIMIT = 100Теперь AI получает последние 100 сообщений диалога вместо 20 , но это не точно, надо тестировать!
Файл:
/app/apps/backend/chatballs/conversations/ingest.py
Что хорошо бы добавить
Настройки контекста в веб-виджете
Сейчас лимит истории «зашит» в код бэкенда. Удобнее было бы иметь:
Поле в UI агента: «Размер контекста диалога» (сообщений)
Или переменную в
.env:CHATBALLS_AI_HISTORY_LIMIT=100Чтобы не править код вручную при каждом обновлении
Планы на завтра
База знаний
Создать знания (Knowledge) в Chatballs
Загрузить документы/FAQ
Привязать к AI-агенту
Max-бот
Подключить интеграцию с Max (VK?)
Настроить AI-обработку входящих


Chatballs — open source ИИ-платформа первой линии поддержки