Еженедельный дайджест Qwen Code: прогоны рабочих процессов можно пересмотреть, Plan вместе с YOLO в Web Shell, бот ведёт несколько задач в одном чате
На этой неделе Qwen Code выпустил два официальных релиза — v0.23.1 и v0.23.2 — и принял 300+ pull-реквестов.
У рабочих процессов появилась своя страница. В Web Shell видно, до какого шага дошёл каждый прогон, сколько агентов он вызвал и сколько токенов потратил.
Web Shell стал удобнее в трёх местах. Теперь одним кликом видно, чем занят контекст, для листания истории появилась навигационная шкала, а Plan и YOLO можно держать включёнными одновременно.
Задачи в Channel получили имена. В DingTalk можно вести несколько дел параллельно: у каждой своё имя, переключение — в любой момент, и каждая работает в собственном рабочем пространстве.
✨ Новые возможности
Рабочие процессы получили собственную страницу управления
На прошлой неделе паузу, возобновление и отмену рабочего процесса приходилось делать командами в терминале. На этой неделе для него сделали отдельную страницу в Web Shell.
Откройте Workflows в сайдбаре или введите /workflows в диалоге. Внутри три вкладки: сохранённые, выполняющиеся и история. У каждого прогона видны стадии, вызванные агенты, ожидающие подтверждения запросы и расход токенов. Откройте сохранённый рабочий процесс — увидите описание, подходящие сценарии, путь к сценарию и сам код.
Что это даёт:
- Смотрите прямо на странице, до какого шага дошёл рабочий процесс и сколько агентов он вызвал
- Остановите на середине или перезапустите с начала
- Откройте сохранённый рабочий процесс и посмотрите его описание и код
Подробнее: PR #10594

Web Shell: видно, чем занят контекст, а Plan теперь совместим с YOLO
Одним кликом — чем занят контекст. В шапке диалога появилась иконка. Под ней вкладка использования контекста: сколько окна занято и сколько свободно, а также какая доля приходится на системный промпт, встроенные инструменты, MCP-инструменты, файлы памяти, навыки и сообщения. Каждая строка раскрывается до содержимого.
Навигационная шкала для истории. Слева от диалога появилась шкала с делениями. Наведите на деление — увидите вопрос того раунда, кликните — перескочите прямо к нему.
Plan и права исполнения разделены. Plan убрали из меню прав и сделали отдельным переключателем. Он сочетается с любым из Default, Auto Edit, Auto и YOLO, хотя раньше Plan исключал YOLO. После того как вы одобрили план, переключатель гаснет сам. Все команды /plan работают как прежде.
По окончании задачи приходит уведомление браузера. В разделе интерфейса настроек появился переключатель «Уведомления браузера о задачах». Включите его и разрешите уведомления: если страница в фоне или не в фокусе, а наблюдаемый диалог завершил работу или упал — вы получите уведомление. По умолчанию выключено; содержимое переписки и пути к каталогам в уведомление не попадают.
Фоновый агент не выглядит зависшим. На значке карточки фонового агента появилась лёгкая пульсация, а строка-сводка активного агента показывает, сколько он уже работает и какой дочерний инструмент запускает.
Что это даёт:
- Нажмите иконку в шапке диалога и узнайте, чем занят контекст
- Кликните по шкале слева, чтобы прыгнуть к любому раунду истории
- Держите Plan и YOLO включёнными одновременно
Подробнее: PR #11177 , #11208 , #11054 , #11423 , #11398 , #10939

Channel: несколько задач в одном чате — каждая в своём рабочем пространстве
Бот Channel — это Qwen Code, которого вы через QR-код добавляете в DingTalk, Feishu или другой мессенджер. Раньше бот в одном чате мог делать только что-то одно: попросили присматривать за PR — новую фичу параллельно уже не закажете, обе темы толкались в одном диалоге и перебивали друг друга. Теперь у Channel есть именованные задачи, и несколько дел идут одновременно.
Несколько задач в одном групповом чате. /session new <имя> создаёт задачу: не больше 8 на человека в чате, у каждой своя сессия и своя история. /session use <имя> переключает в любой момент — можно создавать и переключать задачи, пока другие выполняются. /session cancel <имя> останавливает нужную. Каждый ответ помечен источником: в личном чате — имя задачи, в группе — «кто · какая задача». Нужен посторонний вопрос посреди работы? Отправьте /btw <вопрос> — основная задача продолжится как ни в чём не бывало.
Каждая задача работает на своей территории. Добавьте --worktree при создании — задача окажется в собственном каталоге и на собственной ветке, и несколько дел будут править файлы независимо. /clear, /new и /reset меняют только диалог: изменённые файлы и ветка остаются, задачи переживают перезапуск бота. Если удалить сессию целиком, созданное ею рабочее пространство и ветка удалятся вместе с ней; а там, где остались незакоммиченные изменения, всё сохранится как есть.
Перед использованием включите в настройках соответствующего Channel параметры sessionScope: "user" и multiSession: true.
Что это даёт:
- Разбираете PR и пишете новую фичу одновременно — истории раздельные
- С
--worktreeправки разных задач не пересекаются - Задавайте посторонний вопрос посреди выполняющейся задачи — основная не собьётся
Подробнее: PR #10198 , #10420 , #10574 , #10712 , #10713 , #10643 , #11015 , #11308 , #11309

DingTalk: подтверждение прав на карточке, ход задачи — в эмодзи статуса
Подтверждение прав на инструмент стало карточкой. Когда AI собирается выполнить операцию, требующую одобрения, в DingTalk приходит нативная интерактивная карточка с кнопками: разрешить один раз, отклонить, разрешить навсегда.
Ход задачи видно по эмодзи статуса. Пока AI работает, под вашим сообщением, кроме 👀, меняется эмодзи текущего шага: 🤔 обдумывает, 📖 читает, 🔎 ищет, 🖥️ выполняет, 🛠️ правит, 🗑️ удаляет, 🌐 загружает и так далее. После завершения остаётся одно финальное эмодзи.
Ответы фоновых агентов подписаны. Когда параллельно работают несколько фоновых агентов, каждый ответ начинается с Agent · имя — сразу понятно, кто говорит. Сообщений слишком много? Включите aggregateBackgroundAgentResponses — и вместо отдельных реплик AI пришлёт одну сводку на раунд.
Что это даёт:
- AI просит разрешение на операцию — просто нажмите кнопку на карточке
- Отправили сообщение и по эмодзи видите, до какого шага дошёл AI
- Агенты говорят параллельно, и каждый ответ подписан
Подробнее: PR #10457 , #10504 , #10899

Qwen Code на сервере теперь работает с проектом на вашем компьютере
Qwen Code запущен на облачном сервере, а вы управляете им из браузера со своего компьютера — так сейчас работают многие. Беда в том, что AI видит только файлы сервера: ваш проект с ноутбука ему недоступен, и раньше оставалось загружать файлы туда, а результат — забирать обратно.
Теперь прямо в браузере можно выбрать папку на своём компьютере и передать её текущей сессии. После этого сессия работает с файлами внутри: перечисляет, читает, ищет, записывает — все пути отсчитываются от выбранной папки. Внизу сайдбара показывается, какой каталог подключен сейчас и сколько инструментов он даёт.
Доступ к папке есть только у этой сессии: закрыли вкладку, потеряли соединение или завершилась сессия — доступ снят.
Что это даёт:
- Сервис стоит в облаке, а правит проект прямо на вашем компьютере
- Выбираете папку и передаёте — не нужно ничего загружать и скачивать обратно
- Сегодня проект A, завтра проект B: доступен только тот каталог, который вы передали сейчас
Подробнее: PR #10962

