-
Notifications
You must be signed in to change notification settings - Fork 5
Troubleshooting
Часто встречающиеся проблемы, их причины и способы устранения.
Симптомы:
- Ошибка "CUDA out of memory"
- Контейнер vllm падает при старте
- Таймаут при обращении к vLLM API
Причины и решения:
| Причина | Решение |
|---|---|
| Недостаточно GPU памяти | vLLM требует ~6GB. Проверьте nvidia-smi, закройте другие GPU процессы |
| Несовместимая версия CUDA | Обновите драйвера NVIDIA (требуется CUDA 11.8+) |
| Образ не загружен | Выполните docker pull vllm/vllm-openai:latest (~9GB) |
| Модель не загружена | Проверьте путь к модели в docker-compose.yml
|
Проверка:
# Логи vLLM контейнера
docker logs ai-secretary-vllm
# Доступность API
curl http://localhost:11434/v1/modelsСимптомы:
- Таймаут при запросе к облачному провайдеру
- Ошибка "API key invalid"
- 429 Too Many Requests
Решения:
| Проблема | Решение |
|---|---|
| Неверный API ключ | Проверьте ключ в Admin Panel → Services → LLM → Cloud Providers |
| Провайдер недоступен | Нажмите "Тест" для проверки доступности |
| Gemini заблокирован | Настройте VLESS прокси (см. VLESS-Proxy) |
| Превышен лимит | Переключитесь на другого провайдера или дождитесь сброса квоты |
Проверка:
# Тест Gemini через API
curl -X POST http://localhost:8002/admin/cloud-llm/test/1 \
-H "Authorization: Bearer <token>"Причины:
- Модель слишком большая (>7B параметров)
- GPU загружен другими задачами
- Высокая температура / max_tokens
Решения:
- Переключитесь на более быструю модель (Qwen2.5-3B вместо 7B)
- Проверьте GPU utilization в Admin Panel → Monitoring
- Уменьшите
max_tokensв настройках LLM (2048 → 1024) - Снизьте
temperatureдля более предсказуемых ответов
Симптомы:
- "RuntimeError: CUDA error: no kernel image is available"
- TTS не работает после переключения на XTTS
Причина: XTTS требует GPU с Compute Capability >= 7.0
| GPU | Compute Capability | Поддержка XTTS |
|---|---|---|
| RTX 3060+ | 8.6 | ✅ |
| RTX 2060+ | 7.5 | ✅ |
| GTX 1080 Ti | 6.1 | ❌ (используйте OpenVoice) |
| GTX 1060 | 6.1 | ❌ (используйте Piper) |
Решение: Переключитесь на OpenVoice или Piper в Admin Panel → Services → TTS
Проверка:
- Admin Panel → Services → TTS → выберите TTS engine (XTTS, OpenVoice, Piper)
- Admin Panel → Services → TTS → выберите voice preset
- Протестируйте голос: введите текст → "Test Voice"
Возможные причины:
| Проблема | Решение |
|---|---|
| TTS engine не выбран | Выберите XTTS, OpenVoice или Piper |
| Voice preset отсутствует | Создайте пресет в Admin Panel → TTS |
| Ошибка синтеза | Проверьте логи orchestrator: docker logs ai-secretary-orchestrator
|
Симптомы:
- XTTS работает, но через время падает с OOM
- После синтеза нескольких аудио система зависает
Причина: vLLM (50%, ~6GB) + XTTS (~5GB) не помещаются в 12GB GPU
Решения:
- Используйте XTTS только для коротких фраз (<100 символов)
- Переключитесь на Piper (работает на CPU, 0 GPU памяти)
- Уменьшите vLLM
gpu_memory_utilizationдо 0.4 вdocker-compose.yml - Используйте OpenVoice (требует меньше GPU памяти)
Симптомы:
- Статус "stopped" в Admin Panel → Telegram Bots
- Ошибка в логах: "Unauthorized"
Проверка:
# Логи бота (ID из админки)
cat logs/telegram_bot_1.log
# Или в реальном времени
tail -f logs/telegram_bot_1.logРешения:
| Ошибка | Решение |
|---|---|
| "401 Unauthorized" | Неверный токен — получите новый у @BotFather |
| "Conflict: terminated by other getUpdates" | Бот запущен в другом месте — остановите дубликат |
| "Network error" | Проверьте интернет-соединение |
Причины:
- LLM backend не настроен: Admin Panel → Telegram Bots → [Bot] → AI Settings → выберите LLM backend
-
vLLM недоступен: проверьте
curl http://localhost:11434/v1/models - Cloud LLM провайдер выключен: Admin Panel → Services → LLM → Cloud Providers → включите провайдера
- Ошибка в промпте: проверьте системный промпт бота на корректность
Дебаг:
# Проверить статус бота
curl -X GET http://localhost:8002/admin/telegram/bots/1 \
-H "Authorization: Bearer <token>"
# Отправить тестовое сообщение
curl -X POST http://localhost:8002/admin/telegram/bots/1/test \
-H "Authorization: Bearer <token>"YooMoney (ЮMoney):
- Проверьте Payment Config в настройках бота
- Убедитесь, что указан корректный webhook URL
- Проверьте секретный ключ в настройках ЮMoney
Telegram Stars:
- Убедитесь, что Stars включён в настройках бота (Payment tab)
- Проверьте, что бот имеет права на приём платежей (@BotFather → /mybots → Bot Settings → Payments)
Симптомы:
- Скрипт
ai-chat-widget.jsзагружается, но иконка не появляется - Консоль браузера: "Widget instance disabled"
Причины:
| Проблема | Решение |
|---|---|
| Виджет выключен | Admin Panel → Chat Widgets → включите виджет |
| Домен не в whitelist | Добавьте домен в allowed_domains (например: example.com) |
/widget/status возвращает enabled: false
|
Проверьте статус виджета через API |
Проверка статуса (публичный эндпоинт):
curl http://localhost:8002/widget/status?instance_id=123
# Ответ: {"enabled": true, "name": "My Widget"}Симптомы:
- Браузер блокирует запросы к API
- Ошибка "Access-Control-Allow-Origin"
Решение: ai-chat-widget.js автоматически добавляет заголовок Access-Control-Allow-Origin: *. Если проблема сохраняется:
- Проверьте, что используете актуальную версию виджета
- Убедитесь, что tunnel URL корректен (ngrok, cloudflare, etc.)
- Проверьте настройки CORS в orchestrator (должно быть разрешено
*для widget endpoints)
Симптомы:
- OAuth redirect не работает
- Ошибка "invalid_client"
- Таймаут при тесте подключения
Решения:
| Проблема | Решение |
|---|---|
| Неверный subdomain | Проверьте: должно быть yourcompany (не yourcompany.amocrm.ru) |
| Неверный client_id / secret | Скопируйте из настроек интеграции в amoCRM |
| Неверный redirect_uri | Должен совпадать с указанным в интеграции (например: http://localhost:8002/admin/amocrm/callback) |
Для частных интеграций:
- Получите код авторизации из настроек интеграции в amoCRM
- Вставьте в Admin Panel → Services → amoCRM → "Authorization Code"
- Нажмите "Сохранить" — система обменяет код на токены
Симптомы:
- amoCRM API доступен с хоста, но не из Docker контейнера
- Ошибка "Connection timeout"
Причина: VPN настроен только на хосте, Docker bridge не имеет доступа
Решение: Запустите прокси на хосте
- Запустите прокси скрипт на хосте:
python scripts/amocrm_proxy.py
# Прокси слушает на http://localhost:8899- Настройте env переменную в Docker:
AMOCRM_PROXY=http://host.docker.internal:8899- Перезапустите orchestrator:
docker compose restart orchestratorТеперь все запросы к amoCRM будут идти через хост-прокси с доступом к VPN.
Симптомы:
- Контейнер падает сразу после старта
- Ошибка:
ModuleNotFoundError: No module named 'modules'илиNo module named 'modules.claude_code.router'
Причина: Директории modules/ и whatsapp_bot/ отсутствуют в Docker образе — не прописаны в COPY инструкциях Dockerfile.
Решение: Убедитесь, что в Dockerfile (в обоих стадиях — GPU и CPU) есть строки:
COPY modules/ ./modules/
COPY whatsapp_bot/ ./whatsapp_bot/После добавления пересоберите образ:
docker compose up -d --buildСимптомы:
-
pip installпадает сModuleNotFoundError: No module named 'pkg_resources' - Ошибка при сборке Docker образа в CPU stage
Причина: Пакет openai-whisper несовместим с новыми версиями setuptools в Docker CPU образе.
Решение: В CPU стадии Dockerfile замените строку установки requirements:
# Вместо:
&& pip install -r requirements.txt
# Используйте:
&& grep -v whisper requirements.txt > /tmp/req-cpu.txt && pip install -r /tmp/req-cpu.txtWhisper не нужен в CPU режиме — используется Vosk для STT.
Симптомы:
- STT не работает
- Ошибка "Model path not found"
Решение: Скачайте модель Vosk:
mkdir -p models/vosk
cd models/vosk
wget https://alphacephei.com/vosk/models/vosk-model-small-ru-0.22.zip
unzip vosk-model-small-ru-0.22.zip
mv vosk-model-small-ru-0.22 modelПуть должен быть: models/vosk/model/am/, models/vosk/model/graph/, и т.д.
Симптомы:
- OpenWebUI не видит модели
- Ошибка "Connection refused"
Причина: В Docker используется localhost, который указывает внутрь контейнера
Решение: В настройках OpenWebUI укажите:
http://172.17.0.1:11434
Это IP Docker bridge, доступный из контейнеров.
Симптомы:
- "database is locked"
- "unable to open database file"
Решения:
| Проблема | Решение |
|---|---|
| Недостаточно места на диске | Очистите диск: df -h, удалите старые логи |
| Файл БД повреждён | Восстановите из бэкапа: Admin Panel → Settings → Backup |
| Миграция не применена | Запустите миграции: python scripts/migrate_*.py
|
Проверка целостности БД:
sqlite3 data.db "PRAGMA integrity_check;"
# Ответ должен быть: ok| Сервис | Путь к логам |
|---|---|
| Orchestrator | docker logs ai-secretary-orchestrator |
| vLLM | docker logs ai-secretary-vllm |
| Telegram бот | logs/telegram_bot_{id}.log |
| GSM | logs/gsm_service.log |
# Все логи в реальном времени
docker compose logs -f
# Только orchestrator
docker compose logs -f orchestrator
# Последние 100 строк
docker compose logs --tail=100 orchestrator
# Статус сервисов
curl http://localhost:8002/health
# Мониторинг GPU
nvidia-smi -l 1Если проблема не решена:
- Проверьте Installation — возможно, пропущен шаг установки
- Изучите API-Reference — убедитесь, что запросы корректны
- Откройте issue на GitHub с логами и описанием проблемы
- Задайте вопрос в Telegram-чате проекта
← API-Reference | Home →