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

Еженедельный дайджест Qwen Code: видно, какой файл занял контекст, один SSH-адрес открывает проект на другой машине, прерванный рабочий процесс продолжается с того же места

Qwen Team
2026-09-24

На этой неделе Qwen Code выпустил четыре официальных релиза — с v0.24.1 по v0.24.4 — и принял 200 pull-реквестов.

Когда контекст заполнен, видно, какой файл и какое расширение его заняли. Понятно, что отключать, чтобы освободить место.

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

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

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

Контекст разложен по источникам: видно, какой файл и какое расширение его заняли

/context разводит контекст по источникам: системный промпт, встроенные инструменты, инструменты MCP, файлы памяти, навыки, файлы расширений; на этой неделе добавились ещё две строки — «Стартовый контекст» и «Префикс кэша». Через /context detail видно конкретные файлы: всё, что пришло из расширений, помечено Extension: имя расширения · имя файла, и для каждого указано, сколько он занимает. Терминал и Web Shell показывают одно и то же.

Перерасход помечается сразу. Если постоянный контекст (QWEN.md и автопамять) вместе превышает меньшее из двух значений — 15% окна или 10 000 токенов, — при загрузке появляется предупреждение.

Правила из расширения можно включать только по попаданию в файл. Контекст подмешивается, когда вы открываете именно тот файл, к которому правило привязано; в остальное время место не занимает.

Что это даёт:

  • Контекст на исходе — сначала смотрите, какие файлы и какое расширение его съедают
  • Поставили расширение и контекст подрос — /context detail покажет, из-за чего именно
  • Предупреждение о перерасходе сразу отвечает, что сокращать: QWEN.md или автопамять

Подробнее: PR #12119 , #12318 , #12034 

Панель /context detail раскладывает расход контекста по источникам — системный промпт, встроенные инструменты и прочее, построчно

Проект на другой машине подключается по одному SSH-адресу

Проект лежит на сервере, в сборочной машине или у коллеги, а менять его нужно вам. Раньше для этого на той машине сначала ставили Qwen Code, поднимали сервис и только потом вписывали адрес. Теперь в Web Shell при добавлении рабочей области вместо пути каталога пишете SSH-адрес:

ssh://user@host/absolute/project

Если Qwen Code там не установлен, регистрируете рабочую область этим адресом; если сервис уже запущен, один раз сохраняете адрес и токен — и дальше просто выбираете её при добавлении. После регистрации всё идёт через один ваш локальный диалог: чтение и запись файлов там, команды там же, состояние Git тоже там. Свежедобавленная рабочая область доступна только на чтение — менять в ней документы можно после того, как выдадите разрешение «Доверять».

Что это даёт:

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

Подробнее: PR #12255 , #12085 , #12412 

Диалог добавления рабочей области: в поле пути сразу вписан ssh://-адрес

Прерванный рабочий процесс продолжается с того же места

Процесс не успел добежать до конца — вы ушли домой, машина ушла в перезагрузку. Раньше это означало запускать всё заново; теперь каждый запуск оставляет запись, и следующий старт начинает с того места, где всё оборвалось.

После перезапуска напоминание приходит само. Запуская Qwen Code, вы видите в стартовом сообщении, какой запуск прервался, на каком шаге он остановился и сколько дочерних агентов уже отработали, плюс подсказку заглянуть в /workflows. Эти запуски попадают и в историю.

На карточке запуска в истории Web Shell есть кнопки. «Повторить сбойную ветку» перезапускает только то, что не удалось, «Перезапустить всё» начинает с нуля.

Что это даёт:

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

Подробнее: PR #12159 , #12291 , #12097 

Запуск воркфлоу в истории Web Shell: три этапа — Scan → Review → Verify — развёрнуты потоком, у каждого дочернего агента видны статус и длительность, справа вверху кнопка «Перезапустить всё»

Web Shell: сразу несколько обновлений

