Обновить

Комментарии 12

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

Спасибо за отзыв!

yermolaev, не поверите... 2-е недели сижу и дальше думаю что делать с тем, что я "наткорил".
Я сам владелец бизнеса и сам разработчик
Для приема заказов мне нужен чат бот MAX на базе локальной модели ИИ на своем сервере.

Я серьезно, не знал, что есть подобного рода сервисы и прочитав, я понял, на сколько все это упрощает мою работу.

Так же я понял, что вылечил зуб через задницу:
Моя существующая архитектура:
MAX - Шлюз на PHP - Chatwoot - OpenwebUI - Olama
Шлюза на PHP нужен для того, чтобы принимать от нескольких ботов сообщения от клиентов и направлять их в конкретный инбокс Chatwoot. А Chatwoot нужен для контроля сообщений и в случае, если бот начнет писать не то, что надо, мог подключиться оператор. Так же нужен для того, чтобы собирать сообщения с сайтов в одном месте.
Все это работает, но почему, то дальше мне уже лениво что-то делать.
Бот у меня написано тоже на PHP и его задача брать из определенного бокс айди информацию и подключать свой промт для ответов. Это самый большой геморрой, так как все приходится править внутри кода.

Я обязательно завтра поставлю в докер на базе своего сервера данный продукт и протестирую, но судя по тому, что я прочитал - это просто бомба!

Спасибо за отзыв! Да, с Chatballs вам проще будет все это наладить)

Хотя самостоятельно использовать,вероятнее всего, не смогу - ОГРОМНОЕ СПАСИБО! Ну и + :)

Спасибо за отзыв!

Краткая выжимка по установке Chatballs на AAPANEL

Куда устанавливали:
Сервер на aaPanel (Linux, Docker + Docker Compose), проект — в Docker через вкладку Docker → Compose в aaPanel.

Что делали:

  1. Скачали официальный compose.yaml из релиза Chatballs на GitHub.

  2. Вставили его в aaPanel: Docker → Compose → Добавить, имя проекта chatballs.

  3. Сначала пытался запустить на порту 8081 (0.0.0.0:8081:80), но столкнулись с CSRF‑ошибкой Django:

  4. Чтобы не трогать системный 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.

  5. После этого мастер настройки 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:8080

  • Chatballs подключён к 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-обработку входящих

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации