Qwen Code Еженедельник: Интеллектуальный параллелизм инструментов, Общий контекст Fork Sub-Agent, Сегментация CJK
На этой неделе мы выпустили три функциональных версии: v0.14.3, v0.14.4 и v0.14.5.
После выхода v0.14.3 мы получили много отзывов от сообщества и на этой неделе сосредоточились на улучшении ввода и проблемах, связанных с sub-агентами. v0.14.4 приносит интеллектуальное параллельное выполнение инструментов — инструменты только для чтения автоматически группируются для параллельного выполнения, значительно улучшая скорость отклика в сценариях с несколькими инструментами. Сегментация CJK наконец обеспечивает правильную навигацию курсора для пользователей китайского, японского и корейского языков. v0.14.5 добавляет fork sub-агенты, позволяя подзадачам разделять контекст родительского агента. Кроме того, бесплатная квота Qwen OAuth была прекращена 15 апреля — мы рекомендуем миграцию на Alibaba Cloud Bailian, OpenRouter или Fireworks.
Спасибо новым участникам этой недели @doudouOUC, @BZ-D, @YuchenLiang00, @Apophis3158, @sibylassana95, @evan70, @B-A-M-N, @feyclaw, @dreamWB, @reidliu41, @Shenean 🎉
✨ Новые функции
Интеллектуальное параллельное выполнение инструментов
Qwen Code теперь автоматически определяет, какие инструменты могут выполняться параллельно, на основе типа: операции только для чтения, такие как поиск и чтение файлов, автоматически группируются для параллельного выполнения, в то время как операции записи shell остаются последовательными для безопасности. Время ожидания значительно сокращается в сценариях с несколькими инструментами. См. PR #2864
Что вы можете с этим делать:
- Искать несколько файлов и читать несколько сегментов кода одновременно — больше никакого ожидания в очереди
- Агент автоматически определяет, какие вызовы инструментов можно распараллелить — настройка не требуется
- Операции записи по-прежнему выполняются последовательно, не нужно беспокоиться о конфликтах файлов
Fork Sub-Agent с общим контекстом
Fork sub-агенты позволяют создавать дочерних агентов, которые наследуют полный контекст родительского агента. Sub-агенты могут независимо выполнять подзадачи и возвращать результаты родителю. Идеально для сценариев, требующих параллельной обработки нескольких связанных задач. См. PR #2936
Что вы можете с этим делать:
- Создавать подзадачи из основной задачи для обработки независимых модулей
- Sub-агенты наследуют полный контекст родителя без избыточной передачи информации
- Обрабатывать несколько связанных задач параллельно для повышения эффективности
Сегментация CJK + Навигация Ctrl+Стрелки
Оптимизированный ввод в терминале для пользователей китайского, японского и корейского языков. Курсор теперь перемещается по границам слов вместо посимвольного перемещения, и навигация Ctrl+Стрелки работает корректно. См. PR #2942
Что вы можете с этим делать:
- Перемещать курсор по словам — более эффективное редактирование длинных предложений
- Использовать Ctrl+Влево/Вправо для быстрого перехода между словами
- Backspace удаляет по словам, больше не нужно удалять по одному символу
Middleware перезаписи сообщений ACP
Middleware перезаписи сообщений на основе LLM, который переформатирует вывод модели через второй проход LLM. Настройте пользовательский промпт для автоматической реструктуризации ответов в предпочтительный формат. См. PR #3191
Что вы можете с этим делать:
- Автоматически переписывать ответы ИИ в структурированные форматы (резюме + таблица изменений + оценка рисков)
- Настраивать промпты перезаписи для различных сценариев
- Работает как middleware ACP, прозрачно для пользователя
Переопределение модели Skill
Skills теперь могут указывать, какую модель использовать, через поле model в frontmatter Skill. Разные Skills могут использовать разные модели. См. PR #2949
Что вы можете с этим делать:
- Настраивать оптимальную модель для каждого Skill независимо
- Ревью кода использует мощную модель, простые задачи — быструю — баланс качества и стоимости
- Не нужно переключать модели вручную — Skill автоматически выбирает правильную
Контекстные подсказки
После окончания разговора система автоматически рекомендует следующие шаги на основе текущего контекста. Например, после изменения кода может предложить «хотите запустить тесты?». См. PR #2904
Что вы можете с этим делать:
- После завершения изменений кода автоматически получать предложения по связанным действиям
- Новые пользователи могут легче обнаруживать и изучать функции
- Релевантные slash-команды рекомендуются на основе содержания разговора
Улучшение /review: Детерминированный анализ и автоисправление
/review теперь поддерживает детерминированный анализ (статические проверки, независимые от LLM), предложения автоисправления и проверки усиления безопасности. Результаты ревью более надёжны с прямыми предложениями исправлений. См. PR #2932
Что вы можете с этим делать:
- Результаты ревью кода более стабильны — один и тот же код даёт согласованные выводы каждый раз
- Найденные проблемы сопровождаются предложениями исправлений — не нужно самому придумывать решение
- Автоматическая проверка распространённых уязвимостей безопасности
Микрокомпактификация контекста в простое
Автоматически очищает избыточную контекстную информацию во время простоя разговора, снижая потребление токенов. Особенно эффективно в длинных разговорах. См. PR #3006
Что вы можете с этим делать:
- Длинные разговоры больше не достигают лимитов контекстного окна так быстро
- Автоматическая очистка промежуточных результатов, которые больше не нужны — экономия токенов
- Никаких ручных действий не требуется — работает автоматически в фоне
Другие новые функции
- Настраиваемая строка состояния: Команда
/statuslineдля настройки строки состояния терминала (#2923 ) - Подкоманда /context detail: Просмотр подробной информации об использовании контекста (#3042 )
- Экспорт данных использования контекста SDK: Доступ к данным использования
/contextв неинтерактивном режиме и SDK API (#2916 ) - Наследование одобрения sub-агентов: Sub-агенты автоматически наследуют настройки одобрения родителя (#3066 )
- Ограничения инструментов sub-агентов: Новое поле
disallowedToolsв определениях Agent (#3064 ) - Unicode имена агентов: Имена агентов теперь могут использовать китайские и другие Unicode-символы (#3194 )
- Голосовые сообщения Telegram: TelegramAdapter теперь поддерживает отправку/получение голосовых сообщений (#3150 )
- Французская локализация: Добавлена поддержка французского языка (fr-FR) (#3126 )
- События Hook StopFailure и PostCompact: Две новые точки событий Hook для расширенной автоматизации (#2825 )
- Профилировщик запуска: Параметр
--profileдля выявления узких мест производительности при запуске (#3232 ) - Конфигурация образа sandbox: Настройка
tools.sandboxImageдля пользовательских образов sandbox (#3146 ) - Предупреждение о переопределении конфигурации workspace: Предупреждение при переопределении глобальных modelProviders (#3148 )
- Команда VSCode /account: Просмотр информации об аккаунте в расширении VSCode (#2984 )
- Прямой exit/quit для выхода из CLI: Больше не нужно вводить
/exit, просто введитеexit(#3201 )
📊 Улучшения
| PR | Версия | Улучшение | Влияние |
|---|---|---|---|
| #3120 | v0.14.4 | Настройка Fast Model изменена с текстового ввода на селектор модели | Выбор моделей из выпадающего списка вместо ввода имён |
| #3116 | v0.14.4 | /settings показывает подробное описание при выборе настройки | Больше не нужно гадать, что делает каждая настройка |
| #2871 | v0.14.4 | Извлечение сообщений из очереди для редактирования через ↑/ESC | Быстрое извлечение и редактирование отправленных сообщений |
| #3008 | v0.14.3 | Новая опция «восстановить предыдущий режим» при выходе из режима Plan | Не нужно вручную переключаться обратно после режима Plan |
| #3075 | v0.14.3 | verboseMode переименован в compactMode | Более интуитивное название настройки |
| #2728 | v0.14.3 | Взаимодействие IDE diff централизовано в CoreToolScheduler | Более стабильное отображение diff при редактировании кода |
| #2914 | v0.14.4 | Оптимизация рендеринга Markdown-таблиц в терминале | Таблицы отображаются аккуратнее в терминале |
| #3193 | v0.14.4 | Модель по умолчанию Coding Plan установлена на qwen3.5-plus | Coding Plan работает из коробки с более мощной моделью |
🔧 Важные исправления
| PR | Версия | Исправление | Влияние |
|---|---|---|---|
| #3138 | v0.14.4 | Рекурсивный обход файлов без лимита вызывает переполнение памяти | Большие проекты больше не падают из-за слишком большого количества файлов (лимит 100k) |
| #3246 | v0.14.5 | Ошибки ограничения скорости в SSE-потоке не обнаруживаются корректно | Ограничение скорости теперь показывает правильные сообщения вместо тихого сбоя |
| #3251 | v0.14.5 | Ответы Gemini только с размышлениями отклоняются валидацией потока | Процесс размышления отображается нормально с моделями Gemini |
| #3212 | v0.14.5 | Пользовательский Gemini baseUrl не вступает в силу | Пользовательская конфигурация endpoint Gemini теперь работает |
| #2872 | v0.14.3 | Утечки UI вызовов инструментов follow-up и гонка буфера Enter | Взаимодействия follow-up больше не зависают периодически |
| #3151 | v0.14.4 | Предложения follow-up не работают с OpenAI-совместимыми провайдерами | Функция follow-up снова работает со сторонними провайдерами |
| #2985 | v0.14.3 | tree-sitter WASM не встроен в пакетную установку | Парсинг кода работает в сценариях офлайн/пакетной установки |
| #2930 | v0.14.3 | Конфликт параллелизма фокуса подтверждения sub-агентов | Несколько sub-агентов, одновременно запрашивающих подтверждение, больше не вызывают путаницу |
| #2850 | v0.14.3 | Shell-команды с префиксом env не соответствуют сохранённым правилам разрешений | Память разрешений ENV=val command теперь работает корректно |
| #3069 | v0.14.3 | Разрешение ProceedAlways не сохраняется в режиме Compact | «Всегда разрешать» больше не требует повторного подтверждения |
| #3109 | v0.14.4 | Устаревший счётчик токенов контрольной точки компактификации при восстановлении сессии | Подсчёт токенов точен после восстановления разговора |
| #3038 | v0.14.3 | Полоса прокрутки ввода чата расширения VSCode не перетаскивается | Полоса прокрутки работает корректно для длинного текста |
| #3249 | v0.14.5 | Слишком длинный заголовок вкладки сессии VSCode вызывает переполнение панели вкладок | Заголовки вкладок автоматически обрезаются |
| #3181 | v0.14.4 | Ctrl+C недоступен после зависания режима вставки | Аномалия вставки терминала всё ещё может быть восстановлена через Ctrl+C |
| #3136 | v0.14.4 | Команда запуска Channel не применяет настройки прокси | Channel нормально запускается в прокси-средах |
| #3031 | v0.14.4 | Нет запасного варианта при сбое открытия IDE diff | Сбой IDE diff автоматически переключается на подтверждение CLI |
| #3123 | v0.14.4 | Крах при пустом теле ответа OAuth refresh | Аномалия обновления токена OAuth больше не вызывает крах |
| #3197 | v0.14.4 | Путь инъекции @file не учитывает настройку respectGitIgnore | Ссылки @file корректно игнорируют файлы в .gitignore |
| #3192 | v0.14.4 | Нет чёткой ошибки когда cwd MCP Server не существует | Чёткое сообщение при неправильном пути конфигурации MCP |
📢 Важное объявление: Бесплатная квота Qwen OAuth прекращена
С 15 апреля 2026 года бесплатная квота Qwen OAuth была прекращена. Существующие пользователи могут продолжать использовать оставшуюся квоту. Мы рекомендуем миграцию на следующие каналы:
- Alibaba Cloud Bailian (Рекомендуется): Поддерживает новейшие модели, включая qwen3-coder-plus и qwen3.6-plus, оплата по использованию. См. документацию Bailian для настройки
- OpenRouter : Агрегирует нескольких провайдеров моделей с различными вариантами оплаты
- Fireworks : Высокопроизводительная платформа инференса
🎈 Другие улучшения
| PR | Улучшение | Влияние |
|---|---|---|
| #3187 | Исправление валидации параметра --openai-api-key в неинтерактивном режиме | Аутентификация API Key в CI/CD больше не вызывает ошибок |
| #3257 | Команда /bug проще в терминалах без поддержки гиперссылок | Любой терминал может удобно отправлять баг-репорты |
| #3270 | Игнорирование литерального ввода Tab в поле ввода | Клавиша Tab больше не вставляет символы табуляции |
| #3060 | Shift+Tab больше не принимает предложения placeholder | Только Tab принимает предложения |
| #3045 | Символы Tab в вставленном содержимом корректно сохраняются | Отступы кода не теряются при вставке |
| #3104 | Повышен приоритет автодополнения slash-команд | Автодополнение появляется быстрее после / |
| #3077 | Оптимизация текста описания /model --fast | Легче понять, что делает --fast |
| #3041 | Исправление инициализации checkpointing в не-repo директориях | Нет ошибок в директориях без Git |
| #3091 | Скрипт statusline больше не изменяет settings.json неожиданно | Пользовательская строка состояния не портит конфигурацию |
| #3208 | Предыдущий промпт больше не заполняется автоматически при отмене ввода | Поле ввода чистое после Esc |
| #2865 | Обновление normalize-package-data для исправления предупреждения DEP0169 | Нет предупреждений об устаревании при запуске |
| #3134 | Отложенная загрузка плагина Channel для устранения предупреждения DEP0040 | Более чистые логи запуска |
| #3294 | DingTalk Channel приоритизирует senderStaffId для сопоставления пользователей | Более точная идентификация пользователей в DingTalk Channel |
| #3044 | Поток QR-кода WeChat добавляет отсутствующий заголовок iLink | Более стабильный вход через QR-код WeChat |
| #2948 | Инструмент ripGrep добавляет разрешения по умолчанию и поддержку внешних путей | Поиск ripGrep может обращаться к файлам за пределами workspace |
| #3094 | Исправление определения переноса строки и отправки в многострочном режиме | Enter и Ctrl+Enter ведут себя корректно в многострочном вводе |
| #2891 | Очистка неиспользуемых состояний и параметров в компоненте ввода | Компонент ввода легче и отзывчивее |
👋 Добро пожаловать новым участникам
- @doudouOUC — Исправление инициализации checkpointing в не-repo директориях, добавление конфигурации образа sandbox и предупреждения о переопределении конфигурации workspace
- @BZ-D — Исправление ошибочного принятия предложений placeholder через Shift+Tab
- @YuchenLiang00 — Добавление подкоманды
/context detail - @Apophis3158 — Реализация сегментации CJK и оптимизации навигации Ctrl+Стрелки
- @sibylassana95 — Добавление поддержки французской локализации
- @evan70 — Обновление normalize-package-data для исправления предупреждения DEP0169
- @B-A-M-N — Исправление краха при пустом теле ответа OAuth refresh
- @feyclaw — Добавление поддержки голосовых сообщений Telegram
- @dreamWB — Исправление переполнения заголовка вкладки сессии VSCode
- @reidliu41 — Улучшение опыта команды
/bugв терминалах без поддержки гиперссылок - @Shenean — Исправление проблемы литерального ввода Tab в поле ввода
Как обновить: Выполните npm i @qwen-code/qwen-code@latest -g для обновления до последней версии.
Если у вас есть вопросы или предложения, оставляйте отзывы на GitHub Issues !