Панель управления → Интеграции — подключение источников контента и каналов доступа к знаниям.


#Источники контента

#Подключённые (всегда активны)

Источник Описание
Редактор LiKE Встроенный AI-редактор для создания статей
Импорт файлов Загрузка PDF, DOCX, TXT, MD, RTF, ZIP
Импорт по ссылке Google Docs, Dropbox, прямые ссылки на файлы

#Доступные коннекторы

Источник Описание Режим
Wiki.js Импорт или синхронизация статей Sync / Import
Confluence Импорт из Atlassian Confluence Cloud (OAuth) Sync / Import
Notion Импорт страниц и баз данных Sync / Import
GitHub Синхронизация Wiki и Markdown-файлов из репозиториев Sync / Import
GitLab Синхронизация Wiki и Markdown-файлов из проектов Sync / Import
Gitea Синхронизация Wiki и Markdown-файлов из self-hosted Gitea Sync / Import
Web-коннектор Страницы вашего публичного сайта: по карте sitemap или обходом по ссылкам Sync

Число подключённых источников ограничено тарифом. Когда лимит занят, кнопка «Подключить» у источников неактивна — отключите один или перейдите на тариф выше. Боты Slack и Telegram под этот лимит не попадают.


#Подключение GitHub

#Шаг 1 — Авторизация

  1. В LiKE перейдите в Интеграции → GitHub → «Подключить»
  2. Выберите способ авторизации:
Способ Описание
Personal Access Token (PAT) Создайте токен в GitHub → Settings → Developer settings → Personal access tokens. Fine-grained (рекомендуется): Repository access + Permissions → Contents: Read-only (Metadata: Read добавится автоматически); для репозиториев организации токен должен одобрить её владелец. Classic: scope repo. Enterprise: укажите Base URL https://ХОСТ/api/v3
OAuth Авторизация через GitHub App — нажмите «Авторизовать» и подтвердите доступ

#Шаг 2 — Выбор контента

  1. После подключения отображается дерево репозиториев с папками и файлами
  2. Отметьте галочками конкретные файлы или папки для импорта (Selective Sync)
  3. Поддерживаемые форматы: .md, .mdx, Wiki-страницы

#Шаг 3 — Запуск синхронизации

  1. Нажмите «Синхронизировать»
  2. Прогресс отображается в реальном времени
  3. После завершения — статьи появятся в списке с меткой GitHub

#Подключение GitLab

#Шаг 1 — Авторизация

  1. В LiKE перейдите в Интеграции → GitLab → «Подключить»
  2. Выберите способ авторизации:
Способ Описание
Personal Access Token (PAT) Создайте токен в GitLab → Preferences → Access Tokens. Scopes: api и read_user; роль токена — не ниже Reporter (Guest не видит код). Подходит для GitLab.com и self-hosted (для self-hosted укажите Base URL инстанса)
OAuth Авторизация через GitLab Application — нажмите «Авторизовать»

#Шаг 2 — Выбор контента

  1. Отображается дерево проектов с Wiki-страницами и Markdown-файлами
  2. Отметьте конкретные страницы для импорта (Selective Sync)

#Шаг 3 — Запуск синхронизации

Аналогично GitHub — нажмите «Синхронизировать», дождитесь завершения.


#Подключение Gitea

Gitea — self-hosted git-платформа. Подключается через Personal Access Token и обязательный URL вашего инстанса (облачного Gitea по умолчанию нет).

#Шаг 1 — Создайте токен в Gitea

  1. В Gitea откройте Settings → Applications → Generate New Token
  2. Выдайте scopes read:repository и read:user
  3. Скопируйте токен

