Перейти к содержимому
Paperclip v2026.831.0: Node.js 24, Kimi Code и новые возможности для AI-агентов
7 мин чтения

Paperclip v2026.831.0: Node.js 24, Kimi Code и новые возможности для AI-агентов

paperclipai-agentsnode-jskimi-codeagent-securityrelease-notes

Дата выпуска: 31 августа 2026 года

В релизе v2026.831.0, который ранее тестировался как 2026.828.0-beta.0, — 175 коммитов. Главное: библиотека навыков наконец стала доступна AI-агентам прямо во время выполнения задач, появился полноценный адаптер Kimi Code, а операторы инсталляций получили более точный контроль над тем, какие настройки видят пользователи. Заодно переработаны песочницы, онбординг и механизмы восстановления задач.

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

Критические изменения

  • Минимальная версия Node.js — 24.11.0. Все манифесты пакетов обновлены, Docker-образы уже включают Node 24. Управляемая установка через paperclipai install не запустится на старой версии. Установки через npm и прямой запуск на Node 22/23 пока продолжают работать с предупреждением, но это не означает официальную поддержку. Перед обновлением проверьте node --version.
  • Недействительные учётные данные агента больше не понижаются до анонимного доступа. Некорректный Bearer-токен возвращает 401 с причиной: срок действия истёк, подпись не верифицирована, агент завершён, указана другая организация и так далее. Интеграциям, рассчитывавшим на прежний «тихий» резервный вариант, потребуется исправление.
  • Удалены поля brandColor и attachmentMaxBytes. Они исключены из интерфейса, API создания и обновления организаций, а также из манифеста переносимости. Миграция 0229 удаляет соответствующие столбцы. Старые экспортированные пакеты импортируются без ошибки, но значения этих полей игнорируются.
  • «Молчащие» запуски больше не запускают восстановление сами по себе. Отсутствие вывода остаётся видимым в интерфейсе как подозрительный или критический сигнал, однако система не создаёт автоматически оценку проблемы, комментарий, запрос на пробуждение или действие восстановления. Зависшие задачи также не будут самовольно переназначаться.
  • Рассуждения агента не попадут в автоматические комментарии к задачам. Сводки ACPX ограничены финальным сегментом вывода. Устаревшая настройка полной сводки намеренно не может обойти это ограничение — мера вполне разумная с точки зрения безопасности AI-агентов.
  • Grok больше не передаёт --permission-mode dontAsk неявно. Флаг режима разрешений отправляется только при явной настройке. Для автономной работы по-прежнему доступна политика --always-approve.

Ключевые нововведения

  • Навыки стали реально доступны агентам. Каждый запуск получает детерминированный манифест библиотеки навыков организации в инструкциях; навыки можно перечислять через MCP. При установке появляется шаг «Включить для агентов» с предварительно выбранными совместимыми агентами. Если навык не удаётся материализовать, причина видна в выводе запуска — без тихого исчезновения, которое обычно раздражает больше всего.
  • Kimi Code получил статус полноценного адаптера. Адаптер kimi_local запускает Kimi Code CLI от Moonshot через общий движок ACP: доступны потоковые расшифровки, жизненный цикл инструментальных вызовов и единая модель работы с Claude, Codex и Gemini. При отсутствии компонентов ACP включается резервный headless-режим CLI.
  • Операторы могут скрывать отдельные настройки. Переменная PAPERCLIP_HIDDEN_SETTINGS скрывает разделы по ключам: настройки экземпляра, экспериментальные флаги, Members, Invites, Secrets, Export, Import, репозитории провайдеров и Proposals. При скрытии company.import отключается и API импорта. Это пригодится тем, кто строит управляемые мультиагентные системы для нескольких внутренних или внешних команд.
  • Переменная PAPERCLIP_SETTING_DEFAULTS задаёт значения по умолчанию. Она переопределяет значения выбранных настроек экземпляра на уровне схемы, не записывая данные в хранилище. В режиме управляемой песочницы дополнительно скрываются параметры путей хоста и движка выполнения.
  • Мост обратных вызовов песочницы стал устойчивее. Изолированные агенты теперь предпочитают ограниченный дуплексный транспорт Node HTTP/2. Файловый relay с опросом сохранён как устаревающий запасной вариант. Данные проходят в бинарном виде, потребление ресурсов учитывается точнее, а ошибки канала больше не маскируются «успешным» завершением запуска с потерянными записями. Транспорт v1 удалён полностью.
  • Онбординг сократили. Шаг с миссией убран: мастер начинается с создания агента, для которого требуется только имя. Агенты, добавленные во время первоначальной настройки, получают роль general. Проверка окружения по-прежнему запускается при подключении и блокирует найм при ошибке, просто отдельную пустующую карточку для неё убрали.

