Бобер Боб
Платформа складского учёта
Платформа складского учёта · Release notes · v0.25.0

История версий — v0.25.0

Добавлена страница «Карточки клиентов» (/admin/client-cards, группа «Чаты»): список карточек клиентов бота bober-bob-client с синхронизацией с живым n8n-telegram.ipd.by (первоисточник). Персональный контекст клиента хранится в файле ai-kb/bots/bober-bob-client/clients/{telegram_id}.md на n8n-telegram и при разговоре подгружается ботом. Управление из админки bober-bob: просмотр списка (данные с живого через api/clients_list.php), создание новой карточки, редактирование и удаление. Запись/правка идёт через admin/action.php живого n8n-telegram (import_contact, kb_save, delete_contact) с использованием нового N8N_TELEGRAM_ADMIN_TOKEN из .env. Добавлен селектор ботов, детальный просмотр карточки с историей чата, подтверждение удаления и тосты об успехе/ошибке. Версия обновлена до v0.25.0.

minor Выпущена 01.08.2026
v0.25.0 minor от 01.08.2026

Карточки клиентов для бота bober-bob-client

Страница «Карточки клиентов»

  • Список клиентов — загрузка с живого n8n-telegram (api/clients_list.php: support-clients.md + clients/*.md + chat_history/*.md), кеш 60 сек, refresh=0 байпас кеша
  • Детали карточки — имя, telegram_id, бот, персональный контекст (markdown) и история чата (последние ходы)
  • Селектор ботов — переключение между ботами n8n-telegram (по умолчанию bober-bot-client)
  • Создание/редактирование — модал с полями (имя, telegram_id, контекст); создание через action.php create_client_card + kb_save, правка через import_contact/kb_save
  • Удаление — delete_contact с подтверждением; тосты об успехе/ошибке

API n8n-telegram

  • api/clients_list.php — POST с secret + target_bot_id; парсит support-clients.md, clients/*.md, chat_history/*.md; отдаёт {ok, target_bot_id, count, clients[]}
  • admin/action.php — AJAX-ответы JSON при ajax=1 или X-Requested-With: XMLHttpRequest для delete_contact, kb_save, create_client_card, import_contact (hub_ajax_reply)
  • Права — ai-kb/bots/bober-bot-client на живом: www-data:www-data (755, файлы 644); 11 эталонных файлов синхронизированы с локалью

Backend bober-bob

  • N8N_TELEGRAM_ADMIN_TOKEN — добавлен в .env/.env.example, ключ config/services.php admin_token
  • N8nTelegramService — getClients (кеш 60 сек, refresh=0 байпас), saveClientCard, deleteClientCard, createClientCard, saveClientFile, приватный postAdminAction (form POST на action.php?token=..., заголовок X-Requested-With)
  • ClientCardsController — index/save/delete/create; маршруты GET /admin/client-cards/data, POST /admin/client-cards/save|delete|create
  • Filament-страница — ClientCards (slug client-cards, группа «Чаты», navigationSort=13) + blade-шаблон

Технически

  • config/app.php — версия 0.24.6 → 0.25.0
  • routes/web.php — /about: блок 0.25.0
  • Тесты — ClientCardsTask75Test: рендер страницы, auth, index-клиенты, кеш/refresh, unknown bot 404, API error surface, save/delete/create, валидация, отсутствие утечки секретов (12 тестов, 35 ассертов)
  • Проверка — полный php artisan test зелёный (кроме предсуществующего ExampleTest 302); live-проверки api/clients_list.php (count=2) и action.php (kb_save → {"ok":true}) на живом n8n-telegram.ipd.by
← Ко всем версиям