#Шаг 2 — Подключите в LiKE

  1. В LiKE перейдите в Интеграции → Gitea → «Подключить»
  2. Укажите Base URL вашего инстанса (например https://gitea.company.com) — поле обязательное, без него подключение не пройдёт
  3. Вставьте токен
  4. Выберите, куда положить статьи (Пространство и папку в нём — или создайте новые), и режим (Синхронизация — постоянное зеркало / Импорт — разовая копия)

OAuth 2.0 тоже поддерживается, если администратор Gitea заранее настроил OAuth-приложение. Основной путь — токен.

#Шаг 3 — Выбор контента и синхронизация

  1. Отобразится дерево репозиториев с Wiki-страницами и Markdown-файлами (.md, .mdx)
  2. Отметьте нужные узлы (Selective Sync) и нажмите «Синхронизировать»
  3. Для авто-обновления при push настройте webhook — секрет генерируется в карточке коннектора. Статьи из Gitea read-only (как у GitHub/GitLab)

#Выбор файлов и фильтры синхронизации (GitHub, GitLab, Gitea)

Для git-источников (GitHub, GitLab и Gitea) логика выбора, что синхронизировать, более тонкая, чем простое «вкл/выкл репозитория»:

#Что попадает в синхронизацию

Источник внутри репозитория Включается
Wiki-страницы (<repo>.wiki) По умолчанию все Wiki-страницы выбранного репозитория
Markdown файлы в основном дереве (*.md, *.mdx) По умолчанию все Markdown-файлы, если не настроены фильтры
README.md Включается как отдельная статья с названием = <repo-name> · README
Документация в /docs/** Включается, если папка есть; имя статьи берётся из заголовка # ... или filename
Не-Markdown файлы (.txt, .rst, .json, код) Не синхронизируется автоматически — LiKE не парсит произвольные форматы

#Path-фильтры (selective sync)

Можно сузить, что именно брать из репозитория:

Path filters
+ docs/** + guides/*.md − internal/**
Только файлы из docs/ и guides/, исключая internal/
Префикс Действие
+ path/pattern Include — включить файлы по pattern (glob-синтаксис)
- path/pattern Exclude — исключить файлы из синхронизации
(пусто) Без фильтров: все Wiki + все .md/.mdx в репозитории

#Обнаружение изменений (recent changes)

LiKE не «качает всё» при каждом запуске синка. Используется детектирование изменений:

  • GitHub — через webhook (рекомендуемый) или polling с использованием If-Modified-Since headers. Webhook реагирует на push моментально, polling — раз в 6/12/24/48 часов (зависит от автосинхронизации).
  • GitLab — аналогично: webhook или polling по last_activity_at через Projects API.
  • Gitea — webhook (подпись X-Gitea-Signature) или polling. Push-триггер срабатывает только при изменении *.md/*.mdx.

После обнаружения изменения — синхронизируются только затронутые файлы, остальной корпус не пересчитывается. Это сильно экономит API-квоты GitHub/GitLab и время выполнения.

#Branch и теги

Параметр Значение по умолчанию
Branch Дефолтная ветка репозитория (обычно main / master)
Альтернативная ветка Можно явно указать (например, синхронизировать с release/v2)
Tag-based sync Опционально: синхронизация по тегу версии (например, документация для версии v3.0)
Multi-branch Pro+: можно синхронизировать несколько веток параллельно как разные статьи

#История и конфликты

  • История синхронизаций — в карточке коннектора вкладка «История»: дата, статус ( ok / warnings / error), количество добавленных / обновлённых / удалённых статей, длительность запуска. Полезно для дебага «почему статья из репозитория не появилась».
  • Конфликты редактирования — если статья из источника была отредактирована в LiKE (для GitHub/GitLab по умолчанию это запрещено — статьи read-only). Если режим Import (одноразовая копия) — статьи становятся редактируемыми и связь с источником обрывается.

#Selective Sync для других коннекторов

Notion, Confluence, Wiki.js — у них своя логика выбора (дерево страниц), но принцип тот же:

  1. При подключении отображается дерево контента источника
  2. Чекбоксы — отметить нужные узлы
  3. Остальное не импортируется
  4. При повторной синхронизации обновляются только выбранные элементы

#Подключение Wiki.js

#Шаг 1 — Получите API-токен Wiki.js

  1. Откройте вашу Wiki.js → Administration → API Access
  2. Включите API (если выключен)
  3. Нажмите New API Key
  4. Назовите ключ (например LiKE Integration)
  5. Группа: Administrators (нужен доступ ко всем страницам)
  6. Expiration: без срока или на 1 год
  7. Скопируйте сгенерированный токен

#Шаг 2 — Подключите в LiKE

  1. В LiKE перейдите в Интеграции → Wiki.js → «Подключить»
  2. Введите URL вашей Wiki.js (например https://wiki.company.com)
  3. Вставьте API-токен
  4. Выберите режим:
Режим Описание
Синхронизация Постоянная связь — изменения в Wiki.js автоматически появляются в LiKE
Импорт Одноразовое копирование всех статей
  1. Нажмите Сохранить

#Шаг 3 — Настройте синхронизацию

Параметр Описание
Автосинхронизация Включить/выключить автоматическое обновление
Интервал Каждые 6, 12, 24 или 48 часов
Язык Фильтр по языку статей (все / конкретный)

#Подключение Confluence

Confluence подключается через OAuth 2.0 — безопасная авторизация без ввода паролей.

#Шаг 1 — Подключите сайт Confluence

  1. Нужен Confluence Cloud — адрес вида ваша-компания.atlassian.net. Confluence Server и Data Center не поддерживаются
  2. Нажмите «Подключить» и войдите в свою учётную запись Atlassian
  3. В окне доступа выберите свой сайт Confluence и нажмите «Accept». LiKE увидит только то, что доступно вам
  4. Видите «Access denied»? Проверьте на start.atlassian.com, что у вашей учётной записи есть сайт Confluence. Если сайт есть, попросите администратора Atlassian разрешить подключение приложений: admin.atlassian.com → Apps → ваш сайт → Connected apps → Settings → выключить «Block user apps»

Проверьте права — LiKE запрашивает только чтение: содержимое страниц и список пространств

#Шаг 2 — Куда положить статьи и что забирать

Откройте «Настроить» на карточке Confluence:

Параметр Описание
Пространство для статей Пространство и Куда положить — папка внутри пространства, в которую лягут статьи. Нет подходящей — Создать коллекцию внутри или Создать новое пространство. Само пространство целью быть не может
Что синхронизировать Дерево Confluence справа: пространства и их страницы. Перечитывается при каждом открытии
Расписание Галочка «Включено» — автоматическое обновление по интервалу
Интервал синхронизации Каждые 1, 2, 4, 6, 12 или 24 часа
Удалять статьи при удалении из источника Включено — страница, удалённая в Confluence, удаляется и в LiKE, в том числе уже помеченная. Выключено — статья остаётся с пометкой «Удалена в источнике», решаете вы

Нажмите «Синхронизировать».

#Как работает выбор

Что отмечено Что забирает синхронизация
Пространство целиком Все его страницы — в том числе те, что появятся в Confluence позже. Статьи пространства лежат в своей папке
Отдельные страницы Только отмеченные; новые страницы пространства не забираются

Пока ничего не отмечено, синхронизировать нечего — карточка так и скажет. Снятое пространство удаляется из LiKE вместе со своей папкой.

#Что не переносим

  • Личные пространства — их нет в дереве: это личные заметки сотрудников, а название — имя человека.
  • Упоминания людей — у упоминания с подписью остаётся текст подписи, упоминание без подписи убирается; исполнители задач не переносятся. Идентификаторы и профили пользователей Atlassian LiKE не хранит.

Статьи из Confluence — read-only. Для редактирования измените оригинал в Confluence, LiKE обновит при следующей синхронизации.

При отключении Confluence вы можете сохранить копию статей в LiKE (станут редактируемыми) или удалить их.


#Подключение Notion

#Шаг 1 — Создайте интеграцию в Notion

  1. Откройте Notion → нажмите на ваш аватар (левый верхний угол) → Settings
  2. В меню слева выберите My connections (или Integrations)
  3. Нажмите Develop or manage integrations → New integration
  4. Введите название (например LiKE Import), выберите workspace
  5. Нажмите Submit → скопируйте Internal Integration Secret (начинается с ntn_; у старых интеграций — с secret_)

#Шаг 2 — Дайте интеграции доступ к страницам

Интеграция по умолчанию не имеет доступа ни к каким страницам. Нужно явно разрешить:

  1. Откройте в Notion каждую страницу (или родительскую страницу/базу данных), которую хотите импортировать
  2. Нажмите ⋯ (три точки, правый верхний угол) → Connect to → выберите вашу интеграцию LiKE Import
  3. Подтвердите доступ
Совет: Дайте доступ к корневой странице — все дочерние страницы автоматически станут доступны интеграции. Не нужно подключать каждую страницу отдельно.

#Шаг 3 — Подключите в LiKE

  1. В LiKE → Панель управления → Интеграции → Notion → «Подключить»
  2. Вставьте Integration Secret (скопированный на шаге 1)
  3. Выберите, куда положить статьи: Пространство и папку внутри него — или создайте новую папку или новое пространство прямо здесь
  4. Выберите режим:
Режим Описание
Синхронизация Постоянная связь — изменения в Notion автоматически появляются в LiKE. Статьи read-only
Импорт Одноразовое копирование. Статьи становятся редактируемыми в LiKE
  1. На шаге «Выбор контента» отметьте, что забирать: каталоги целиком или отдельные страницы. Каталог — это корневая страница или база данных, к которой вы дали доступ на шаге 2. Пока ничего не отмечено, мастер дальше не пускает
  2. Нажмите «Подключить и синхронизировать» — статьи каждого каталога лягут в свою папку внутри папки, выбранной на шаге 3

#Как работает выбор

Что отмечено Что забирает синхронизация
Каталог целиком Все его страницы — в том числе те, что появятся в Notion позже
Отдельные страницы Только отмеченные; новые страницы этого каталога не забираются

Страницы без текста — например, записи базы данных с одними свойствами — статьями не становятся. Карточка Notion показывает, сколько их пропущено: «пропущено пустых страниц: N».

#Шаг 4 — Настройки

Откройте «Настроить» на карточке Notion:

Параметр Описание
Пространство для статей Пространство и Куда положить — папка, внутри которой лежат папки каталогов. Можно выбрать другую или создать новую
Что синхронизировать Дерево Notion справа. Перечитывается при каждом открытии — новые страницы выбранных каталогов уже отмечены. Отметки можно менять в любой момент: снятый каталог удаляется из LiKE вместе со своей папкой
Расписание Галочка «Включено» — автоматическое обновление по интервалу
Интервал синхронизации Каждые 1, 2, 4, 6, 12 или 24 часа
Удалять статьи при удалении из источника Включено — страница, удалённая в Notion, удаляется и в LiKE, в том числе уже помеченная. Выключено — статья остаётся с пометкой «Удалена в источнике», решаете вы

При отключении Notion вы можете сохранить копию статей в LiKE (станут редактируемыми) или удалить их.


#Web-коннектор

Web-коннектор подключает страницы вашего сайта к LiKE за пару минут. Вставьте адрес — LiKE найдёт страницы по карте сайта (sitemap) или обходом ссылок, заберёт их текст и будет держать копию в актуальном состоянии. По этим страницам сразу работает AI-поиск LiKE, а при необходимости на сайт ставится виджет поиска — для клиентов или для сотрудников.

Подходит, когда документация или справка уже опубликована — на своём домене, в Docusaurus, GitBook, Docsify и подобных. Сайт должен быть публичным. Одна организация подключает один сайт.

#Шаг 1 — адрес и способ поиска страниц

Интеграции → Web-коннектор → Подключить. Вставьте адрес — можно любой страницы, сайт мы возьмём целиком.

Как искать страницы:

  • По карте сайта — по умолчанию. Карту ищем сами: сначала по robots.txt, затем по /sitemap.xml;
  • Карты сайта нет — обойти по ссылкам — идём по ссылкам с главной страницы в пределах этого сайта; задайте Глубину обхода. Страницы, которые сайт рисует скриптом, обход не увидит.

Нажмите Проверить сайт. Если карта не нашлась, мастер предложит включить обход по ссылкам и проверить снова.

#Шаг 2 — что заберём

Проверка ничего не сохраняет: она показывает, сколько страниц найдено и сколько будет добавлено. Если объём не помещается в тариф, мастер скажет об этом сразу, а не после обхода.

  • Языковая версия — появляется, если сайт отдаёт страницы на нескольких языках. Выберите, какую забрать; числа и папки пересчитаются под неё.
  • Что заберём с сайта — список папок, которые получатся в базе, с числом страниц в каждой. Отмечено — забираем; снятую папку можно вернуть. Счётчик Выбрано учитывает только отмеченные.
  • Архивы рубрик и меток — перечни ссылок на статьи, которые и так попадут в базу, — по умолчанию не забираются; отметьте, если нужны.
  • Если сайт разложен по годам, каждый год становится своей папкой. Когда лет три и больше, отмечены два самых свежих года сайта; остальные можно отметить вручную.
  • Главная страница сайта становится отдельной статьёй в папке «Главная».
  • Сколько страниц брать за прогон — наша настройка, а не размер сайта: остальное заберут следующие прогоны.

Принадлежность страницы папке видна только из самой страницы, поэтому проверяется больше страниц, чем будет добавлено; мастер показывает оба числа.

Подсказка: что брать (только при обходе по ссылкам). Кнопка Спросить модель предлагает, какие группы адресов брать, а какие нет, — с причинами. Это предложение, а не решение: отметьте, с чем согласны. Расход учитывается как у ИИ-операций редактора; ответ запоминается и пересчитывается только кнопкой Пересчитать.

#Шаг 3 — как сохранять и куда положить

Как сохранять страницы:

  • Внутренними — видит только команда — по умолчанию;
  • Публичными — видны всем.

Если выбранная папка уже открыта для всех, мастер предупредит об этом и предложит Публичными: страницы в такой папке доступны всем. Чтобы их видела только команда, выберите Внутренними — тогда они останутся скрытыми и в открытой папке. В закрытой папке внутренние страницы следуют её доступу: если позже сделать папку публичной, они откроются вместе с ней — после проверки на персональные данные.

Для публичного доступа нужны обе отметки: что у вас есть права на сайт и его содержимое и что персональные данные на сайте опубликованы законно и вы вправе сделать их доступными в поиске и ответах ассистента. Без них кнопка Подключить не активна. Согласие записывается — кто, когда и какой текст подтвердил — и действует на все статьи этого сайта: при их публикации персональные данные не нужно подтверждать для каждой статьи отдельно. На статьи, написанные в редакторе, это не распространяется. Чтобы отозвать согласие, отключите сайт и подключите его заново с выбором «Внутренними».

Куда положить: выберите Пространство и папку внутри него. Нужной папки нет — Создать коллекцию внутри, нужного пространства нет — Создать новое пространство: они создаются при подключении. Само пространство целью быть не может, а папка должна быть пустой: в папку источника кладёт только сам коннектор.

После Подключить обход начинается сразу: прогресс виден на карточке коннектора («Синхронизируем 22 из 92 выбранных») и в общем индикаторе фоновых задач.

#Что забирается, а что нет

  • берётся содержимое страницы — без меню, шапки и подвала сайта;
  • папки отмечаются в мастере и позже в настройках коннектора (Настроить → Папки сайта);
  • служебные разделы вроде поиска и тегов пропускаются по умолчанию;
  • Сколько страниц брать за прогон ограничивает один прогон — защита от огромных сайтов;
  • страницы, закрытые в robots.txt, не забираются; их число видно в итоге прогона;
  • в ответе ассистента и в шапке статьи есть ссылка Открыть на сайте — на исходную страницу.

#Повторные обновления

При включённом Обновлять автоматически мы перечитываем сайт по расписанию. Заново индексируются только изменившиеся страницы — в итоге прогона так и написано: «добавлено», «обновлено», «без изменений». Неизменившиеся не тратят лимит индексации.

Удалять статьи, пропавшие в источнике — по умолчанию выключено: если страница исчезла с сайта, статья останется в базе с пометкой «пропала в источнике». Включите, если копия должна строго повторять сайт.

Смена языковой версии после подключения (Настроить → Языковая версия) меняет состав источника. Статьи прежней версии сайт больше не обновляет, поэтому LiKE спросит, что с ними сделать: Удалить или Оставить как свои (станут редактируемыми). Без ответа настройка не сохраняется.

#Какие сайты подойдут, а какие нет

Подойдёт публичный сайт — с картой (sitemap), как у большинства генераторов документации, или без неё при обходе по ссылкам. Остальное мы честно отклоняем на шаге проверки, а не выясняем это после подключения:

Что мешает Что вы увидите
Карты сайта нет — ни в robots.txt, ни по /sitemap.xml Мастер предложит перейти на обход по ссылкам
По адресу карты лежит не XML — обычно так отвечает защита от ботов Подключение не начнётся
Карта есть, но после фильтров в ней не осталось страниц Подключение не начнётся
robots.txt запрещает обход всего сайта Подключение не начнётся
robots.txt недоступен из-за ошибки сервера Подключение не начнётся: «нет ответа» — не то же самое, что «разрешено»
Сайт закрыт паролем или доступен только из внутренней сети Страницы прочитать нельзя
Содержимое рисуется скриптами уже в браузере Страница может оказаться почти пустой — мы читаем HTML, каким его отдал сервер

Отдельные страницы могут не попасть в базу, даже когда сайт подключился: закрытые в robots.txt, отвечающие ошибкой, тяжелее 10 МБ или отдающие не HTML. Все они попадают в итог прогона с указанием причины — «пропущено» и «закрыто robots.txt».

Файлы (PDF, ZIP, изображения) с сайта не забираются. Для них есть отдельный сценарий — импорт файлов, со своим разбором.

#Ограничения

  • один сайт на организацию;
  • сайт должен быть публичным — страницы за паролем не читаются;
  • карта сайта не обязательна: без неё работает обход по ссылкам, но он видит только то, на что с сайта есть ссылка;
  • мы соблюдаем robots.txt, включая указанную в нём паузу между запросами.

Отключение. Синхронизация прекращается, а уже загруженные статьи можно удалить или оставить как обычные — LiKE спросит об этом при отключении.


#После подключения: AI-поиск и виджет на сайте

  1. Когда обход закончится, страницы сайта участвуют в AI-поиске LiKE наравне со статьями из редактора, а ответ ссылается на исходную страницу — Открыть на сайте.
  2. Чтобы искать прямо на вашем сайте, создайте виджет: Интеграции → Каналы → JS Widget → Управлять виджетами → Создать виджет. В поле Адрес сайта, где будет стоять виджет укажите адрес этого сайта.
  3. Выберите тип виджета:
    • Публичный — ищет только публичные статьи и открыт всем посетителям. Подходит для клиентов; страницы сайта для этого сохраняйте Публичными (шаг 3).
    • Корпоративный — ищет по выбранным пространствам, включая внутренние статьи, и требует входа в аккаунт. Подходит для сотрудников.
  4. Добавьте область поиска и включите виджет. Для типа Публичный — Все публичные статьи или папку (коллекцию), куда коннектор положил страницы: пространство целиком публичный виджет охватывать не может. Для типа Корпоративный — пространство или папку со страницами сайта.
  5. Скопируйте Код вставки на сайт и вставьте его на сайт. Где это сделать в WordPress, Tilda, Wix, Webflow, Squarespace, Shopify, Framer, Google Tag Manager и Docusaurus — в статье API и виджет, раздел Где вставить код в конструкторах сайтов.

#Импорт файлов

#Загрузка файлов

  1. Панель управления → Импорт
  2. Перетащите файлы или нажмите на зону загрузки
  3. Поддерживаемые форматы: PDF, DOCX, TXT, MD, RTF, ZIP
  4. AI автоматически генерирует название и slug для каждого файла
  5. Перед публикацией можно отредактировать название или открыть в редакторе
Параметр Описание
Максимальный размер 20 МБ на файл, ZIP-архив — 24,8 МБ (больше за одну загрузку не проходит)
Пакетная загрузка До 50 файлов за раз; большой выбор отправляется частями автоматически
Язык Определяется автоматически

#ZIP-архивы

Загрузите ZIP-архив со множеством документов — LiKE автоматически распакует и обработает каждый файл. Удобно для миграции целой базы знаний.

Поддерживаемые файлы внутри ZIP: PDF, DOCX, TXT, MD, RTF. Остальные файлы (картинки, исполняемые) пропускаются.

#Импорт по ссылке

Вставьте ссылку на документ — LiKE скачает и импортирует:

  1. Панель управления → Импорт → секция «Импорт по ссылке»
  2. Вставьте URL → нажмите «Добавить»
  3. Можно добавить до 10 ссылок за раз
  4. Нажмите «Импортировать»

Поддерживаемые источники:

  • Google Docs — автоматически экспортируется как DOCX
  • Google Sheets — экспортируется как CSV
  • Dropbox — прямая ссылка на файл
  • Любой прямой URL на PDF, DOCX, TXT, MD, RTF файл

#Видимость по умолчанию

Для каждого источника можно настроить видимость по умолчанию:

  • Черновик — статьи создаются скрытыми
  • Для команды — видны авторизованным пользователям
  • Публичная — видны всем, включая анонимных

Настраивается в Интеграции → карточка источника → Видимость.


#Каналы доступа

Каналы позволяют вашим сотрудникам искать информацию через привычные инструменты.

#Slack-бот

Подключение Slack:
1. Нажмите «Подключить Slack» в разделе Интеграции
2. Авторизуйте приложение LiKE в вашем Slack workspace
3. Выберите канал для уведомлений
4. Готово — сотрудники используют /like вопрос или @LiKE

Функции:

  • /like как настроить SSO? → AI-ответ прямо в Slack
  • Упоминание @LiKE в любом канале → ответ в треде
  • Ссылки на статьи-источники (кликабельные)

#Telegram-бот

Бот отвечает на вопросы сотрудников прямо в Telegram, опираясь на вашу базу знаний.

#Шаг 1. Создайте бота в Telegram

Боты создаются не на сайте, а внутри самого Telegram — через служебный бот @BotFather. Это официальный инструмент Telegram: он выдаёт новых ботов и управляет их настройками.

Как найти. Откройте поиск в Telegram и введите BotFather. Выбирайте того, у кого рядом с именем синяя галочка — ботов с похожими именами много, и галочка единственный надёжный признак настоящего.

Как создать. Откройте чат, нажмите «Запустить», затем отправьте обычным сообщением:

/newbot

BotFather задаст два вопроса:

  1. Название бота — видно участникам чата. Может быть на любом языке и с пробелами, например Помощник Lynkora.
  2. Адрес бота — по нему бота находят в поиске. Только латиница, цифры и подчёркивания, обязательно оканчивается на bot: например lynkora_help_bot. Если адрес занят, BotFather попросит другой.

В ответ придёт токен — строка вида 8123456789:AAEhBOwe…. Он понадобится на следующем шаге.

Токен — это пароль от бота. Не пересылайте его и не публикуйте. Если он попал не туда: /revoke в BotFather — старый перестанет работать, и вы получите новый.

Если бот создан раньше, а токен потерялся — команда /mytoken.

#Шаг 2. Подключите бота к LiKE

Откройте Интеграции → Telegram, вставьте токен в поле Bot Token и нажмите «Подключить». Нужны права владельца или администратора.

Если токен не принят — проверьте, что скопирована строка целиком, вместе с цифрами до двоеточия, и без пробелов по краям. Токен от другого бота не подойдёт: у каждого свой.

После подключения на карточке появится адрес бота и отметка «Активен».

#Шаг 3. Выберите источник ответов

Нажмите «Настроить» и укажите пространство, из которого бот берёт ответы, — можно сузить до отдельных коллекций. Без этой настройки бот на любой вопрос ответит, что не знает.

Там же выбирается, отдавать ли только общедоступные статьи или ещё и внутренние. Для внутренних собеседник должен быть опознан — см. следующий шаг.

#Шаг 4. Решите, где бот работает

В личной переписке — чат один на один с ботом. Чтобы бот понял, кто пишет, чат привязывают к учётной записи: на главной странице портала нажмите «Спросить в чате», затем «Получить код привязки» и отправьте код боту одним сообщением. Код одноразовый и живёт 10 минут. После привязки бот отвечает по правам этого человека, включая внутренние статьи. Привязку делает каждый сотрудник для себя.

В групповом чате — бот отвечает всем участникам, но только по общедоступным статьям: в общем чате невозможно определить, кто задал вопрос.

Чтобы бот заработал в группе:

  1. Отключите скрытие сообщений: в BotFather команда /setprivacy, выберите бота, нажмите Disable. По умолчанию Telegram прячет от ботов сообщения групп, и бот просто не увидит вопросы.
  2. Удалите бота из группы и добавьте заново — иначе настройка не подействует: Telegram применяет её в момент вступления бота в группу.
  3. Добавьте чат группы в список разрешённых в настройках интеграции.

#Шаг 5. Проверьте

Задайте боту вопрос по теме, которая есть в базе. Ответ придёт в тот же чат со ссылками на статьи-источники.

Язык ответа определяется по языку вопроса — спросили по-немецки, ответит по-немецки. Настройка «Язык служебных ответов» задаёт язык только для служебных сообщений: отказов и подтверждения привязки.

#Отключение и удаление

Отключить от LiKE: Интеграции → Telegram → «Отключить». Бот перестанет отвечать, связь снимается, сам бот в Telegram остаётся и его можно подключить снова.

Сменить бота: сначала отключите текущего, потом подключайте нового. В обратном порядке старый бот останется настроенным на LiKE и будет впустую слать сообщения, которые никто не обработает.

Удалить бота совсем: команда /deletebot в BotFather. Действие необратимо — адрес освобождается, вернуть бота нельзя.

#Если бот не отвечает

Что происходит Причина Что делать
Молчит в группе, в личке отвечает Telegram скрывает от бота сообщения группы /setprivacy → Disable, затем убрать бота из группы и добавить заново
Молчит везде, хотя подключён Пишете другому боту — похожие имена легко перепутать Сверьте адрес бота в чате с тем, что показан на карточке интеграции
Отвечает «чат не привязан» Личный чат не связан с учётной записью Возьмите код привязки в портале и отправьте боту сообщением
В группе отвечает только по общедоступным статьям Так задумано: в общем чате не видно, кто спрашивает Для внутренних статей пишите боту в личной переписке
Перестал отвечать после смены бота Нового подключили, не отключив старого Отключите интеграцию и подключите нужного бота заново
Отвечает «не знаю» на всё Не выбран источник ответов Интеграции → Telegram → «Настроить» → выберите пространство

#JS-виджет (для вашего сайта)

Плавающая кнопка AI-поиска для встраивания на любой сайт. Самая популярная интеграция — пользователь видит кнопку в углу страницы, кликает, открывается чат с AI и поиск по вашей базе знаний.

#Простая установка

Установка за 3 шага:
1. Интеграции → Каналы → карточка «JS Widget» → «Управлять виджетами» → «Создать виджет» → дайте имя, укажите адрес сайта и сохраните
2. Скопируйте embed-код (`<script>` тег с уникальным api-key)
3. Вставьте перед </body> на любой странице вашего сайта

Когда объём AI-ответов исчерпан. Публичный виджет на странице не показывается вовсе — ни кнопки, ни сообщения о лимите; горячая клавиша не срабатывает. Когда объём снова доступен, виджет появится при следующей загрузке страницы.

#Базовые параметры

Параметр Описание
Имя Внутреннее название виджета (для админки, не виден юзерам)
Позиция Левый или правый нижний угол
Accent-цвет Цвет кнопки и акцентов в чате (берётся из брендинга по умолчанию)
Горячая клавиша Например Ctrl+K / ⌘K для открытия чата с клавиатуры
Кнопка на сайте Ринни (по умолчанию), облачко или свой значок — картинка PNG, JPEG или WebP до 512 КБ: на сервере она пересобирается, в кнопку попадают только пиксели. Меняется на сайте сразу, код вставки остаётся прежним. Если картинка не загрузилась, на сайте показывается облачко
Фон значка Для Ринни: без фона (по умолчанию) или белый круг — Ринни целиком внутри, на пёстром сайте значок не теряется. Облачко и свой значок уже стоят в круге
Подсказка посетителям Пузырёк (по умолчанию): через 3 секунды рядом с кнопкой появляется приглашение спросить, через 15 секунд оно сворачивается в точку на кнопке. Надпись: «Задать вопрос» выезжает рядом с кнопкой на 9 секунд. Выключено — без подсказки. Один раз за визит; закрытый крестиком пузырёк не показывается 7 дней. Не показывается, пока открыт виджет, фокус в поле сайта или вкладка скрыта У значка с именем пузырёк здоровается от его лица: «Привет, я Ринни!»; на телефоне вторая строка — «Спросите меня!».
Напоминать По сигналам (по умолчанию): кольца вокруг кнопки, когда посетитель ищет ответ — 25 секунд без действий, прокрутка вверх-вниз, третья страница визита; иначе раз в 60–90 секунд. Иногда — только раз в 60–90 секунд. Никогда. Не больше 3 раз на странице, после открытия виджета — больше нет. При системной настройке «меньше движения» колец и прыжков нет
Свой текст подсказки Для каждого языка свой, до 140 знаков. Для языка без своего текста — стандартный на языке посетителя
Имя помощника До 7 символов (буквы, цифры, пробел, дефис), одно на все языки, при любом значке: помощник здоровается «Привет, я …!» в пузырьке и называет себя в окне виджета. Пусто — у Ринни имя «Ринни», у облачка и своего значка — без имени
На телефоне и над панелями сайта На телефоне кнопка меньше и ближе к углу; пузырёк — заголовок и короткая строка, появляется через 5 секунд и сворачивается через 8. На любом устройстве: если внизу экрана под кнопкой закреплена панель сайта (cookie-баннер, нижнее меню), кнопка встаёт над ней, а подсказка ждёт, пока панель не исчезнет
Язык по умолчанию Применяется, только когда язык посетителя неизвестен: выбор посетителя в окне виджета и языки его браузера сильнее. Язык страницы сайта не учитывается
Адрес сайта Где виджет работает; несколько — через запятую. Без адреса виджет не включить
Footer «Powered by Lynkora» Можно скрыть на планах с white-label

#Dual-auth: два режима аутентификации (ADR 0032)

В LiKE виджет может работать в одном из двух режимов — выбирается при создании:

Режим 1 — Allowed paths
Для публичных сайтов
Виджет на лендинге, маркетинговых страницах, центре поддержки. Аутентификация анонимная — любой посетитель может пользоваться.
Защита:
  • Whitelist URL'ов, где api-key валиден
  • Scope = __public__ или конкретные публичные коллекции
  • Rate limit per api-key
Режим 2 — Session JWT
Для корпоративного сайта с авторизацией
Виджет на корпоративном Intranet, SaaS-приложении. Виджет принимает session JWT пользователя и видит ровно то, к чему у него есть доступ.
Применение:
  • Внутренний портал компании
  • SSO-aware виджет в собственном продукте
  • Видит пространства пользователя

Подробнее по конфигурации каждого режима и интеграции с вашим backend — в API и виджет.

#Scope: что виджет может найти

При создании виджета задаётся scope — что именно он ищет:

Scope entries
public_umbrella — все публичные статьи организации (для allowed-paths виджета)
space:<id> — конкретное пространство (для session-JWT виджета)
collection:<id> — конкретная коллекция (узкий scope, например только FAQ)

В одном виджете можно комбинировать несколько scope entries (например, две коллекции из одного пространства).

#Multi-widget per tenant (ADR 0029 Stage 4)

В организации можно создать несколько независимых виджетов с разными scope и режимами:

Виджет Scope Где встроен
Marketing site widget public_umbrella (Public KB) На yourcompany.com — анонимный
Support center widget collection:faq-coll На support.yourcompany.com — только FAQ
Intranet widget space:eng-space (по JWT) На intranet.yourcompany.com — корпоративный, видит spaces по правам

Каждый имеет свой api-key, аналитику использования, можно отозвать ключ независимо. Управление — в Интеграции → Каналы → JS Widget → «Управлять виджетами».

#Управление сессиями (Session JWT mode)

В Session JWT режиме каждая сессия пользователя имеет уникальный sessionId. Admin может посмотреть активные сессии конкретного виджета и принудительно отозвать токен (например, если подозревается компрометация). Список — Интеграции → Виджеты → [виджет] → Sessions.

#iframe / Direct Link

Встройте полноценный интерфейс поиска LiKE на любую страницу:

  1. Интеграции → iframe → скопируйте код
  2. Вставьте <iframe src="..."> на вашу страницу
  3. Или используйте прямую ссылку для перехода (полная страница, не embed)

iframe и Direct Link тоже поддерживают dual-auth — выбирается при создании.

#REST API

Полноценный API для программной интеграции (например, ваш собственный UI или интеграция с другими системами):

  1. Интеграции → Public API → «Создать ключ»
  2. Укажите название и разрешённые домены
  3. Скопируйте ключ — показывается только один раз, после повторного открытия будет замаскирован

Используйте ключ в заголовке X-API-Key. По ключу отдаются только публичные статьи.

Основные endpoints:

Endpoint Что делает
POST /api/public/search AI-поиск по базе знаний (полный flow: retrieval + ответ + источники)
GET /api/public/toc Оглавление публичных статей
GET /api/public/articles Список публичных статей
GET /api/public/articles/{id} Содержимое статьи

Лимиты: запросы ограничены по каждому ключу; превышение возвращает HTTP 429 с заголовком Retry-After.

Полная документация API: API и виджет.


#Языки

LiKE поддерживает 25+ языков для AI-поиска и кросс-языкового поиска (сам интерфейс доступен на 12 локалях UI):

Русский, English, Deutsch, Français, Español, Português, Italiano, Nederlands, Polski, Čeština, Svenska, Dansk, Suomi, Română, Magyar, Hrvatski, Türkçe, Afrikaans, Kiswahili, Bahasa Indonesia, Tiếng Việt, Українська, Српски, Български, Ελληνικά, 한국어, 日本語, 中文, हिन्दी, ไทย, עברית, العربية.

Кросс-языковой поиск: вопрос на одном языке → ответ из статей на другом.