Skip to Content
БлогОбновления функций10-29 Обновление продукта

Еженедельный дайджест Qwen Code: открытый PR ведёт /autofix-pr, у задач по расписанию появился гейт, фоновую сессию можно продолжить в терминале

Qwen Team
2026-10-29

На этой неделе Qwen Code выпустил три стабильные версии — v0.26.1, v0.26.2 и v0.26.3 — и принял 357 pull-реквестов.

Отправили PR — дальше за него отвечает /autofix-pr. На вашем компьютере он каждые две минуты следит за PR: упали проверки, коллега оставил замечания, появился конфликт с основной веткой — чинит, проверяет, пушит и в PR отвечает по каждому замечанию.

Задача по расписанию сначала проверяет, есть ли новое. Решает гейт: без перемен раунд не запускается вовсе, и экономия идёт в токены.

Сессию, которая крутится в фоне, возвращают в терминал командой qwen attach. Утром дали ей большой проект, в середине дня вы закрыли то окно; сервис работает, открываете другой терминал, подключаетесь — и диалог продолжается.

✨ Новые возможности

/autofix-pr: сам чинит упавшие проверки и отвечает на замечания ревью

Отправили PR — и дальше нужно самому возвращаться и смотреть: не упали ли проверки CI, что написал коллега, не появился ли конфликт с основной веткой. Теперь запустите /autofix-pr <номер PR>, и Qwen Code ведёт этот PR локально, а неполадки устраняет сам.

Допустим, упал lint: он читает лог этой CI-задачи, правит, прогоняет проверки самого репозитория и только после успеха коммитит и пушит, а в PR оставляет, что именно изменил. Все правки живут в отдельном worktree — каталог, в котором вы пишете, он не трогает. Следит за изменениями он каждые две минуты и берёт только новые. Подробнее: PR #15385 , #15057 

Дописали команды для долгой работы: /autofix-pr status показывает состояние, /autofix-pr resume <номер PR> продолжает присмотр за PR в новой сессии. Если вы выбрали надзор с автозапуском, правки выполняются в фоне; обычный запуск так же следует настройкам одобрения. Подробнее: PR #15510 , #15548 , #15578 

В Web Shell появилась страница «PR watch»: видно состояние надзора по каждому проекту, число пушей и пункты, где нужно решение человека. Надзор, который ведёт текущая сессия Web Shell, открывается с той же страницы: оттуда возвращаетесь в исходный диалог или останавливаете его. Перед стартом, если в ветке PR остались незакоммиченные правки или не запушенные коммиты, он останавливается и объясняет причину. Подробнее: PR #15668 , #15736 

Что это даёт:

  • отправили PR вечером — утром видите, что всё падавшее уже починено и запушено
  • на каждое замечание из ревью есть ответ, а что правиться не может, вынесено на решение человека
  • при конфликте из-за обновлений в основной ветке он сначала подтягивает чужую работу, потом заново прогоняет проверки репозитория

Гейт задачи по расписанию: сначала ваша проверка, модель — только если что-то изменилось

Поручаете ему каждые несколько минут смотреть, есть ли новое: упали ли проверки в PR, не прилетели ли новые issue. Время приходит, но в восьми случаях из десяти нового нет — раунд всё равно прогоняется и заканчивается ответом «ничего нового».

Теперь таким циклическим задачам ставят гейт: небольшую проверку, которую вы описываете сами. При каждом срабатывании сначала идёт она, и это обычная команда. Проверка ничего не нашла — проход на этом заканчивается; нашла — задача продолжает работу и получает то, что увидела проверка. Например, вы следите за сборкой каждые две минуты и настроили скрипт, который печатает только её статус: сборка в порядке — в этот проход ничего не происходит; упала — строка со статусом достаётся модели, и она читает лог и правит. Подробнее: PR #15069 

Команду для гейта пишете вы, и правило у неё простое: молчать, когда всё спокойно, печатать, когда есть что показать, — обычно это небольшой скрипт. Сначала можно попросить Qwen Code написать этот скрипт, а потом прикрепить его к задаче.

