Google Диск

Документы компании · издатель buff · версия 1.1.0

Документы, таблицы и презентации Google как контекст для ответов и вопросы прямо в комментариях. Отчёт исследования — документом в ту же папку.

Скачать коннектор Как установить5 из 7 инструментов только читают
  • Ответ в Buff опирается на таблицу с Google Диска — с названием таблицы и раздела.
  • Форма настройки: адреса сервиса, папки и файлы, способ входа.
  • Вместо сервисного аккаунта можно войти своей учётной записью: после сохранения появится кнопка «Войти».
  • Подключение работает: семь инструментов, из них пять только читают (зелёные).
  • Проверка связи называет, от чьего имени работает подключение, и сколько отмеченных папок ему доступно.
  • Что интеграция получит, написано в её карточке в каталоге коннектора.

Нажмите на снимок, чтобы открыть его целиком. Все снимки — с работающей установки.

Обзор

На Диске у команды лежит то, чего нет ни в задаче, ни в коде: спецификация в документе, план в таблице, решения в презентации. Интеграция даёт Buff читать отмеченные папки, когда это нужно для ответа, принимает вопросы прямо в комментариях к документу, таблице или презентации и умеет оставить результат документом: отчёт исследования появляется в той же папке, где спросили. Войти можно сервисным аккаунтом — для команды — или своей учётной записью, если Диск личный.

Сценарии

Ситуации, ради которых его ставят.

  • Маркетолог проверяет текст по позиционированию

    Документ «Как мы говорим о продукте» лежит на Диске: что говорим, чего не говорим, какие слова запрещены. Каждый новый текст сверяют с ним вручную — или не сверяют.

    Результат. ИИ-агент находит документ по словам вопроса — Диск ищет по содержимому, интеграция сверяет словоформы, — и отвечает, что в тексте расходится с документом, с цитатами из него.

  • Бюджет, в котором всё записано

    Бюджет финансисты ведут таблицей Google: лист на квартал, строки — статьи, столбцы — план и факт. В вопросе «что стоит в строке «Обучение» и почему» никто эту таблицу не пересказывает.

    Результат. ИИ-агент читает таблицу лист за листом — каждый как таблицу — или ровно нужный диапазон и отвечает по строкам, ничего не обрезая.

  • Вопрос прямо в документе

    Кто-то читает спецификацию и не понимает, как она применяется к его случаю. Идти в другой инструмент ради вопроса — лишний шаг, который обычно не делают.

    Результат. Он пишет боту в комментарии к документу. Ответ приходит в ту же ветку и остаётся рядом с абзацем, о котором спрашивали.

  • Личный Диск — от своего имени

    Один человек хочет подключить свой Диск: без сервисных аккаунтов, без администратора Google Workspace — «я быстро вошёл один раз, и всё».

    Результат. Свой OAuth-клиент, кнопка «Войти», согласие в браузере — и коннектор дальше обновляет доступ сам. Бот читает всё, что видите вы, и отвечает от вашего имени.

Примеры

Что написать и что придёт в ответ. Обращение к боту задаётся в настройках подключения — здесь это «@buff».

  1. +buff-bot@проект.iam.gserviceaccount.com как у нас называется схема миграций?

    комментарий в любом документе отмеченной папки

    инструмент: search_files + get_file

    Внутреннее имя схемы миграций — «Верхотурье»: номер собирается как ГГ.ММ.N. Источник: документ «Регламент выпуска релизов», раздел «Схема миграций».

  2. @buff какие задачи в работе по экспорту?

    вопрос в приложении Buff или комментарий в таблице

    инструмент: get_sheet

    На листе «Задачи» две строки про экспорт; в работе одна — «Экспорт в CSV», оценка 3. Вторая, «Кодировка выгрузки», уже готова. Ссылка на таблицу — ниже.

  3. /research почему выгрузка ломается на кириллице

    комментарий в документе с регламентом

    инструмент: get_file + create_document

    Слово после обращения выбирает работу: без него — короткий ответ, «research» — исследование, «task» — черновик задачи. Отчёт исследования появится новым документом в этой папке, рядом — PDF; в ветку придёт ссылка.

  4. @buff что в этой папке есть про резервные копии?

    вопрос в приложении с ссылкой на папку

    инструмент: list_folder + search_files

    В папке шесть файлов; про резервные копии — два: документ «Резервное копирование» (расписание, срок хранения) и таблица «Восстановление» (порядок и кто утверждает). Оба — по ссылкам.