Улучшения платформы

  • Sentry можно подключить по желанию. Укажите SENTRY_DSN и установите необязательную peer-зависимость @sentry/node, чтобы включить серверный сбор ошибок. DSN передаётся в аутентифицированной сессии и позволяет браузеру отправлять отчёты из React error boundary. Нет DSN или пакета — ничего не ломается.
  • Импорт организаций стал понятнее. Для импортированных организаций дедуплицируются имена, повторный импорт указывает созданную организацию, а в финале появляется кнопка перехода к панели управления. Агенты, приостановленные импортом, получают отдельную причину паузы, уведомления и кнопку Resume; на дашборде отображается баннер Resume all.
  • Настройки унифицированы. Навигация для организации и экземпляра приведена к одному формату. Приглашения перемещены на вкладку Members, отдельная страница Heartbeats удалена, а в интерфейсе вместо слова «компания» используется «организация». В хостинговой версии префикс задач теперь формируется из имени организации и меняется при переименовании.
  • Управление окружениями стало безопаснее. Удаление окружения выполняется по шагам: агенты переназначаются в рамках того же действия, показываются владельцы аренд, а уничтожение многоразовых песочниц требует явного подтверждения. Для корпоративной эксплуатации это небольшой, но правильный шаг в сторону AI compliance и соответствия требованиям.
  • Передача файлов в песочницы ускорена. Синхронизация рабочего пространства, ресурсов и подключённых проектов выполняется параллельно там, где это поддерживает провайдер. Загрузки в Daytona сжимаются zstd с резервным вариантом без сжатия; при подготовке проектов учитывается .gitignore.
  • Управляемые рабочие пространства лучше переживают перезапуски. Добавлены общий реестр портов, heartbeat аренды, проверки идентичности, контролируемая замена повреждённых встроенных БД и одноразовые подписанные тикеты для передачи авторизации. Клонированные worktree изолируют сервисы и не конфликтуют с исходными копиями.
  • Пробуждение и восстановление задач стали точнее. Ответы на вопросы доставляются через выделенный журнал, повторные попытки переживают перезапуски, а временные сбои обычных запусков очищаются при возобновлении работы. Авторизация возобновления агента выполняется через прямые предоставления прав.
  • Несколько полезных мелочей. «Agent mode» переименован в «Auto mode», входящие элементы можно архивировать, неактивные вкладки обновляют релиз в течение часа, а dev-runner учитывает изоляцию --data-dir.
  • Добавлен нативный раннер Codex. Адаптер paperclip_runner доступен за выключенным по умолчанию флагом enableNativeRunner. Пока флаг не включён, он отклоняет найм и запуски; действующие адаптеры работают без изменений.

Исправления

  • Регистрация и вход совместимы с Better Auth 1.7. Миграция 0230 добавляет ожидаемый столбец issuer и заполняет существующие записи.
  • Исправлен редактор форматированного текста. Причиной была вторая копия Lexical из устаревшего override, нарушавшая идентичность узлов. Теперь используется одна закреплённая копия; текст с угловыми скобками тоже больше не выбивает редактор из колеи.
  • Docker очищает осиротевшие процессы. В серверном образе tini работает как PID 1, поэтому процессы, оставшиеся после завершения родителя, не копятся в виде зомби. Поведение проверяется в CI.
  • Обновлены адаптеры. Hermes показывает фактический текст рассуждений из событий reasoning.available; Grok не выдаёт ложное предупреждение о sentinel-модели; адаптеры Claude, Codex и Gemini используют единый teardown восстановления рабочего пространства.
  • Доработаны плагины и чат задач. Плагины с ошибкой повторно запускаются при загрузке, deep link на сведения о плагине сохраняется после обновления страницы, а пакеты получают реальный JSX runtime хоста. Поле чата очищается сразу после отправки и восстанавливает черновик при ошибке; статус запуска в динамической части отображается корректно.
  • Улучшена синхронизация Git-рабочих пространств. Истории без общего предка прививаются вместо аварийного завершения запуска, merge-коммиты получают детерминированную идентичность, а подготовка PR может подключаться к существующей ветке, не меняя её.
  • Исправлены серверные пограничные случаи. В том числе обработка пространств имён загрузки изображений, защита setup-токенов, подготовка окружений sandbox-драйверов, темы Markdown-кода и период ожидания перед удалением терминальных worktree.

Исправления службы онбординга из этого диапазона — цикл сбоев фоновой службы после npx onboard, дублирующий запрос на запуск и завершение настройки без открытия дашборда — уже были доставлены в стабильной версии v2026.824.1.

Рекомендации по обновлению

  • Сначала обновите Node.js. Требуется версия 24.11.0 или новее. Docker-пользователи получат Node 24 в составе образа; при установке из исходного кода или использовании собственного базового образа обновление нужно выполнить самостоятельно.
  • Проверьте миграции базы данных. В релиз включены миграции 02230230: связи secret-proposal с interaction, унифицированные сессии адаптеров, индекс дедупликации восстановления, таблицы нативного раннера, надёжная доставка ответов, удаление устаревших полей организации и столбец issuer. Они запускаются автоматически при старте. Данные удаляет только миграция 0229, и лишь из двух уже отменённых полей.
  • При необходимости задайте новые переменные окружения.
    • PAPERCLIP_HIDDEN_SETTINGS — список разделов настроек, скрываемых для пользователей.
    • PAPERCLIP_SETTING_DEFAULTS — JSON-объект со значениями по умолчанию для настроек экземпляра.
    • SENTRY_DSN — включает мониторинг ошибок; для серверного захвата добавьте @sentry/node@10.71.0.
    • PAPERCLIP_WORKSPACE_REAPER_COOLDOWN_DAYS — число дней до удаления worktree терминального рабочего пространства; по умолчанию 7, значение 0 отключает задержку.
  • Учтите изменения API и поведения. Клиенты, передающие brandColor или attachmentMaxBytes, теперь получат ошибку валидации. Невалидные токены агента возвращают 401; молчащие запуски не инициируют автоматическое восстановление; неявный режим Grok --permission-mode dontAsk удалён.

Апдейт такого масштаба упирается обычно не в чтение changelog, а в свободные руки: breaking-изменения в рантайме, новая минимальная версия Node, пересобранные песочницы и права требуют регресса и плана отката. Если этих рук нет, мы возьмём на себя обновление и сопровождение агентской инфраструктуры.

Участники

В релиз вошли 175 коммитов от 13 участников. Спасибо @aaymeloglu, @harjothkhara, @hawikk, @nearfolk, @tf00185077, @zach-hermes, @zannis и всем остальным авторам.