В форме задачи по расписанию в Web Shell заполняется именно гейт, а на карточке задачи видно его последние результаты. «Run now» тоже сначала прогоняет гейт и только по выводу запускает задачу. Тот самый надзор за PR выше держится как раз на гейте. Подробнее: PR #15211 

Что это даёт:

  • раз в десять минут смотреть на статус сборки и просить модель править только тот проход, где сборка упала
  • следить за новыми issue: пришли — тогда читать и раскладывать по категориям
  • поставить на гейт работу, которая в восьми случаях из десяти пуста, — экономия целиком в токенах

Гейт задачи по расписанию в Web Shell: последний результат виден на карточке задачи

qwen attach: сессию из фона продолжаем в терминале

На прошлой неделе добавили группу команд qwen daemon, и локальный сервис крутится в фоне. Сессии внутри сервиса живут так же: закрыли терминальное окно, которое их создало, ушли в другое дело, — сессия остаётся на месте. Вернуться в неё можно было только через Web Shell в браузере.

Теперь в терминале достаточно запустить qwen attach --session <номер сессии> — и вы снова в той сессии: прежние ваши реплики и ответы показываются как обычно, каждая новая строка, набранная здесь, уходит как следующее сообщение, а после ответа появляется новое поле ввода. Подняли сервис утром — после обеда открыли другой терминал и продолжили с того же места. Подробнее: PR #15209 

Номер сессии — в адресе этой сессии в Web Shell, строка после /session/. Внутри вы видите поток вывода и поле ввода; автодополнение, история и карточки одобрения из обычного терминала здесь не появляются.

Что это даёт:

  • дали правку большого проекта, закрыли то терминальное окно — вернулись через attach и спросили, на чём остановились
  • длинную задачу из Web Shell можно догрузить репликой вроде «не забудь обновить документацию», для этого достаточно вернуться в терминал
  • сервис запущен на сервере разработки: заходите по SSH и в его терминале возвращайтесь в сессию — смотрите прогресс и дописывайте реплики

Возвращаем сессию из фона в терминале через qwen attach

Web Shell: сессии и workspace стало проще находить и наводить

В боковой панели появилась вкладка «Recent sessions». Диалоги внутри проекта и диалоги без workspace собраны в один список по времени последней активности. Когда открыто несколько проектов, все сессии видны в одном месте — в Recent sessions. Подробнее: PR #14904 

Задания, которые сессия отдала агентам, сворачиваются под ней. Фоновые агенты, форки на ходу и задачи по расписанию со своей сессией висят под той сессией, что их отправила. Ветки одного дела лежат рядом, и основную сессию с её дочерними агентами видно сразу. Подробнее: PR #15714 

Workspace можно упорядочить, а новый — создать по Git-адресу. В меню workspace добавили «Move up» и «Move down», так что рабочие проекты держатся наверху и находятся быстрее. При добавлении проекта выберите Git-репозиторий и вставьте адрес — код скачается, и вы сразу в этом workspace. Подробнее: PR #15360 , #15361 

В workspace можно добавить ещё каталоги — прямо в настройках. В настройках появилась секция «Workspace directories»: список, добавление и удаление путей. Новый путь сразу открывается для всех активных сессий этого workspace. Подробнее: PR #15393 

