Возможности
- Действия запросов автоматизации могут задавать уровень рассуждений для каждого действия — действия запросов в
automations.jsonтеперь принимаютthinkingLevel, соответствуя существующим переопределениямllmConnectionиmodelдля каждого действия. Значение проверяется в общей схеме, передаётся через отложенные запросы и путь RPC «Запустить тест», и передаётся в создаваемые сессии автоматизации с теми же семантиками fallback по умолчанию из workspace, что и ручные сессии. Устаревшие значения"think"мигрируются вместо нарушения анализа конфигурации. (3f8a7d13) - Строки действий автоматизации теперь отображают значки выбора модели — страница Automation Info отображает настроенные переопределения подключения, модели и уровня рассуждений в виде компактных значков под каждым действием запроса, чтобы пользователи могли проверять, какая автоматизация будет запущена на какой модели, не открывая
automations.json. (78d08edd)
Улучшения
- Сообщения в очереди посередине потока подтверждаются видимо без светящихся пузырей — когда пользователь отправляет сообщение, пока агент уже отвечает, оптимистичный пузырь пользователя теперь сохраняет встроенный пульсирующий индикатор
Queuedне менее 2,5 секунд, включая сессии Pi/DeepSeek/OpenAI-совместимые, чей бэкенд подтверждает почти мгновенно. Пузыри ожидающих пользователей больше не используют глобальный оверлей shimmer; значок очереди — единственное временное визуальное состояние. Финальная реализация сохраняет стабильный React-ключ оптимистичного состояния, чтобы таймер не сбрасывался каноническим id сообщения сервера. Исправлено . (eb81086e, 0d9ca6b5, 083e6f90, 67353f42, fee4c2d1) - Сбои вызовов инструментов OpenAI-совместимых теперь дают действующую диагностику — объединённый сетевой перехватчик проверяет исходящие тела Chat Completions и Responses API перед отправкой к провайдеру, обогащает непонятные ответы с пустым телом
400очищенными сводками запросов, и сообщает о нарушенных историях с структурированными деталями ошибок вместо того, чтобы оставлять сессии застрявшими на сообщениях, специфичных для провайдера. Частично решает . (ab3c8eac) - Разработка перехватчика теперь использует живой исходный код в запусках монорепозитория — непакетированные подпроцессы Pi предзагружают
packages/shared/src/unified-network-interceptor.tsнапрямую вместо устаревшего собранного пакета, так что изменения в перехватчике вступают в силу после перезапуска подпроцесса во время разработки. Новый переключательCRAFT_DEBUG_SSE_RAW=1может дампить сырые строки OpenAI-совместимого SSE вinterceptor.logпри диагностике поведения ретрансляции. (13d13635)
Исправления
- Вызовы инструментов DeepSeek и OpenAI-совместимых больше не загрязняют историю воспроизведения дубликатами или отсутствующими id — пересборка потока теперь удаляет дубликаты ретрансляций, повторяющие
tool_call.id, обрабатывает провайдеров, опускающихtc.indexв дельтах аргументов, и объединяет двухфазный поток DeepSeekid/name+ сдвинутых аргументов в одно логическое событие вызова инструмента. Воспроизведение Responses API теперь синтезирует детерминированные отсутствующие значенияcall_idи удаляет осиротевшие выходы. Уже загрязнённые истории очищаются при воспроизведении путём удаления вызовов инструментов с пустыми id и осиротевших результатов, так что затронутые сессии могут восстановиться без ручных правок JSONL. Исправлено , и . (ab3c8eac, 13d13635) - Очередные сообщения остаются в чате при молчаливых перенаправлениях — рендерер теперь различает явные остановки пользователя с молчаливыми перенаправлениями бэкенда: пузыри очереди восстанавливаются в поле ввода только при намеренной остановке, тогда как фоновые перенаправления оставляют пузырь в чате для повторного воспроизведения бэкендом.
sendMessageтеперь подтверждает сохранение с помощью{ accepted, messageId }, сбои повторного воспроизведения очереди вызывают типизированную ошибку повтора, и логы границ очереди упрощают триаж поддержки. Исправлено . (eb81086e) - Мини-завершения Pi/Codex избегают неподдерживаемых вариантов
codex-miniпри аутентификации через ChatGPT-аккаунт — генерация заголовков, резюмирование и мини-завершения теперь фильтруют всю семьюcodex-miniна этапе выбора для подключенийopenai-codexс аутентификацией через ChatGPT-аккаунт, предотвращая ошибку «не поддерживается при использовании Codex с аккаунтом ChatGPT» до попытки запроса. (95618531) - Встроенные инструменты Pi безопасно принимают метаданные AIKraft UI — строгие схемы инструментов Pi теперь разрешают корневые поля
_displayNameи_intentAIKraft на границе адаптера, затем удаляют их перед вызовом реализации встроенного инструмента. Это сохраняет более богатые метаданные вызова инструмента в UI без нарушения проверки схемы для встроенных инструментов. (16d103d2) - Вложения очищаются после отправки — композер теперь очищает загруженные вложения после отправки сообщения вместо того, чтобы оставлять ранее прикреплённые файлы готовыми к случайной повторной отправке. (70f9a80a)
Несовместимые изменения
- Нет.