Перед одобрением правка видна целиком. Карточка подтверждения сама перечисляет, какие строки добавлены и какие удалены; это работает для изменения файла, создания нового и правки notebook. Подробнее: PR #12443 

Большая вставка сворачивается в карточку. Всё, что длиннее 200 строк или 8000 символов, сворачивается автоматически; заголовок берётся из начала текста, а кнопка «Показать в поле ввода» возвращает содержимое обратно. Не сворачиваются вставки, начинающиеся с / или !, короткие вставки и замена выделения. Подробнее: PR #12084 

В правую панель добавляется вкладка Trajectory. Раунд показался медленным или дорогим — открываете вкладку Trajectory и видите, куда ушло время: сколько длился каждый раунд, когда появился первый символ, сколько токенов потрачено и какой вызов инструмента стоил дороже всего. Вход — в правой области расширений через «Добавить вкладку», где и выбирается Trajectory. Подробнее: PR #12388 

История Git стала обозримее. Коммиты в Web Shell показываются графом веток, можно переключаться между всеми ветками и искать по сообщению коммита, автору или хешу. Адреса удалённых репозиториев добавляются и удаляются там же, в интерфейсе, — терминал с командами не нужен. Вход — на метке ветки над полем ввода. Подробнее: PR #12152 , #11163 

