📘 AI Sales Mentor — Инструкция

← На дашборд
1

DNS и Traefik

✅ Готово

Создайте A-запись для поддомена:

Тип: A
Имя: mentor
Значение: 45.152.87.93
TTL: 300
DNS уже настроен: mentor.ii.dist.by → 45.152.87.93

Проверка:

dig mentor.ii.dist.by +short
# → 45.152.87.93
2

Настройка Traefik

✅ Готово

Конфиг уже создан, нужно скопировать на сервер:

scp /home/n8n/.openclaw/workspace/traefik/mentor.yml \
    root@45.152.87.93:/etc/traefik/dynamic/mentor.yml

Перезапустить Traefik:

ssh root@45.152.87.93 "docker restart traefik"
После этого https://mentor.ii.dist.by будет доступен
3

База данных

✅ Готово

База данных MySQL работает внутри Docker-контейнера moodle-db.

Проброшен порт 3307 на хост:

docker exec moodle-db mysql -u root -p'moodle_root_2026' -e "
  CREATE DATABASE IF NOT EXISTS ai_sales_mentor
    CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  CREATE USER IF NOT EXISTS 'mentor_user'@'%'
    IDENTIFIED BY 'MentorPass2026!';
  GRANT ALL ON ai_sales_mentor.* TO 'mentor_user'@'%';
  FLUSH PRIVILEGES;
"
Доступ: mentor_user@45.152.87.93:3307

Таблицы (5):

  • students — ученики (telegram_id, email, имя)
  • learning_state — состояние (текущая тема, уровень, прогресс)
  • answer_log — лог ответов (вопрос, ответ, оценка)
  • topic_metrics — метрики по темам (score, статус, попытки)
  • sessions — сессии работы агента
4

Админ-панель (Flask)

✅ Готово

Flask-приложение запущено на 45.152.87.93:5481.

Ручной запуск:

cd /home/n8n/.openclaw/workspace/landings/ai-sales-mentor
DB_PORT=3307 python3 admin_panel.py
# → http://0.0.0.0:5481

Создание systemd-сервиса (рекомендуется):

ssh root@45.152.87.93 "cat > /etc/systemd/system/ai-sales-mentor.service" << 'EOF'
[Unit]
Description=AI Sales Mentor Admin Panel
After=network.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/home/n8n/.openclaw/workspace/landings/ai-sales-mentor
ExecStart=/usr/bin/python3 admin_panel.py
Restart=always
RestartSec=10
Environment=DB_HOST=127.0.0.1
Environment=DB_PORT=3307
Environment=DB_USER=mentor_user
Environment=DB_PASS=MentorPass2026!
Environment=DB_NAME=ai_sales_mentor
Environment=PORT=5481

[Install]
WantedBy=multi-user.target
EOF
ssh root@45.152.87.93 "systemctl daemon-reload && systemctl enable ai-sales-mentor && systemctl restart ai-sales-mentor"
5

Telegram Webhook (агент-ментор)

✅ Готово

Webhook-сервер на порту 5484 принимает сообщения от OpenClaw Gateway и обрабатывает их.

Запуск:

cd /home/n8n/.openclaw/workspace/landings/ai-sales-mentor
WEBHOOK_PORT=5484 python3 webhook_server.py

Тест:

curl -X POST http://127.0.0.1:5484 \
  -H "Content-Type: application/json" \
  -d '{"text":"/start","user_id":"201526071"}'
Агент-ментор использует Socratic Method — никогда не даёт готовых ответов, только наводящие вопросы
6

LLM-генерация вопросов (OpenClaw eval)

🔄 Включено

Вопросы генерируются через openclaw eval, который вызывает LLM.

Как это работает:

# telegram_bot.py → generate_mentor_response():
prompt = """
Системный промпт (Socratic Mentor)...
Контекст (тема, уровень, streak, ошибки)...
Сообщение ученика...
"""

result = subprocess.run(
    ["openclaw", "eval", "--prompt", prompt],
    capture_output=True, text=True, timeout=30
)

Если LLM недоступна — используется fallback с шаблонными вопросами.

Модель: zai/glm-5.1 (через OpenClaw Gateway)
7

Реферальные ссылки

✅ Готово

Генерация реферальной ссылки для приглашения учеников:

# API: генерация ссылки
GET http://mentor.ii.dist.by/api/referral/generate

# Ответ:
{
  "token": "a1b2c3d4e5f6",
  "registration_url": "http://mentor.ii.dist.by/register?ref=a1b2c3d4e5f6",
  "telegram_url": "https://t.me/AIPomogaikaBot?start=ref_a1b2c3d4e5f6"
}

Статистика по реферальному коду:

GET http://mentor.ii.dist.by/api/referral/{token}/stats
Ссылка для регистрации: https://mentor.ii.dist.by/register?ref=ВАШ_КОД
8

Добавление новых тем/модулей

📝 Редактирование

Курсовая структура хранится в JSON:

/home/n8n/.openclaw/workspace/landings/ai-sales-mentor/course_structure.json

Чтобы добавить тему:

// Внутри нужного модуля → topics[]
{
  "id": "M2T4",
  "title": "Название темы",
  "description": "Описание",
  "difficulty": 3,
  "prerequisites": ["M2T1"],
  "competencies": ["skill_name"],
  "kpis": {
    "questions_answered": 5,
    "min_correct_percent": 70
  }
}

// В edges[] добавить связи
["M2T3", "M2T4"],
["M2T4", "M3T1"]

После изменения — перезапустить админ-панель.

Не забудьте также обновить SKILL.md если меняете логику агента