Прочие улучшения. Имя новой сессии — первая реплика, с которой вы обратились к модели (#15689 ); архив диалогов переехал в отдельный раздел настроек, с группировкой по workspace и фильтром по источнику (#15557 ); ответ можно скопировать целиком в двух видах — «Copy content» даёт текст, «Copy Markdown» исходник (#15345 ); язык ответов виден и выбирается в панели настроек рядом с языком интерфейса (#15363 ).

Сессии и workspace в боковой панели Web Shell: сортировка и добавление по Git-адресу

📊 Прочие новинки

Параметры из интерактивной карточки уходят обратно в диалог. Карточка считала и останавливалась: чтобы продолжить работу с этими числами, их приходилось перепечатывать и отправлять заново. На карточке появилось действие, которое отдаёт применённый набор параметров той же сессии; перед отправкой видно зафиксированный список, подтверждаете — и он уходит. Подробнее: PR #15333 

Память, накопленную в Codex, можно перенести к себе. Сначала показывается предпросмотр: выбираете, какие куски переносить и в какой объём; порядок в них наводит модель, настроенная для этого workspace, после чего записи попадают в память Qwen Code — дальше они так же ищутся, используются и забываются. В командной строке запускайте qwen memory import codex, отдельно можно добавить --dry-run. Подробнее: PR #14281 

Одной команды на своём компьютере хватает, чтобы поднять и локальный сервис, и Managed Agent. Запустите qwen serve --managed --open — обычные и управляемые сессии окажутся в одном интерфейсе, база данных идёт в комплекте. Нужны Node.js 22 или выше и Java 21; функция экспериментальная и рассчитана на ваш собственный компьютер. Подробнее: PR #14928 

В управляемой сессии можно перебить агента и настроить права под неё. Пока агент занят, ваши реплики и приложенные файлы встают в очередь и уходят модели в безопасной точке; очередь правится и отменяется. В простое для этой сессии задают свои правила «разрешить», «спросить», «отклонить» или выбирают одобрение Auto. Подробнее: PR #15449 , #15448 

Управляемые сессии передают файлы, берут страницы веба и держат свой список задач, а новые по умолчанию поручают работу дочерним агентам. Файл из браузера уходит в выбранный workspace (до 8 МБ), путь подставляется прямо в сессию; сессия также берёт открытые веб-страницы и держит у себя список задач. Подробнее: PR #15586 , #15313 , #15089 , #15171 

Веб-поиск понимает домен вашего собственного шлюза. Команды, которые гонят весь трафик моделей через свой шлюз, раньше не могли включить поиск: собственный домен не распознавался, и без правки исходников обходного пути не было. Теперь достаточно одной настройки — домен и все его поддомены распознаются. Подробнее: PR #15638 

👏 Улучшения UX

Режим Workflow теперь живёт в сессии. Включите его через --workflow-mode on или /workflows mode on — и остальные раунды этой сессии идут с этой настройкой. У восстановления, форка, отката и очистки своё поведение; неудачное переключение возвращает прежнее состояние. Оба терминальных интерфейса показывают, включён ли режим; в песочнице Docker переключатель переезжает вместе с сессией. Подробнее: PR #15422 , #15743 

В OpenTUI, втором терминальном интерфейсе, закрыли несколько пробелов. Пока поле ввода пустое, пробел запускает голос: транскрипция, отмена, запрос доступа к микрофону и состояние записи подключены. После выхода и возврата видно ранее записанные текст, картинки и результаты инструментов; откат возвращает диалог, следующий запрос и черновик к той же точке. Чекпойнт пишется в момент реального одобрения правки. Вкладки «Discover» и «Sources» у расширений доведены до конца установки. Ставить Bun на свой компьютер больше не нужно. Подробнее: PR #15617 , #15384 , #15389 , #15671 , #14959 

Когда контекста почти не осталось, пачка результатов инструментов сжимается по остатку места. Остаток делится на всю пачку: сначала вычитаются текст, картинки и структуры, которые нужно сберечь, а полные оригиналы как и раньше ложатся на диск и остаются доступны. Если целое сообщение об усечении не влезает, пачка уходит обычному сжатию. Подробнее: PR #13599 

Модели с контекстом в миллион токенов определяются. qwen4 этого поколения и qwen-latest-series по приглашению теперь получают окно в один миллион токенов вместо небольшого окна по умолчанию. Подробнее: PR #15758 , #15762 

В настройках показаны только те модели, которые провайдер отдаёт сейчас. Снятые названия из списка убрали, убрали и модель, где переключатель «выключить рассуждение» на деле ничего не выключал, а картинки для DeepSeek перестали считаться неподдерживаемыми. Alibaba ModelStudio по стандартному API-ключу: заполнили ключ и регион — и выбираете модели, доступные вашему аккаунту. Подробнее: PR #15184 , #15189 , #15164 

🔧 Важные исправления

ИсправлениеЧто это значит для васPR
Выделение в чате VS Code копируетсяВыделили текст в истории, нажали Ctrl+C или «Копировать» по правому клику: подсветка оставалась, буфер обмена не менялся (а без выделения его ещё и чистили). Теперь выделенное попадает в буфер#15403 
Картинки и файлы во вложении не теряются при переходеНабрали текст, ещё не отправили, перешли в другую сессию или обновили страницу — вложения остаются вместе с черновиком; основной вид и split-view одной сессии делят один черновик#15025 , #15303 
Оценка стоимости не считает токены рассуждения дваждыКогда интерфейс не возвращал общее число токенов, токены рассуждения попадали в сумму дважды, и цена выглядела выше реальной. Теперь каждая порция считается отдельно и только потом складывается в итог#15464 
Переименование сессии не тормозит при сотнях записейКогда в боковой панели накопились сотни сессий, переименование перерисовывало весь список, и ввод отставал. Теперь перерисовывается только поле ввода#15688 
Интерактивная карточка больше не врёт про «посчитано»Вы поменяли число на карточке, фоновый процесс ответил «готово» — и интерфейс показал успешный пересчёт, хотя правка могла потеряться или остаться необработанной. Теперь эти случаи выглядят по-разному, и пропущенный проход виден, даже если следующий прошёл успешно#15004 
Карточка сохраняет состояние при переходахЛистали историю, переключали сессию, нажимали новую задачу, переходили между основным видом и split-view — введённые значения и результат сбрасывались. Теперь остаются как были#15611 
Сломанная карточка не доходит до васОшибка в разметке, сбой при первом расчёте, ссылка на несуществующий элемент — и вы получали нерабочую карточку. Теперь она сначала прогоняется сама, а ошибка с номером строки и колонки возвращается модели на исправление#15790 
Свежесозданная карточка сразу работаетПока сессия шла, результат приезжал в виде заглушки с просьбой переоткрыть, и только перезагрузка страницы давала управление. Теперь карточкой можно пользоваться сразу при появлении результата#15787 
Карточки не уходят туда, где их не видноВ терминале и при однократном прогоне модель говорила «карточка готова, подвигайте ползунки», хотя показать её было негде. Теперь карточки получают только интерфейсы, которые их умеют отображать#15720 
На узком экране карточка артефакта не налезает сама на себяНа телефоне длинная строка с информацией о файле вылезала за свою рамку, а кнопки скачивания и открытия ложились на текст сверху. Теперь они под информацией о файле#15300 
Сбой установки скилла называет причинуРаньше в диалоге было только «не установилось». Теперь назван класс проблемы — формат, поле, несовпадение имени, структура пакета, небезопасный путь, — и следом идут подсказки, что делать, на английском и китайском#15013 
Подтверждение от плагина больше не проходит молчаПри включённом автоодобрении запросы на подтверждение от самого плагина пропускались автоматически. Теперь они всегда приходят вам, и в диалоге видно, какой плагин их задал#15306 
Порядок рассуждения и ответа сохраняетсяКогда рассуждение и ответ шли чередующимися кусками, в терминале и в записи порядок сбивался. Теперь это содержимое с последовательностью: готовый кусок сверху раскрывается и читается, пока нижние ещё поступают#15621 
Обрезанный по длине запрос на правку не дописывает файлыКогда вывод модели упирался в лимит длины и параметр приходил наполовину, запись всё равно выполнялась. Теперь такой вызов отклоняется по тем же правилам, что в терминале, и текст ошибки одинаков для обоих#15346 
Чужие теги вызова в параметре больше не рушат весь батчЕсли значение параметра случайно содержало обрывок тега из другого вызова, отбрасывался весь вызов инструмента. Теперь целый внешний вызов спасается, а некорректная часть отклоняется отдельно#13579 
Экранирование в квадратных скобках sed читается верноЗаписи вида s/[ \t]*$// трактовались как escape-последовательности JavaScript, диапазон подстановки уезжал, и нужные пробелы не удалялись. Теперь скобки и всё остальное читаются по одним правилам, а \t и подобные уходят настоящему sed#13557 
Local Control сам берёт свободный портЕсли предпочитаемый порт уже занят другим, запуск падал. Теперь он повторяет запуск со свободным портом, который выдала система, а адрес сопряжения, разрешённые источники и статус показываются по фактически занятому порту#12352 
Каждая группа QQ получает свою сессиюПри настройке бота по темам разные группы попадали в одну сессию. Теперь каждая группа снова со своей сессией. Это изменение поведения#13882 
Смена каталога не выглядит как прерванная сессияСлужебные записи, которые подтягивает обновление каталога, принимались за вашу незаконченную реплику, и при восстановлении вас зря спрашивали, продолжать ли. Теперь засчитываются только действительно незакрытые подсказки и незавершённые вызовы инструментов#15012 
Отмена в OpenTUI не ломает повторПри повторе пропадали подготовленные файлы и картинки, а уже отменённая команда успевала выполниться в момент записи истории. Теперь оба случая закрыты#15283 
На Linux диалог выбора каталога предлагается, когда он действительно работаетБез подключения к графическому сеансу кнопка выбора каталога оставалась на месте и приводила к ошибке. Теперь при запуске сначала проверяется доступность отображения, и кнопка появляется, когда диалог откроется#15434 
Картинки и PDF от провайдера доезжают до моделиТо, что прочитали инструменты, раньше не проходило. Теперь проходит: картинки идут через прежнюю безопасную обработку, PDF передаётся исходником или извлечённым текстом#13606 
Отказ от правки в VS Code выводит интерфейс из режима редактированияПосле отклонённой правки сообщения интерфейс оставался в редактировании, и следующая обычная реплика не отправлялась. Теперь отказ выходит из редактирования, а при успешной правке прежнее место отката сохраняется#15439 
Управляемые сессии: элементы интерфейса собраны вместеПереименование переехало в меню каждой сессии в боковой панели; MCP и расширения ведутся через раздел Plugins; при создании задачи убрана повторяющая строка с каталогом, моделью и рантаймом. Поменять рабочий каталог у уже запущенной сессии нельзя, при создании выбор каталога остаётся. Это изменение поведения#15616 

👥 Участники

УчастникВкладСсылки на PR
@deggs7 вкладка «Recent sessions» в боковой панели, архив диалогов переехал в настройки, вход для создания группы переехал в меню workspace, строка состояния упрощается вместе со скрытием подсказок загрузки#14904 , #15557 , #15320 , #15423 
@Jun516 добавлено по одной проверке: на передачу фокуса при повторном открытии деталей сессии и на спиннер в заголовке во время работы#15351 , #15371 
🆕 @sxl-lucky7 🎉 Первый вклад: поправлен пример первого запуска гейта у задачи по расписанию, пояснён учёт расхода при разных способах входа#15452 , #15554 
🆕 @Aling33 🎉 Первый вклад: при падении проверок Java SDK сохраняются отчёт о сбое и причина в SQL#14910 
@barry166 зафиксирован путь загрузки отчётов JUnit#15502 
@CanReader зафиксировано экранирование атрибута языка html в веб-вью#10492 
@Eric-GoodBoy-Tech каждая группа QQ снова получает свою сессию при настройке бота по темам#13882 
🆕 @EthDing 🎉 Первый вклад: сообщения лога о переполнении диска перехватываются как ожидается#8549 
@he-yufeng тесты управления правами изолированы от разделяемого состояния памяти#11401 
@jabrailkhalil добавлены тесты полного жизненного цикла вложений из Feishu — от получения до записи#13278 
@MohammedAlkindi исправлено чтение экранирования в квадратных скобках в эмуляции sed#13557 
@shpaker дописаны разделы про .agents/skills и skills.directories#15086 
@Sumire-no-kai при занятом порте Local Control берётся свободный, выданный системой#12352 
@waybarrios эмуляция sed перестала перехватывать длинные ключи, которые она не разбирает#15223 
@yar3333 копирование выделенного текста в чате VS Code не сбрасывает выделение#15403 

Обновление: выполните npm i @qwen-code/qwen-code@latest -g для обновления до последней версии.

Если у вас есть вопросы или предложения, будем рады обратной связи на GitHub Issues !

Last updated on