Commit Graph

17 Commits

Author SHA1 Message Date
Дмитрий d6526bdadf feat(jivo-bot): статья «Откуда берутся заявки и законно ли это» (формулировка владельца)
Владелец 12.07.2026 дал суть: номера передают операторы связи, и только по тем
абонентам, кто дал согласие на передачу данных третьим лицам и на рекламные
предложения. Раньше бот на «а где вы берёте эти номера?» честно эскалировал —
теперь отвечает сам, юридически корректно.

+ otkuda-zayavki.md: источник данных (операторы связи), согласие абонента как
основание, 152-ФЗ, никаких «слитых» баз; практика для клиента (звонить можно
и нужно быстро, вежливо завершать при отказе); честная оговорка «заявка —
интерес, не гарантия продажи»; юрвопросы → живой специалист.

Границы держатся (проверено живьём): «какой конкретно оператор — Билайн? МТС?» →
эскалация; «эти номера только мне достаются?» → эскалация (эксклюзивность —
жёсткая стоп-тема). Поставщик и модель распределения не раскрываются.

TDD: тест на РЕАЛЬНОЙ базе знаний (3 формулировки вопроса → статья про операторов).
42/42 зелёные.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 11:18:11 +03:00
Дмитрий 340375a47f feat(jivo-bot): статья «О сервисе» — зачем нужна Лидерра и чем отличается
Живой урок владельца 12.07.2026: на «зачем лидерра нужна и чем отличается
от конкурентов» бот понял «конкурентов» буквально и рассказал про раздел
«Конкурентное поле». Ценностного предложения в базе знаний просто не было.

+ o-servise.md: оплата за результат (нет абонплаты), 7 ступеней, прозрачные
списания, управление лимитами/регионами/паузой, никаких обязательств, старт
за минуты + 1000₽ новичку, заявки сразу в CRM, кому подходит, честная оговорка
«заявка — это интерес, а не гарантированная продажа».

TDD: тест ищет на РЕАЛЬНОЙ базе знаний (help:rebuild-knowledge внутри теста) —
топ-1 по вопросу не должен быть «Конкурентное поле». 41/41 зелёные.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 11:11:24 +03:00
Дмитрий 9847ed749d feat(jivo-bot): всеобъемлющая клиентская инструкция — 15 статей + защита секретов
Разведка портала 5 агентами (экраны, биллинг/настройки, Конкурентное поле,
все подсказки (?), внутренние правила) → база знаний бота выросла 4 → 15 статей:
начало работы (что такое заявка, подарок 1000₽), проекты (лимиты/регионы/дни,
правило 18:00 МСК), тарифы (7 ступеней, списание по факту), пополнение (100₽,
карта/счёт/акт), баланс и пауза (разморозка «всё-или-ничего»), сделки и канбан
(5 статусов, экспорт), Конкурентное поле (сбор 300₽/изучение 50₽, очередь,
ручной режим, дубли, метки номеров), смена источника, настройки и 2FA,
уведомления, импорт CSV, API/webhook, мобильная версия, дашборд, поддержка.

Защита коммерческой тайны (проверено агентом-цензором — 15/15 статей чисто):
ни слова про поставщика/каналы/закупку и про то, что заявка может уйти не только
одному клиенту; вопросы об эксклюзивности и перепродаже — жёсткая стоп-тема
(бот не отвечает НИ В КАКУЮ сторону, зовёт живого специалиста), внутренние
движки не упоминаются, ложных обещаний (авто-возврат, «Команда») нет.

Стоп-темы разделены: HARD (деньги/скидки/юр/эксклюзив — всегда) и PERSONAL
(«мой баланс») с исключением HOWTO — «перенести мои заявки из амоцрм» больше
не уходит к человеку, бот рассказывает про импорт.

TDD: 40/40 зелёные. Живая проверка 20+ вопросов на стенде.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 11:02:23 +03:00
Дмитрий 2b8b7dd30a fix(jivo-bot): «не знаю» без кнопки экскурсии + статья про объединение дублей
Живой урок владельца 12.07.2026 («а что такое объединить дубли?»):
- LLM признался «в инструкции этого нет» (слабое ИЛИ-совпадение по общим словам),
  а мы лепили кнопку «Показать на портале» → теперь такой ответ = честная
  эскалация без кнопок (регэксп-детектор признания)