Что умеет

Читает то, что нужно, и тогда, когда нужно

search_files ищет по названиям и по содержимому силами самого Диска, а найденное ранжирует, читая текст, — словоформы вопроса и документа встречаются. get_file отдаёт документ как markdown, таблицу — всеми листами, презентацию — текстом, папку — списком; get_sheet — один лист или диапазон. Модель вызывает их сама, когда вопрос этого требует: ничего не копируется к нам заранее и не индексируется, а платите вы за то, что реально прочитано.

Документ приходит как markdown, таблица — таблицами

Документ Google экспортируется одним вызовом в markdown — заголовки, списки, таблицы, код, ссылки; интеграция ничего не дополняет и не обрезает. Таблица читается лист за листом, каждый — markdown-таблицей с заголовком из первой строки; лист на тысячу строк остаётся листом на тысячу строк.

Отвечает там, где спросили — и документом, когда это отчёт

Упоминание бота (адресом, именем или псевдонимом) или команда через слэш в комментарии запускает вопрос, исследование или черновик задачи; ответ приходит в ту же ветку. Отчёт исследования — новый документ в папке того, где спросили, с текстом; рядом — PDF; в ветку приходит ссылка.

Корни — это область

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

Два способа войти — и токены выпускает коннектор

Сервисный аккаунт: JSON-ключ, папками делятся с его адресом, бот пишет от своего имени. Своя учётная запись: свой OAuth-клиент, вход один раз через браузер с возвратом на страницу коннектора. В обоих случаях Google выдаёт токены на час, и обновляет их коннектор — ключ и refresh-токен лежат на вашей машине, интеграция их не видит.

Опрос вместо вебхука

У Диска нет ленты комментариев, а push-уведомления требуют проверенный домен. Интеграция обходит документы области по кругу и спрашивает у каждого комментарии, изменённые после начала чтения, — по умолчанию раз в 5 секунд, интервал меняется в настройках. Лимиты Google интеграция уважает: 429 и 403 «rate limit» выжидаются так, как просит Google.

Как пользоваться

Всё происходит на машине, где стоит коннектор. Открывать доступ к вашей сети снаружи не нужно ни на одном шаге.

  1. Шаг 1

    Установка занимает одно нажатие

    Откройте раздел «Маркетплейс» на локальной странице коннектора. До установки видно, что интеграция получит: адреса, по которым она сможет ходить, какие учётные данные попросит и сколько инструментов увидит модель. Коннектор скачивает подписанный бандл из нашего реестра и проверяет подпись до того, как что-то запишет на диск.

    Коннектор

    ← прокрутите кадр →

    Границы доступа написаны в карточке каталога.
  2. Шаг 2

    Для команды — сервисный аккаунт

    В консоли Google Cloud включите Drive API и Sheets API, создайте сервисный аккаунт и скачайте его JSON-ключ. Поделитесь нужными папками с адресом аккаунта — как с коллегой. В форме выберите «сервисный аккаунт» и вставьте содержимое ключа.

    Коннектор

    ← прокрутите кадр →

    Поля формы — свои у каждой интеграции.
  3. Шаг 3

    Для себя — своя учётная запись

    Создайте OAuth-клиент типа «Компьютерное приложение» в своём проекте Google Cloud, вставьте client ID и client secret, сохраните подключение и нажмите «Войти». Google вернёт браузер на страницу коннектора; если браузер на другой машине — вставьте адрес возврата в поле рядом.

    Коннектор

    ← прокрутите кадр →

    Вход выполняется один раз; дальше коннектор обновляет доступ сам.
  4. Шаг 4

    Настройка — корни, псевдоним и интервал

    Адреса подставлены. Назовите корни — ссылки или идентификаторы папок и файлов, через запятую (пусто — всё, что открыто учётной записи), короткое имя бота, например `buff`, и при желании интервал опроса.

  5. Шаг 5

    То же самое из командной строки

    Установка без графики равноправна, а не запасной вариант: `connector install google-drive`, затем `connector instance set --plugin google-drive --version 1.0.0 --set roots=https://drive.google.com/drive/folders/… --poll 5`, ключ — `connector instance secret … --secret api --kind service_account`; для своей учётной записи — `--kind oauth2` и `connector instance signin`.

    Коннектор

    ← прокрутите кадр →

    У каждого подключения — свой набор инструментов и свой разрешённый адрес.

