Confluence
Документы компании · издатель buff · версия 1.1.0
База знаний команды как контекст для ответов — и вопросы прямо в обсуждении страницы. Data Center, Server и Cloud.
Ответ в Buff опирается на регламент из Confluence — с названием страницы и раздела. Форма настройки — свои поля у каждой интеграции: адрес, область, имя бота и учётные данные. Подключение работает: свой набор инструментов и свой разрешённый адрес. Проверка связи говорит не «ок», а версию Confluence, учётную запись и сколько пространств из области доступно. Что интеграция получит, написано в её карточке в каталоге коннектора.
Нажмите на снимок, чтобы открыть его целиком. Все снимки — с работающей установки.
Обзор
Половина ответов на вопросы «почему так» уже написана — в Confluence. Требования, архитектурные решения, регламенты, ранбуки: то, что человек не станет пересказывать в вопросе и чего модель сама не знает. Интеграция даёт Buff читать пространства из области подключения, когда это нужно для ответа, и принимает вопросы прямо в обсуждении страницы. Одна интеграция работает и с self-hosted (Data Center, Server), и с Cloud.
Сценарии
Ситуации, ради которых его ставят.
Оператор поддержки отвечает по регламенту, а не по памяти
Клиент просит возврат через двадцать дней после оплаты. Порядок возвратов записан в регламенте поддержки в Confluence, но оператор помнит его приблизительно, а спрашивать руководителя — ждать до вечера.
Результат. ИИ-агент находит страницу регламента, читает раздел о возвратах и отвечает по нему — со ссылкой на страницу, чтобы ответ можно было проверить, а не принять на веру.
Новичок спрашивает про отпуск там, где читает регламент
Порядок отпусков, график выплат и кто выдаёт доступы описаны в разделе «Для сотрудников», но новый человек спрашивает в чате, а HR в десятый раз отвечает одно и то же.
Результат. Ответ приходит со ссылкой на нужный раздел регламента; правило отдела «отвечаем ссылкой на регламент, а не пересказом» лежит в базе знаний и учитывается в каждом ответе.
Вопрос прямо на странице
Кто-то читает регламент и не понимает, как он применяется к их случаю. Идти в другой инструмент ради вопроса — лишний шаг, который обычно не делают.
Результат. Он упоминает бота в комментарии к странице. Ответ приходит туда же, в то же обсуждение, и остаётся рядом с текстом, о котором спрашивали.
Ранбук вместо расспросов дежурного
Инцидент ночью, дежурный новый, а порядок действий описан в вики — в разделе из пяти страниц.
Результат. Бот собирает ответ из нужных страниц раздела и отвечает по существу, со ссылками на каждую. Дежурный читает три абзаца вместо пяти страниц.
Примеры
Что написать и что придёт в ответ. Обращение к боту задаётся в настройках подключения — здесь это «@buff».
@buff как у нас принято нумеровать релизы?
комментарий на любой странице отмеченного пространства
инструмент:
search_pages + get_pageПо схеме ГГ.ММ.N — год, месяц и порядковый номер релиза в месяце; внутреннее имя схемы «Гринвич». Выпуск в четверг, решение о переносе принимает дежурный. Источник: страница «Регламент выпуска релизов» в пространстве DOC.
@buff какие ограничения мы записали по интеграции с внешним API?
вопрос в приложении Buff или комментарий на странице
инструмент:
search_pagesНашёл три страницы: «Интеграция с внешним API» (лимит 100 запросов в минуту и обязательная идемпотентность), «Решение по ретраям» (экспоненциальная задержка, максимум 5 попыток) и обсуждение, где договорились не хранить ответы дольше суток. Ссылки на все три — ниже.
/research почему мы отказались от общего кеша
комментарий на странице с решением
инструмент:
get_pageСлово после обращения выбирает работу: без него — короткий ответ, «research» — глубокое исследование с документом, «task» — черновик задачи разработки. Исследование прочитает и страницу, и связанные с ней, и код.
@buff что в этом разделе есть про резервные копии?
комментарий на родительской странице раздела
инструмент:
get_page_childrenВ разделе четыре дочерние страницы; про резервные копии — две: «Резервное копирование» (расписание, срок хранения 90 дней) и «Восстановление» (порядок и кто утверждает). Обе — по ссылкам.
Что умеет
Читает то, что нужно, и тогда, когда нужно
search_pages ищет по пространствам из области подключения, get_page отдаёт страницу целиком вместе с обсуждением, get_page_children — дерево раздела. Модель вызывает их сама, когда вопрос этого требует: ничего не копируется к нам заранее и не индексируется, а платите вы за то, что реально прочитано.
Страница приходит текстом, а не разметкой
Confluence хранит страницу как разметку с макросами, таблицами и вставками. Интеграция превращает её в читаемый текст, сохраняя заголовки, списки, таблицы, код и адреса ссылок, — модель получает содержание, а не служебные теги. Ничего при этом не обрезается: длинная страница остаётся длинной.
Отвечает там, где спросили
Упоминание бота или команда через слэш в комментарии к странице запускает вопрос, исследование или черновик задачи; ответ приходит комментарием в то же обсуждение. Единственный инструмент, который что-то пишет, — комментарий, и модели он не отдаётся ни на одной стадии.
Пространства — это контроль доступа
Список отмеченных пространств работает в обе стороны: в остальных бот не читает ни страницы, ни обращения и не пишет ответы. Пустой список означает «все пространства, открытые учётной записи бота» — эту границу уже провели права в Confluence. Права учётной записи — внешняя граница, список — внутренняя.
Одна интеграция на self-hosted и Cloud
Data Center, Server и Cloud обслуживаются одним кодом: их API в том, что нужно интеграции, совпадает — это проверено на живых серверах обеих редакций. Отличается только вход: у self-hosted это токен, у Cloud — почта и API-токен.
Ничего не редактирует
Бот не создаёт и не правит страницы, не меняет метки и права. Он читает и пишет комментарии — база знаний остаётся такой, какой её ведёт команда.
Как пользоваться
Всё происходит на машине, где стоит коннектор. Открывать доступ к вашей сети снаружи не нужно ни на одном шаге.
Шаг 1
Установка занимает одно нажатие
Откройте раздел «Маркетплейс» на локальной странице коннектора. До установки видно, что интеграция получит: адреса, по которым она сможет ходить, какие учётные данные попросит и сколько инструментов увидит модель. Коннектор скачивает подписанный бандл из нашего реестра и проверяет подпись до того, как что-то запишет на диск.
Коннектор← прокрутите кадр →
Границы доступа написаны в карточке каталога. Шаг 2
Настройка — адрес, доступ и список пространств
Для self-hosted адрес такой: `https://wiki.corp.local`; для Cloud — `https://ваша-компания.atlassian.net/wiki`. Дальше учётные данные бота (у Cloud — почта и API-токен) и ключи пространств: их видно в адресе страницы, `/spaces/DOC/pages/…`; пусто — все пространства, открытые учётной записи. Секрет хранится на вашей машине; интеграция его не видит.
Коннектор← прокрутите кадр →
Поля формы — свои у каждой интеграции. Шаг 3
Заведите боту отдельную учётную запись
Дайте ей доступ на чтение только к тем пространствам, где он должен работать, и право комментировать. Администратором Confluence бот быть не должен: всё, что ему нужно, — читать страницы и оставлять комментарии.
Шаг 4
То же самое из командной строки
Установка без графики равноправна, а не запасной вариант: `connector install confluence`, затем `connector instance add confluence --config base_url=https://wiki.corp.local --config spaces=DOC,OPS`.
Шаг 5
События приходят сами
Опрос работает всегда и портов не требует: интеграция сама читает комментарии отмеченных пространств (без списка — всех, открытых учётной записи) — по умолчанию раз в 20 секунд, интервал меняется в настройках подключения. Если у вас Data Center и хочется быстрее — включите приём событий у коннектора и добавьте вебхук: он не разбирается по содержимому, а просто будит опрос, поэтому ответ приходит сразу, а не в следующий проход.
Коннектор← прокрутите кадр →
У каждого подключения — свой набор инструментов и свой разрешённый адрес.
Границы доступа
То же самое коннектор показывает на вашей машине до установки. Список берётся из подписанного каталога, а не написан здесь руками.
Ходит наружу
только по адресам из полей base_url
Учётные данные
api — значения остаются в коннекторе, интеграция их не видит
Вебхуки
wake — порт открываете вы, по желанию
| Инструмент | Что делает | Доступ |
|---|---|---|
| search_pages | Найти страницы по тексту в отмеченных пространствах — когда ответ может быть уже записан в базе знаний | только чтение |
| get_page | Прочитать страницу целиком, вместе с обсуждением — когда нужны требования, регламент или решение | только чтение |
| get_page_children | Перечислить дочерние страницы раздела — когда ответ собирается из нескольких страниц | только чтение |
| add_comment | Написать комментарий на странице | пишет |
Интеграция работает отдельным процессом под собственным пользователем операционной системы: она не видит ключа коннектора, не читает файлы других подключений и не может выйти в сеть мимо коннектора. Подробнее — в разделе о безопасности.
Требования
- Confluence Data Center, Server или Cloud — одна и та же интеграция.
- Учётная запись бота с правом читать нужные пространства и комментировать: токен для self-hosted, почта и API-токен для Cloud.
- Сетевой доступ от машины с коннектором до Confluence — наружу из вашей сети ничего открывать не нужно.
- Коннектор, запущенный с правом заводить отдельного пользователя ОС для интеграции (root или CAP_SETUID).
- Задачи и код подключаются отдельно: Confluence — источник знаний, а не трекер и не репозиторий.
Вопросы
- Вы скопируете нашу базу знаний к себе?
- Нет. Интеграция читает страницы по запросу модели, когда ответ этого требует, и ничего не переносит и не индексирует заранее. Прочитанное попадает в контекст конкретного ответа — не в хранилище.
- У нас Cloud, а не Data Center. Нужна другая интеграция?
- Нет, эта же. Мы проверили на живых серверах обеих редакций: в том, что нужно интеграции, их API совпадает. Отличается вход — у Cloud это почта и API-токен, и в форме подключения для этого есть отдельное поле. Адрес для Cloud указывайте вместе с `/wiki`: `https://ваша-компания.atlassian.net/wiki`.
- Бот сможет что-то изменить на страницах?
- Нет. Он читает страницы и пишет комментарии; создавать и править страницы он не умеет — такого инструмента у интеграции нет вовсе.
- Как ограничить, что он видит?
- Двумя способами сразу: правами учётной записи бота в Confluence и списком пространств в настройке подключения. Список работает в обе стороны. Если он пуст, бот работает во всех пространствах, которые видит его учётная запись, поэтому заведите боту отдельную учётную запись и дайте ей доступ только к нужным пространствам — или перечислите их в подключении.
- Большая страница — это большой счёт?
- Страница читается целиком и не обрезается: обрезанный регламент — это тихо потерянное требование. Но читается она только тогда, когда модель за ней пошла, и в ответе видно, какие страницы были прочитаны.
Дальше
Подключить Confluence
Поставьте коннектор в своей сети, откройте его локальную страницу и установите интеграцию из каталога. Пересобирать ничего не нужно.
Юрлицам и ИП — оплата переводом по реквизитам и закрывающие документы