Для разработчиков
🍁 Осень 2026
31 октября 2026

Скиллы и команды плагина «Пачка», руководства по ботам и изменения API

Плагин «Пачка» научил агента писать коллегам по правилам Пачки и получил три команды: summarize-thread пересказывает тред и разбирает замечания из него со статусом по коду, watch-thread следит за тредом и отвечает в нём, post-changes пишет пост об изменениях. Подробнее — на страницах Скиллы и Команды плагина. В Codex плагин отдаёт агенту все инструменты Пачки.

Появились руководства Первый бот, Интерактивный бот, Разработка и запуск обработчика и страница для администратора Агенты и MCP в пространстве. Быстрый старт отправляет первое сообщение, а права для типовых задач собраны в разделе Наборы прав.

Ещё изменения:

+
pachca_update_bot удаляет входящий вебхук бота, если передать kind: null
~
Инструменты напоминаний называются так же, как в интерфейсе Пачки: «Новое напоминание», «Список напоминаний» и другие, имена pachca_*_task прежние
~
pachca_send_message: голосовое сообщение отправляют токеном сотрудника, а для голосового сообщения обязателен duration_ms
+
Команда watch-thread: агент следит за тредом через CLI и отвечает в нём, пока открыта сессия, а без треда открывает его под сообщением или создаёт самостоятельный тред с коллегой. Новые сообщения приходят агенту в Markdown с именами авторов, а текст каждого стоит в теге, как в ответах MCP-сервера
+
Команда post-changes: пост о том, что сделано по задаче или в сессии, в стиле прошлых постов чата, черновиком в поле ввода. При повторном запуске агент обновляет черновик или уже отправленный пост
~
Команда thread-summary теперь называется summarize-thread, как watch-thread: действие, потом тред. Она принимает несколько тредов сразу, пересказывает только новое за названный период и отвечает на заданный вопрос, например «ответили ли мне», а замечания из треда разбирает по пунктам со статусом по коду
n8nv2.2.3
+
Bot: в операции Update у поля Kind есть значение None, которое удаляет входящий вебхук бота
+
Draft: в операции Update переключатель Clear Parent Message ID отправляет parent_message_id: null и снимает ответ на сообщение
+
Bot: в операции Update текст null в поле OAuth Client выключает авторизацию от имени сотрудника
CLIv2026.10.4
+
pachca upload принимает флаг --name: он задаёт имя файла, которым заканчивается key, так что данные из stdin загружаются с расширением и уходят в сообщение под этим именем
~
pachca doctor проверяет тот же токен, что и остальные команды, в том же порядке: --token, --profile, PACHCA_TOKEN, PACHCA_PROFILE, активный профиль, поэтому с одной переменной PACHCA_TOKEN команда проходит в CI без конфига
~
pachca doctor при ошибке хотя бы одной проверки завершается с кодом 1 в любом формате вывода, в том числе с -o json
+
Go: у моделей запроса с полями, которые принимают null, есть поле NullFields: поле, названное в нём по имени в Go, уходит со значением null, например Kind в BotUpdateRequestWebhook удаляет входящий вебхук
+
В деталях событий журнала аудита для токенов, авторизаций, входа в CLI, ботов и их настроек описаны поля, которые пишет API, например access_token_id, access_token_preview, application_id, webhook_id и bot_name, а смену названия токена бота описывает модель AuditDetailsTokenNameChange
+
Kotlin, Python, C# и Swift: у моделей запроса с полями, которые принимают null, есть поле nullFields (в Python null_fields, в C# NullFields). Поле, названное в нём по имени в языке SDK, уходит со значением null: например, kind в BotUpdateRequestWebhook удаляет входящий вебхук, а oauthClient в BotUpdateRequest выключает у бота авторизацию от имени сотрудника. Незаданное поле в запрос не попадает, а неизвестное имя даёт ошибку до отправки запроса.
+
Kotlin, Python, C# и Swift: модели запроса с необязательными полями, которые принимают null, получают поле nullFields (в Python null_fields, в C# NullFields), как NullFields в Go. Названное в нём поле уходит со значением null, а неизвестное имя даёт ошибку до отправки запроса.
+
С флагом --examples запись метода в examples.json хранит в поле examples код вызова для каждого именованного примера тела запроса по ключу примера, а usage самой записи соответствует первому примеру
+
Поле, заданное как anyOf или oneOf из значений разных видов JSON, среди которых есть $ref, типизировано во всех языках: в TypeScript и Python это объединение типов, в Go и C# — тип со свойством на каждый вариант, в Kotlin — sealed-интерфейс, в Swift — enum. Вариант выбирается по виду значения JSON.