Границы доступа

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

Ходит наружу

только по адресам из полей drive_apisheets_api

Учётные данные

api — значения остаются в коннекторе, интеграция их не видит

Вебхуки

не принимает

Инструменты, которые увидит модель: 7, из них только читают 5. Пишущие недоступны на стадиях, где модель только читает, — и проверяет это коннектор у себя.
ИнструментЧто делаетДоступ
search_filesНайти документы, таблицы, презентации и папки по словам в названии и в тексте — когда ответ может быть уже записан на Дискетолько чтение
get_fileПрочитать документ целиком (markdown), таблицу (все листы), презентацию (текст) или папку (содержимое) — вместе с обсуждениемтолько чтение
list_folderПеречислить содержимое папки — когда ответ собирается из нескольких файлов одного разделатолько чтение
get_sheetПрочитать один лист или диапазон таблицы — когда нужна конкретная часть большой таблицытолько чтение
get_commentsОбсуждения файла — ветки комментариев с ответами, кто и когда писалтолько чтение
add_commentНаписать комментарий к файлу или ответить в ветке обсужденияпишет
create_documentСоздать документ Google из markdown в одной из подключённых папокпишет

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

Требования

  • Проект Google Cloud с включёнными Google Drive API и Google Sheets API — свой, любого плана; Google Workspace не обязателен.
  • Сервисный аккаунт с JSON-ключом, которому поделили папки, — или свой OAuth-клиент типа «Компьютерное приложение» для входа своей учётной записью.
  • Коннектор версии 0.10 или новее: учётные данные, которые коннектор выпускает сам (сервисный аккаунт, OAuth), появились в нём; старый коннектор откажется ставить интеграцию и назовёт обе версии.
  • Сетевой доступ от машины с коннектором до www.googleapis.com, sheets.googleapis.com, oauth2.googleapis.com и accounts.google.com — наружу из вашей сети ничего открывать не нужно.
  • Коннектор, запущенный с правом заводить отдельного пользователя ОС для интеграции (root или CAP_SETUID).

Вопросы

Бот сможет что-то изменить в документах?
Нет. Он читает документы, таблицы и презентации, пишет комментарии и создаёт новые документы внутри области; существующие не редактирует — такого инструмента у интеграции нет вовсе.
Чем сервисный аккаунт отличается от своей учётной записи?
Сервисный аккаунт — отдельный робот: видит только то, чем с ним поделились, и пишет от своего имени; это вариант для команды. Своя учётная запись — вы сами: бот видит весь ваш Диск и отвечает как вы; это вариант для личного Диска. Документ, который сервисный аккаунт создаёт в чужой папке «Моего диска», принадлежит ему; на общем диске этого нет.
Google пишет «Приложение не проверено» — это нормально?
Да, для своего OAuth-клиента в режиме тестирования. Это ваш собственный клиент в вашем проекте Google Cloud; добавьте себя в тестовые пользователи и нажмите «Продолжить».
Как ограничить, что он видит?
Двумя способами сразу: тем, чем поделились с учётной записью в Google, и списком папок в настройке подключения. Список работает в обе стороны, а пустой список означает «всё, что открыто учётной записи».
Большой документ — это большой счёт?
Документ читается целиком и не обрезается: обрезанный регламент — это тихо потерянное требование. Но читается он только тогда, когда модель за ним пошла, и в ответе видно, какие файлы были прочитаны.

Дальше

Подключить Google Диск

Поставьте коннектор в своей сети, откройте его локальную страницу и установите интеграцию из каталога. Пересобирать ничего не нужно.

Юрлицам и ИП — оплата переводом по реквизитам и закрывающие документы