Прочие улучшения. Переключатель режима планирования убран из панели инструментов поля ввода в меню «+», а пока режим включён, над полем ввода остаётся снимаемая метка (#12218 ); файл, экспортированный через /export, виден в диалоге карточкой с предпросмотром и скачиванием (#12050 ).

Вкладка Trajectory в правой панели: длительность каждого раунда, задержка до первого символа и самые долгие вызовы инструментов — всё как на ладони

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

Web Shell устанавливается как обычное приложение. Справа в адресной строке появилась кнопка установки: один клик — и у сервиса свой значок и отдельное окно, как у приложения из магазина. Нужен Chrome / Edge 111 и выше, Firefox 128 и выше или Safari 16.4 и выше, а адрес должен быть локальным (127.0.0.1 или localhost) либо отдаваться по HTTPS; по IP из локальной сети установить не выйдет. Подробнее: PR #11722 

В десктопной версии масштабируется текст окна. Cmd / Ctrl с -, = или 0, либо щипок двумя пальцами на тачпаде — от 50% до 300%; при следующем запуске остаётся тот масштаб, который вы выставили. Подробнее: PR #12410 

Квота Goal видна над полем ввода. Строка состояния, кроме прежнего бюджета токенов, показывает ещё лимиты раундов и времени — например 3 / 20 turns или 12m 3s / 30m 0s; у Goal без лимитов всё по-прежнему. Экспорт через /export теперь содержит и весь путь Goal. Подробнее: PR #12201 , #12099 

Goal засчитывает выполнение по фактическому ходу диалога. Даёте цель через /goal, она отрабатывает несколько раундов, но собственное «готово» из реплики Goal ничего не доказывает: приёмка перечитывает последние раунды и смотрит, что действительно произошло. Не сходится — цель считается невыполненной. Подробнее: PR #12105 

Дочернего агента можно запереть в контейнере. Поручаете ему просмотреть весь репозиторий и гоняете кучу команд — и не боитесь, что он доберётся до SSH-ключей и учётных данных в домашнем каталоге: каждая команда и каждый ввод-вывод остаются внутри контейнера Docker или Podman, и доступна для записи только рабочая область. Включается это до запуска, через QWEN_AGENT_EXECUTION_BACKEND=docker; цена — при таком запуске отключаются рабочие процессы, Agent Team, MCP, LSP и навыки, а Windows пока не поддерживается. Подробнее: PR #11711 

У одного провайдера можно смешать два протокола. Хотите, чтобы отдельная модель работала по протоколу OpenAI Responses, — добавляете в её запись строку "wireApi": "responses"; остальные модели идут по-прежнему через Chat. В /auth при настройке своего провайдера появился необязательный шаг «Выбор формата API». Подробнее: PR #11538 

👏 Улучшения UX

Web Shell на телефоне стал удобнее. Если сервис слушает внешний адрес, QR-код для сопряжения появляется и в правом верхнем углу страницы сессии: навели камеру телефона — и вы в текущей сессии, вводить токен вручную не нужно. Поле ввода на мобильной странице переверстано: с десяток действий убраны в выдвижной ящик «Добавить к сообщению». Подробнее: PR #12322 , #12252 

Вокруг поля ввода стало чище. Пока сессия не создана, выбор рабочей области и метка ветки Git уехали из панели инструментов поля ввода в отдельную строку ниже; после создания сессии от рабочей области остаётся только значок папки наверху, а полный путь виден по наведению мыши. Карточки-артефакты со ссылками в диалоге теперь открываются на новой странице. Подробнее: PR #12299 , #12317 

Сводка после /compress стала внятной. После сжатия появляется «Контекст сжат: X → Y», а если сжимать нечего — «Сжатие не требуется.»; после перезапуска сессии число в кольце контекста тоже обновляется. Подробнее: PR #12141 

Автоподключение Channel в неосновных рабочих областях заработало. Когда один qwen serve держит несколько рабочих областей со своими ботами Channel, при старте сервиса восстанавливаются Channel каждой доверенной области — переключатель «Подключать автоматически при запуске Qwen Code» после сохранения действительно применяется. Подробнее: PR #12385 

На Linux в песочницу теперь садится только выполнение инструментов. Конфигурация прошлого выпуска, где весь Qwen Code запирался внутри bwrap, теперь завершается ошибкой с подсказкой по миграции. После перехода на tools.executionSandbox ограничения касаются только выполнения инструментов — командной строки и чтения-записи файлов, а сам Qwen Code, запросы к модели и ваш вход остаются на машине. Подробнее: PR #12267 

Одиночный вызов из скриптов стал быстрее. Режим qwen -p — выполнил строку и вышел — ускорился с 7,7 до 5,1 секунды, а потребление памяти упало с 640 до 421 MiB: один процесс меньше поднимается. Подробнее: PR #12340 

Если QR-код не показался в терминале, причина объясняется. Поднимаете сервис на внешнем адресе, чтобы подключиться с телефона, и кода нет — Qwen Code говорит, почему, и выдаёт отдельный код только с адресом: отсканировали, один раз ввели токен на телефоне, соединились. Принудительно вывести код вместе с токеном можно через qwen serve --token-qr. Подробнее: PR #12266 

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

ИсправлениеЧто это значит для васPR
Отмена по Esc больше не считается сбоемEsc в очереди задач записывался как настоящая ошибка, и модель отрабатывала его как упавшую операцию. Теперь отмена — это отмена#11154 
У официального API DeepSeek считается реальный размер окнаМодель, вписанная как deepseek-flash или просто deepseek-v4, получала 128K вместо окна 1M: длинная сессия сжималась снова и снова, пока не обрывалась. Теперь оба варианта дают 1M контекста / 384K на вывод#11909 , #12124 
Перезапуск сессии не врёт о прерванном ответеПосле локальных команд вроде /docs или /export при повторном открытии сессии появлялось сообщение, что прошлый ответ был прерван, и предложение «Продолжить выполнение» для уже сделанной работы. Теперь оно не всплывает, а по-настоящему прерванные сессии как возобновлялись, так и возобновляются#12052 , #12007 
Верхняя панель не показывает старую сессию как «Новый диалог»Открытая сессия сначала подписывалась «Новый диалог», настоящее имя подставлялось через секунду, а отправка сообщения возвращала старую подпись. Теперь имя видно сразу#12379 
Занятый контекст не обнуляется после перезагрузки страницыПосле перезагрузки или повторного открытия сессии индикатор рядом с полем ввода пропадал или показывал 0, и возвращался только после нового сообщения. Теперь доля сохраняется#12070 
Теги-ссылки в сообщениях переживают перезагрузкуСообщения со ссылками на @файл, MCP или расширение после перезагрузки рассыпались в сырой текст, и файл было не открыть. Теперь остаются теги, предпросмотр открывается#12404 
Интерактивные интерфейсы MCP видны и после перезапуска сессииГрафики и формы раньше жили только в момент вывода, а после перезапуска от них оставалась строка текста. Теперь они восстанавливаются, а если не загрузились — причина объясняется#12131 , #11960 
Обновление расширения показывает прогресс и перестаёт напоминать о себе«Обновить сейчас» не давало ответа и нажималось повторно, запуская обновление дважды, а после успеха кнопка оставалась на месте. Теперь прогресс виден, повторный запуск заблокирован, по завершении напоминаний нет#11886 
Кнопки ↑ и ↓ на телефоне снова листают историюВ браузере на iPhone нажатия часто не срабатывали, и первое сообщение с приветственного экрана было не достать. Теперь кнопки работают, а черновик остаётся, если уйти в историю и вернуться#12362 
Уменьшение блок-схемы не сжимает её в полоскуКогда mermaid-схему уменьшали, чтобы увидеть целиком, картина шириной за три тысячи пикселей влезала в полоску примерно в 500 пикселей, и после сдвига влево начало терялось навсегда. Теперь холст фиксированный, а диапазон масштабирования следует за размером схемы#12177 
Конфигурация Channel из домашнего каталога не пропадаетКогда qwen serve запускался с домашним каталогом в качестве рабочей области, сохранение Channel возвращало успех, но список показывал 0 configured, а после перезагрузки страницы настройки исчезали. Теперь чтение и запись согласованы#11083 
Китайский текст больше не обнуляет ответ LSPПри включённом LSP любой ответ с китайским текстом (Markdown с китайскими заголовками, китайские имена файлов) отбрасывался, и это выглядело как ложное «символ не найден» с пустым результатом. Теперь такие ответы возвращаются как надо#12210 
Записи в истории рабочих процессов не исчезают целикомЕсли запись о запуске обрывалась на середине, весь запуск пропадал из списка истории. Теперь записи сохраняются#12341 , #12347 
Выводы ревью и отчёт о покрытии стали достовернееЗначительная часть дочерних агентов ревью читала основной клон вместо рабочей копии этого PR — причём те файлы, которые как раз менялись в diff; отчёт о покрытии дополнительно придумывал «непроверенный раздел» и заявлял автору, что часть diff осталась без ревью. Теперь агенты работают с правильной копией, а отчёт не сочиняет лишнего#11926 , #12370 

👥 Участники

УчастникВкладСсылки на PR
@yiliang114 Diff до одобрения, разбивка стоимости по именам расширений в /context, масштабирование окна в десктопной версии и строка заголовка macOS, упрощённый процесс удалённой рабочей области, ускорение одноразового headless-запуска, исправление не-ASCII в LSP#12443 , #12318 , #12410 , #12393 , #12340 , #12210 
@qqqys Голосовой вызов и демонстрация экрана в браузере, маршрутизация Realtime-моделей, вкладка Trajectory, контрольные точки рабочих процессов и продолжение с места обрыва, зачёт выполнения Goal по ходу диалога, восстановление Channel в неосновных рабочих областях#12189 , #12378 , #12173 , #12388 , #12159 , #12291 , #12105 , #12385 
@wenshao SSH-рабочие области без сервиса на удалённой машине, сопряжение по QR-коду с телефона и новая вёрстка поля ввода, граф веток Git и управление удалёнными репозиториями, исправление прокрутки истории на iPhone, переключатель режима планирования в меню «+»#12255 , #12322 , #12252 , #12152 , #11163 , #12362 
@doudouOUC Инфраструктура выполнения в песочнице, изоляция выполнения инструментов в bwrap с миграцией старых конфигураций, лимит управляемых сессий и остановка рабочих областей, очистка отладочных журналов сессий, предупреждения при загрузке ресурсов MCP, управляемая среда выполнения и база персистентности#12267 , #12269 , #12067 , #12008 , #12374 , #11960 
@ytahdn Сворачивание длинных вставок в карточку, карточка для экспортируемого файла, внятные сводки после сжатия, два исправления, связанных с перезагрузкой страницы (заголовок верхней панели и теги-ссылки), исправление холста при масштабировании схем, ложное сообщение о прерывании после slash-команд#12084 , #12050 , #12141 , #12379 , #12404 , #12177 
@qwen-code-dev-bot Старт не падает при недоступном на запись домашнем каталоге, повторы при кратковременных сбоях в CI и на этапах релиза, недостающие алиасы конфигурации в панели настроек#10455 , #11731 , #11879 , #12103 
@tanzhenxin Канал подключения Browser SDK к Chrome, общий профиль Chrome для нескольких сессий, пайплайн сборки и релиза расширения Chrome с описанием приватности, выбор интерфейса OpenAI для отдельных моделей#11241 , #11242 , #12229 , #12329 , #12330 , #11538 
@chiga0 Устранение расхождений между экспериментальным и стандартным рендерером, обновление версии рендерера#11806 , #12309 , #12321 
🆕 @Lilian0122 🎉 Первый вклад: ограничение видимости параметров Web Shell со стороны хост-приложения, исправление переполнения при редактировании сообщения в узкой панели#11975 , #12328 , #12175 
@callmeYe Обновление каталога расширений по списку только для чтения, статус завершения Markdown-сообщений#12153 , #12431 
@DragonnZhang Сохранение кэша контекста при отложенной загрузке инструментов, обработка пустых значений при постраничном чтении notebook#10410 , #12421 
@dvd233 Поддержка отложенных вызовов инструментов в e2e-тестах SDK, изоляция вывода при проверке перед выпуском пакетов#12365 , #12367 
@he-yufeng Имя flash-модели для официального API DeepSeek разбирается по лимитам V4, суффикс поколения V4 сохраняется при нормализации имён моделей#11909 , #12124 
🆕 @jabrailkhalil 🎉 Первый вклад: установка Web Shell как браузерного приложения, конфигурация подключения с шифрованием и изоляцией на мобильных#11722 , #12121 
@kabishou11 Дочерние агенты ревью получают корректный путь рабочей области PR, /context берёт счётчики кэша текущей сессии#11926 , #12066 
@CanReader Документация об изоляции всего репозитория в процессе ревью#10493 
🆕 @cactuser-Lu Сессия с первым сообщением не теряется, когда её подменяют#12149 
🆕 @elizabethbrunette21 🎉 Первый вклад: сообщения в очереди после сбоя перезагрузки снова привязываются к сессии#12279 
@harjothkhara Grok и MiniMax добавлены в тест порядка провайдеров#10089 
🆕 @L4XB 🎉 Первый вклад: из истории убираются строки ввода от уже удалённых сессий#11769 
🆕 @mohammedmessaoudene-cmd 🎉 Первый вклад: тесты руководства по управляемому сервису разложены по разделам протокола#11808 
@now-ing Уточнение, до какого уровня заполнять baseUrl у управляемого OpenAI-совместимого шлюза#11155 
@samuelhsin Бэкенд отдаёт каталоги сессий нескольких рабочих областей одним запросом#12254 
@shenyankm Запросы во время создания сессии больше не отклоняются#11913 
@Willam2004 Одновременные запросы к провайдеру с одинаковым адресом объединяются в один#12327 
@XIQIXIQIXIQI Ссылки на ресурсы, приложенные пользователем, сохраняются при воспроизведении#12088 

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

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

Last updated on