- статья konkurentnoe-pole: «Найти и объединить дубли» 🧹 — пары-двойники,
  подтверждение клиента, бесплатно, счётчик на кнопке
- TDD: тест «не знаю без кнопки», 38/38 зелёные

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 10:24:01 +03:00
Дмитрий 7dacdd68c0 feat(jivo-bot): память разговора + статья про ручное добавление конкурентов
Живой урок владельца 12.07.2026 («а сам руками я могу?» — бот талдычил про ИИ за 300₽):
- ProcessJivoMessageJob: последние 6 реплик чата → история для LLM (хвосты
  «👉 Показать…» срезаются), только СВОЙ чат
- BotAnswerService/YandexGptClient: история между system и текущим вопросом;
  пустой поиск досыпается прошлой репликой клиента
- статья konkurentnoe-pole: ручное добавление конкурента/точек/источников — бесплатно,
  кнопка «+ Добавить вручную» (фича существует, бот о ней не знал)
- TDD: 3 новых теста, все 37 зелёные

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 10:15:09 +03:00
Дмитрий ba3108e94c fix(jivo-bot): мягкий ИЛИ-поиск при пустом строгом + стоп-тема «у меня … баланс» с разрывом слов
Два живых бага демо 12.07.2026 (TDD, 34/34 зелёные):
- KnowledgeSearch: websearch_to_tsquery требует ВСЕ слова вопроса; «зачем он нужен»
  ронял поиск в пусто → добавлен мягкий запасной проход через ИЛИ (plainto | )
- BotAnswerService STOP_PATTERN: «какой у меня сейчас баланс» проскакивал стоп-тему
  (слова между «у меня» и «баланс») → допускаем до 3 слов разрыва, сч[её]т
- Протокол: журнал 12.07 (аккаунт Jivo, канал, цвет, ключ zofyNxmnRP, стенд-проверка)
- Скриншоты живой проверки виджета в findings

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 09:30:53 +03:00
Дмитрий 4c66bc7474 docs(tours): этап 3 построен — протокол и спека синхронизированы 2026-07-10 08:49:42 +03:00
Дмитрий 1cca4d1714 test(tours): frontmatter tour статей сверяется с каталогом экскурсий 2026-07-10 08:49:41 +03:00
Дмитрий 7d0bfcd758 style(bot): pint — неиспользуемые импорты в трёх bot-тестах
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 08:48:51 +03:00
Дмитрий 84cd60aa00 test(bot): бюджет скорости — p95 нашей части тракта < 500мс 2026-07-10 08:48:50 +03:00
Дмитрий 94e6c060d2 feat(bot): JivoBotController — webhook /api/webhook/jivo/{secret}, мгновенный ack 2026-07-10 08:48:50 +03:00
Дмитрий ea1ef833a1 feat(bot): ProcessJivoMessageJob — оркестратор, очередь bot, журнал+latency 2026-07-10 08:48:49 +03:00
Дмитрий 27b93dec35 feat(bot): BotAnswerService — стоп-темы, строгий промпт, tour-ссылка под флагом 2026-07-10 08:48:49 +03:00
Дмитрий fac46eff55 feat(bot): KnowledgeSearch — FTS russian top-N с ранжированием 2026-07-10 08:48:47 +03:00
Дмитрий 1c01fdc29e feat(bot): help:rebuild-knowledge — индексация статей в knowledge_chunks + schedule 04:30 2026-07-10 08:48:45 +03:00
Дмитрий f5ca0d52b1 feat(bot): таблица bot_dialogs — журнал диалогов бота 2026-07-10 08:46:47 +03:00
Дмитрий 8773f6ba0e feat(bot): таблица knowledge_chunks — база знаний бота (FTS russian + GIN) 2026-07-10 08:46:46 +03:00