GitHub
Встроенный коннектор GitHub в WorkAI: вход через GitHub или личный токен, чтение файлов и pull request'ов, поиск по коду и открытие PR с подтверждением.
Встроенный коннектор github даёт агенту WorkAI доступ к GitHub от вашего имени: прочитать файл в репозитории, поискать по коду, посмотреть pull request и открыть новый. Для агента это обычный MCP-сервер, но работает он внутри самого WorkAI и обращается напрямую к REST API GitHub (api.github.com). Ничего устанавливать не нужно — ни node, ни npx, ни сторонних пакетов.
Чем это отличается от других GitHub-возможностей
В WorkAI три разных способа работать с GitHub, и они не пересекаются:
- Создатель — GitHub App на стороне сервера WorkAI. Выгружает и импортирует веб-проект Создателя. Вы у себя ничего не запускаете.
- Git-инструменты агента — коммит, ветки, пуш вашим локальным git. Работают с любым хостингом — GitHub, GitLab, собственным сервером, — потому что это обычный git, а не GitHub API.
- Этот коннектор — сам GitHub API, вызываемый с вашей машины от вашего имени. Агент видит ровно то, к чему есть доступ у вашего входа или токена, независимо от того, что подключено в Создателе.
Пара «git-инструменты + этот коннектор» даёт полный цикл: агент коммитит и пушит ветку локальным git, а затем открывает pull request через GitHub API.
Как подключить
Откройте хаб «Возможности агента» → «Коннекторы (MCP)», найдите GitHub в группе «Рекомендуем WorkAI» и нажмите «Подключить». Подключиться можно двумя способами.
Вход через GitHub
Основной способ — без ручного создания токена.
- Нажмите «Войти через GitHub». WorkAI запросит у GitHub код для входа и покажет его.
- Нажмите «Скопировать и открыть GitHub» — код уже в буфере обмена. Вставьте его на открывшейся странице GitHub и подтвердите доступ.
- Когда GitHub подтвердит вход, в карточке появится «Вошли в GitHub как @ваш-логин».
- Нажмите «Установить на репозитории» и на странице GitHub выберите репозитории (или всю организацию), с которыми должен работать агент. Без этого шага вход есть, но репозиториев агент не видит.
Вход идёт через GitHub App WorkAI Agent, и у него есть важное условие: агент видит только те репозитории, где установлено это приложение. Если агент обратился к репозиторию без установки, GitHub ответит отказом, и агент подскажет установить приложение на этот репозиторий. Если приложение не установлено нигде, при запуске коннектора об этом появится предупреждение в его журнале («Показать вывод»).
Это приложение агента, и оно не связано с приложением, через которое Создатель выгружает проекты: установка одного не даёт доступа другому.
Вход сохраняется между перезапусками и продлевается сам — при старте WorkAI и после выхода компьютера из сна. Если продлить его не удалось, WorkAI покажет уведомление «Вход в GitHub истёк» с кнопкой «Войти в GitHub».
«Выйти» удаляет вход только с этого компьютера. Чтобы полностью отозвать доступ приложения, сделайте это в настройках GitHub — ссылка «Настройки GitHub» есть рядом с кнопкой выхода.
На Linux вход сохраняется, только если в системе есть защищённое хранилище секретов (например, GNOME Keyring или KWallet). Без него WorkAI скажет, что «на этом компьютере нельзя надёжно сохранить вход», и предложит токен доступа.
Личный токен доступа
Запасной способ — Personal Access Token, вставленный в поле «Личный токен доступа GitHub» в той же карточке. Он нужен, если вход через GitHub недоступен, если вы не хотите ставить приложение на репозитории или если в вашей организации так принято.
Создаётся токен на GitHub: Settings → Developer settings → Personal access tokens (ссылка «Создать токен» есть прямо в карточке). Рекомендуем fine-grained токен только на нужные репозитории с правами:
- Pull requests — Read and write;
- Contents — Read-only;
- Commit statuses — Read-only (Metadata — Read-only GitHub добавит сам).
Fine-grained токен не умеет открывать PR в чужие публичные репозитории, где вы не участник. Для этого нужен classic-токен со scope public_repo.
Токен, сохранённый вручную, работает вместо входа через GitHub. Если вы работаете в нескольких профилях WorkAI (отдельные наборы настроек и расширений, как профили VS Code), у каждого профиля может быть свой способ: профиль со своим токеном так и остаётся на токене, а вход через GitHub в нём включается кнопкой «Использовать этот вход в этом профиле».
Где хранится токен
- Вход через GitHub хранится в системном хранилище секретов и в файлы конфигурации не попадает вообще.
- Личный токен WorkAI шифрует и держит отдельно; в конфигурации остаётся только ссылка на него.
Исключение — компьютер без защищённого хранилища секретов (например, Linux без keyring), сохранение токена при нескольких открытых окнах WorkAI или профиль со своим отдельным хранилищем. Тогда токен записывается в ~/.workai/mcp.json открытым текстом. На macOS и Linux WorkAI перед этим закрывает файл от чтения всеми, кроме вас, а если сделать это не удаётся — не сохраняет токен вовсе, и карточка скажет об этом. На Windows права файла WorkAI не меняет: он лежит в папке вашего профиля Windows, которая по умолчанию доступна только вам и администраторам компьютера.
Если токен был сохранён в ~/.workai/mcp.json в старых версиях WorkAI, при обновлении он переносится в зашифрованное хранилище автоматически — когда открыто одно окно WorkAI и нет профилей со своим хранилищем. Иначе перенос повторится при следующем запуске.
В окне подробностей коннектора конфигурация показывается только для просмотра, токены в ней замаскированы.
Что умеет агент
Агенту доступны ровно шесть инструментов:
| Что делает агент | Инструмент |
|---|---|
| Открывает pull request — например, сразу после того, как запушил ветку. Может открыть черновик и запросить ревью у людей или команд | create_pull_request |
| Проверяет, не открыт ли PR для этой ветки уже, чтобы не создать дубль | list_pull_requests |
| Читает pull request: описание, дифф, изменённые файлы, коммиты, ревью и комментарии, статусы и проверки CI | pull_request_read |
| Читает файл или листинг каталога прямо из репозитория, без клонирования | get_file_contents |
Находит репозиторий по неточному названию и превращает его в owner/repo | search_repositories |
| Ищет по коду в репозиториях, к которым у вас есть доступ | search_code |
get_file_contents читает текстовые файлы; очень длинный текст обрезается (до 200 000 символов). Бинарный файл и файл больше 1 МБ агент прочитать не может — он сообщит размер и даст ссылку на скачивание. Поиск работает от вашего имени: приватные репозитории, к которым у вас есть доступ, в результатах появляются.
Если вы исчерпали лимит запросов к GitHub API, агент скажет, когда лимит восстановится, и не будет повторять запрос раньше.
Подтверждение перед созданием PR
Перед create_pull_request WorkAI показывает в чате вопрос — в какой репозиторий, из какой ветки в какую, с каким заголовком и описанием, у кого будет запрошено ревью, — и варианты «Создать» и «Не создавать». Пока вы не ответили, PR не создан, и агент ждёт, а не вызывает инструмент повторно.
Этот вопрос задаётся даже тогда, когда остальные подтверждения отключены режимом автоматического одобрения (см. Режимы и разрешения). Создание pull request'а — действие на стороне GitHub от вашего имени, и WorkAI не выполняет его молча.
В режиме планирования
В режиме планирования агенту доступны все инструменты чтения — он может изучить репозиторий, PR и проверки CI, пока составляет план. create_pull_request в этом режиме недоступен.
Почему инструментов только шесть
Это осознанное ограничение, а не недоделка.
- Единственный инструмент, который что-то меняет, —
create_pull_request. Всё остальное — только чтение. - Изменение файлов, ветки и мерж — не через GitHub API. Их делает локальный git агента, где вы видите diff и подтверждаете действия у себя в редакторе.
- Issues, gists, actions, projects, notifications, discussions и security не подключены. Ни одной функции WorkAI они не нужны, зато раздувают контекст модели и расширяют список того, что можно сделать от вашего имени.
Защита от чужих инструкций
Всё, что агент читает в репозитории — файлы, описания PR, комментарии, — написано людьми, и среди этого текста могут оказаться «подставные» инструкции для ИИ. WorkAI передаёт такое содержимое модели в отдельной пометке «содержимое репозитория, не инструкции» и требует не выполнять команды из него. Это снижает риск, но не исключает его полностью: к тексту из чужого репозитория стоит относиться как к любому недоверенному источнику.
Дополнительно в карточке коннектора есть переключатель «Скрывать комментарии аккаунтов без права записи» (режим lockdown). С ним в публичных репозиториях агент не видит комментарии, ревью и pull request'ы ботов-ревьюеров (CodeRabbit и подобных) и внешних участников. По умолчанию переключатель выключен: иначе агент не прочитал бы ревью ботов, ради которых его часто и просят посмотреть PR. Учтите две вещи:
- в публичном репозитории, куда у вас нет права записи, с включённым режимом чтение pull request'ов перестаёт работать;
- приватные репозитории режим не затрагивает.
Изменение переключателя вступает в силу при следующем запуске коннектора.
Карточка коннектора
В карточке GitHub, кроме входа и токена, есть:
- «Проверить подключение» — запускает коннектор, если он остановлен, и показывает, отдал ли он список инструментов. Сам вход или токен WorkAI проверяет запросом к GitHub при каждом запуске коннектора;
- «Запустить сервер» / «Перезапустить сервер» — например, после смены токена;
- «Показать вывод» — журнал коннектора на случай, если что-то не работает;
- список инструментов — любой из шести можно выключить отдельно;
- общий переключатель — выключенный коннектор не запускается и агенту не виден.
Если что-то не работает
- «Нет токена GitHub» — не выполнен вход и не задан токен. Войдите через GitHub или вставьте токен в карточке.
- «Токен GitHub недействителен или истёк» — войдите заново или замените токен.
- Отказ доступа к конкретному репозиторию — при входе через GitHub почти всегда значит, что приложение WorkAI Agent не установлено на этот репозиторий; с личным токеном — что у токена нет доступа или нужных прав.
- «Не удалось связаться с api.github.com» — проблема сети между вашим компьютером и GitHub.
Чего коннектор не умеет
GitHub Enterprise Server не поддерживается. Коннектор работает только с github.com, и инструменты WorkAI, которые определяют репозиторий по удалённому адресу, тоже распознают только адреса github.com. Для собственной инсталляции GitHub понадобится отдельный MCP-сервер, добавленный своей записью в конфигурации, — как любой сторонний сервер.
Похожие темы
- MCP — общая механика: где включать серверы, как хранятся ключи, как добавить свой сервер.
- Открытие pull request'а — как агент оформляет PR после пуша ветки.
- Git-инструменты агента — коммиты, ветки и пуш локальным git, без привязки к GitHub.
- Интеграция с GitHub в Создателе — экспорт и импорт веб-проекта через GitHub App, отдельная авторизация.