📊 Прочие новинки
Стили вывода теперь задаёте сами. На прошлой неделе выбирали один из четырёх встроенных стилей, на этой стиль определяется отдельным файлом: Markdown в ~/.qwen/output-styles/ — глобальный стиль, файл в .qwen/output-styles/ внутри проекта — стиль проекта, а текст этого файла и есть промпт стиля. Подробнее: PR #10761
Встроенный веб-поиск включается сам. С Standard API Key или Token Plan от Bailian инструмент web_search доступен по умолчанию, расходы списываются с того аккаунта, которым вы пользуетесь. Для Coding Plan конфигурацию провайдера Bailian нужно указать вручную. Подробнее: PR #11348 , #11450
Диалог экспортируется в HTML. /export html в CLI, Web Shell и VS Code теперь идёт по одному конвейеру. В экспортированном файле работают полнотекстовый поиск, выделение, копирование и печать. Для открытия нужен доступ в интернет. Подробнее: PR #10076
Расход бюджета Goal на виду. У Goal есть бюджет токенов: при его исчерпании работа останавливается и возвращается вам, только расход раньше нигде не показывался. Теперь низ терминала, карточка состояния и Web Shell пишут, сколько израсходовано и каков предел; после остановки цифры остаются. Если Goal три раунда подряд не выдаёт ничего проверяемого, он сам встаёт на паузу — ваши реплики в этот счёт не идут. Подробнее: PR #11248 , #11254 , #11239 , #11257
Два новых параметра Channel. В групповом чате много посторонних сообщений — задайте Channel messagePrefix, и бот будет реагировать только на сообщения с этим префиксом. instructions задаёт для конкретного Channel постоянные требования: тон ответов, кому перенаправлять те или иные вопросы. Настройка доступна для всех типов Channel. Подробнее: PR #10817 , #11082
Больше моделей с настраиваемой интенсивностью размышления. GPT-6 Astra поддерживает пять ступеней от low до max, по умолчанию medium; у семейства GPT-5 свои наборы ступеней. Подключили также deepseek-v4-pro — он поддерживает high и max. Подробнее: PR #11295 , #10999
Два новых взгляда на ревью. Когда правки затрагивают инструктивные файлы вроде SKILL.md и QWEN.md, один агент буквально проходит по обновлённой инструкции и ищет расхождения между её обещаниями и реальным поведением. Второй взгляд намеренно обходит темы, названные в описании PR, и смотрит на изменение заново и независимо. Подробнее: PR #10221
Локальный поиск по коду ставится одной командой. Скажите «установи zvec-grep» или выполните /zvec-grep-install — zvec-grep установится и подключится к Qwen Code. Это локальный поиск по коду, где ключевые слова и семантика объединены. Подробнее: PR #10723
Инструмент списков задач теперь включается вручную. Многошаговую работу AI сам раскладывает в список задач и отмечает выполненные — это тот самый todo_write. Из набора инструментов по умолчанию его убрали; если он нужен, включите tools.todoWrite.enabled в настройках и перезапуститесь. Подробнее: PR #10645
QR-код из одной команды даже с явным адресом. Раньше при ручном --hostname приходилось отдельно настраивать токен и допустимые источники, и без этого сервис отказывался запускаться. Теперь достаточно qwen serve --hostname 0.0.0.0 — телефон сканирует QR-код в терминале и сразу попадает в уже авторизованный Web Shell. Подробнее: PR #11172
Несколько экземпляров сервиса уживаются на одной машине. Qwen Code может запускать несколько экземпляров сервиса одновременно; при конфликте Web Shell предложит повторить. Подробнее: PR #10924 , #11207
Память Mem0 теперь пишется и удаляется. После подключения Mem0 Qwen Code может сам записывать и удалять записи памяти. В Mem0, развёрнутом администратором, можно включить автоматическое припоминание: к каждому вопросу подмешиваются несколько самых релевантных записей. Подробнее: PR #11311 , #11337 , #11246 , #11397
👏 Улучшения UX
Ссылки в терминале кликабельны. Одиночный клик открывает ссылку из вывода, правый клик даёт меню: открыть ссылку, скопировать адрес, скопировать выделенное. Подробнее: PR #10979
Аргументы вызовов инструментов показываются в строке. Включите ui.showToolCallArgs в настройках — каждый вызов инструмента займёт отдельную строку, а под ним одной строкой JSON выведутся фактические аргументы. По умолчанию выключено. Подробнее: PR #10565
В редакторах с ACP видно, чем занят дочерний агент. Пока дочерний агент работает, его текущее действие показывается на карточке родительского инструмента: какой инструмент запущен, какого подтверждения ждёт. Подробнее: PR #8729
Настройка Token Plan попала в документацию. Описаны конечная точка, регион, имена переменных окружения и приведён пример для settings.json. Подробнее: PR #10980 , #10993
🔧 Важные исправления
| Исправление | Что это значит для вас | PR |
|---|---|---|
| Ввод не теряется до конца запуска | Пока инициализируются настройки, поле ввода не проглатывает напечатанные символы, а прогресс запуска показывается как обычно | #11000 |
| Слэш-команды выполняются в том виде, как введены | Enter запускает ровно то, что вы набрали; подсказки автодополнения больше не подменяют команду | #10929 , #10987 , #10986 |
| Вывод команд снова виден | Результаты слэш-команд, отклик на /clear и ваши реплики, пока модель ещё отвечает, раньше не появлялись в диалоге | #10947 |
| Окно кандидатов китайского метода ввода в tmux не перекрывается | Текст-кандидаты больше не закрыты серым блоком в позиции курсора | #10998 |
| Слэш-команды работают и после упоминания бота | Раньше /btw и подобные команды в группе после @упоминания бота уходили как обычный текст | #10930 |
| Сообщения из разных чатов DingTalk не мешают друг другу | Личный чат и каждая группа идут раздельно и обрабатываются параллельно | #10952 |
| После блокировки в режиме AUTO можно повторить вручную | Если AUTO остановил операцию, повтор с теми же аргументами запросит ручное подтверждение — менять режим не нужно | #11025 |
| При вставке приоритет у текста | Если в буфере обмена есть и текст, и изображение или файл, Web Shell берёт текст | #11334 |
| Выделение в терминале видно в светлой теме | Раньше полупрозрачная белая подсветка сливалась со светлым фоном терминала | #11445 |
| Прокрутка истории больше не прыгает | При медленной отрисовке листание вверх по истории больше не подбрасывает страницу | #11366 , #11430 |
| Кнопка Push недоступна, когда ветка отстаёт | При отставании от upstream кнопка Push блокируется, счётчики опережения и отставания показываются верно | #10754 |
| Ограничение частоты повторяется автоматически | В совместимых с Anthropic интерфейсах ответ об ограничении больше не прерывает сессию — запрос повторяется сам | #11216 |
| Панель горячих клавиш на телефоне заработала | Раньше строка клавиш на сенсорном экране была пустой; теперь доступны прокрутка истории, перемещение курсора и выход из режима shell | #11454 |
| Инструменты без параметров больше не падают у OpenAI-совместимых провайдеров | llama.cpp и другие провайдеры, строгие к схеме инструментов, перестали отклонять вызовы без аргументов | #11431 , #10080 |
👥 Участники
| Участник | Вклад | Ссылки на PR |
|---|---|---|
| @yiliang114 | Большая серия по Web Shell и стабильности: старая веб-версия фронтенда выведена из эксплуатации, слэш-команды отправляются ровно как введено, защита ввода на старте, исправления совместимости OpenAI и Cerebras, обновление sharp из-за опасной уязвимости, поле постоянных инструкций в Channel | #9812 , #10929 , #11000 , #11082 , #11431 , #11435 |
| @qqqys | Показ бюджета Goal и пауза при холостых раундах, визуальное управление рабочими процессами, настраиваемые стили вывода, надёжность межсессионных сообщений, ручной повтор в режиме AUTO, веб-поиск по умолчанию, фильтр сообщений Channel по префиксу, переключатель сводки ответов фоновых агентов | #11248 , #11239 , #10594 , #10761 , #10809 , #10817 , #10899 , #11025 , #11348 |
| @doudouOUC | Именованные задачи в Channel и изоляция через Worktree, навигация по раундам сессии, параллелизм daemon и аренда записи в сессию, запись и удаление в память Mem0, уведомления браузера о задачах | #10643 , #11015 , #11054 , #11208 , #10924 , #11311 , #11398 |
| @wenshao | Подключение каталога из браузера к сессии, вкладка использования контекста, навигационная шкала диалога, интенсивность размышления для GPT-5 и GPT-6 Astra, два новых взгляда на ревью, QR-код сопряжения одной командой при явном адресе | #10962 , #11177 , #11250 , #11172 , #11295 , #10221 |
| @qwen-code-dev-bot | Исправления стабильности CI и надёжности тестов | #10855 , #11046 , #11391 |
| @ytahdn | Серия улучшений и исправлений Web Shell: Plan отделён от прав исполнения, навыки управляются по рабочим пространствам, настраиваемые значки артефактов, выделение в терминале для светлой темы, горячие клавиши на телефоне | #11423 , #10697 , #11247 , #11445 , #11454 |
| @chiga0 | Завершение перехода на движок терминального рендеринга, клик по ссылкам в терминале и контекстное меню, исправление отображения вывода команд | #11152 , #10979 , #10947 |
| 🆕 @now-ing | 🎉 Первый вклад: документация по настройке Token Plan, исправление окна кандидатов китайского метода ввода в tmux | #10980 , #10998 |
| @BenGuanRan | Интерактивная карточка подтверждения прав в DingTalk, эмодзи статусов жизненного цикла, pidfile Channel против повторного использования PID | #10457 , #10504 , #10687 |
| @DragonnZhang | Инструмент списков задач вынесен из набора по умолчанию, автоматический повтор при ограничении частоты | #10645 , #11216 |
| @AaronZ345 | Исправление изоляции сессий по рабочим пространствам, дополнения в документации | #10273 , #9860 |
| @callmeYe | Настраиваемая способность модели к размышлению, развязка активации расширения и обновления | #10999 , #10991 |
| @LaZzyMan | Стабилизация дельты автоматического наблюдения в Computer Use | #11293 , #11299 |
| @TianYuan1024 | Аргументы вызовов инструментов в строке, исправление регистрации хуков навыков | #10565 , #11068 |
| @tomsen02 | Разбор настроек управления сессиями по каждому запросу, рефакторинг фиксации корневого каталога среды выполнения | #10095 , #10988 |
| 🆕 @XIQIXIQIXIQI | 🎉 Первый вклад: настраиваемый адрес загрузки обновлений, сохранение идентичности при воспроизведении сессии | #11150 , #11062 |
| @yu-xin-c | Нижний порог возврата находок при лёгком ревью, метка на карточке исчерпанного бюджета Goal | #9912 , #10553 |
| @zjunothing | Обновление заголовка ACP-сессии, производительность кэша изображений | #8782 , #10626 |
| 🆕 @aniruddhaadak80 | 🎉 Первый вклад: команда остановки в сообщении об отмене инструмента | #10180 |
| @destire-mio | Причина отмены вопроса выводится наружу | #9070 |
| 🆕 @dvd233 | 🎉 Первый вклад: откат при создании ветки больше не теряет коммиты, созданные хуками | #11300 |
| 🆕 @GCGH159 | 🎉 Первый вклад: явная ошибка, когда у межсессионного сообщения два получателя | #10090 |
| @he-yufeng | Разделение бюджета E2E у запланированных задач | #11085 |
| 🆕 @JonathanOrr | 🎉 Первый вклад: полный путь в результате редактирования файла | #8607 |
| 🆕 @LizunovSergey | 🎉 Первый вклад: исправление диапазона выделения во всплывающем окне значения ячейки | #10857 |
| @PratikWayase | Прогресс дочерних агентов виден ACP-клиенту | #8729 |
| 🆕 @rootkiller6788 | 🎉 Первый вклад: проверка готовности Goal переведена на асинхронный отказ | #10647 |
| 🆕 @Theater-ahyeon | 🎉 Первый вклад: исправлен текст подсказки о клавишах follow-up в Web Shell | #10851 |
| 🆕 @w9lsky | 🎉 Первый вклад: API каталога ресурсов сессии | #10837 |
| @water-in-stone | Экспорт диалога в HTML | #10076 |
| 🆕 @zhourrr | 🎉 Первый вклад: встроенный навык установки zvec-grep | #10723 |
Обновление: выполните npm i @qwen-code/qwen-code@latest -g для обновления до последней версии.
Если у вас есть вопросы или предложения, будем рады обратной связи на GitHub Issues !