Skip to Content
Руководство для пользователейВозможностиКоманды

Команды

В этом документе подробно описаны все команды, поддерживаемые Qwen Code, которые помогут вам эффективно управлять сессиями, настраивать интерфейс и контролировать его поведение.

Команды Qwen Code вызываются с помощью специальных префиксов и делятся на три категории:

Тип префиксаОписание функцииТипичный сценарий использования
Slash-команды (/)Мета-уровневое управление самим Qwen CodeУправление сессиями, изменение настроек, получение справки
At-команды (@)Быстрая вставка содержимого локального файла в диалогПозволяют ИИ анализировать указанные файлы или код в директориях
Exclamation-команды (!)Прямое взаимодействие с системной оболочкой (Shell)Выполнение системных команд, таких как git status, ls и т.д.

1. Slash-команды (/)

Slash-команды используются для управления сессиями, интерфейсом и базовым поведением Qwen Code.

1.1 Управление сессиями и проектами

Эти команды помогают сохранять, восстанавливать и резюмировать ход работы.

КомандаОписаниеПримеры использования
/initАнализ текущей директории и создание файла начального контекста/init
/summaryГенерация резюме проекта на основе истории диалога/summary или /summary docs/my-summary.md
/compressЗамена истории чата резюме для экономии токенов/compress или /summarize
/compress-fastБыстрое сжатие без ИИ — удаляет старые выводы инструментов и части рассуждений/compress-fast
/resumeВозобновление предыдущей сессии диалога/resume или /continue
/recapМгновенная генерация краткого резюме сессии в одну строку/recap
/restoreОткат файлов проекта к контрольной точке перед выполнением вызова инструмента/restore (список) или /restore <ID>
/deleteУдаление предыдущей сессии/delete
/branchОтветвление текущего диалога в новую сессию/branch
/forkЗапуск фонового агента, наследующего весь диалог/fork <directive>
/rewindОткат диалога к предыдущему шагу/rewind или /rollback
/exportЭкспорт истории сессии в файл/export html, /export md, /export json, /export jsonl
/renameПереименование или добавление тега к текущей сессии/rename My Feature или /tag
Note

/summarize — это алиас для /compress (сжимает историю чата — деструктивная операция). Чтобы создать нерушащее резюме проекта, используйте /summary.

Note

/summary принимает опциональный аргумент [path] для сохранения резюме в пользовательское место в корне проекта. Без аргумента он сохраняется в .qwen/PROJECT_SUMMARY.md. Резюме с пользовательским путём не обнаруживаются потоком welcome-back (ui.enableWelcomeBack), который читает только стандартное расположение .qwen/PROJECT_SUMMARY.md.

1.2 Управление интерфейсом и рабочим пространством

Команды для настройки внешнего вида интерфейса и рабочей среды.

КомандаОписаниеПримеры использования
/clearОчистка истории диалога и освобождение контекста/clear, /reset, /new
/contextОтображение детализации использования окна контекста/context
detailДетализация использования контекста по элементам/context detail
/historyУправление настройками отображения и видимости истории/history collapse-on-resume, /history expand-on-resume, /history expand-now
/diffОткрытие интерактивного просмотрщика diff, показывающего незакоммиченные изменения и diff по шагам. Используйте ←/→ для переключения между текущим git diff и отдельными шагами диалога, ↑/↓ для навигации по файлам/diff
/logОткрытие просмотрщика истории коммитов для рабочего пространства (только Web Shell)/log
/themeИзменение визуальной темы Qwen Code/theme
/vimВключение/выключение режима редактирования Vim в области ввода/vim
/voiceПереключение ввода с помощью голосового диктанта/voice, /voice hold, /voice tap, /voice off, /voice status
/directoryУправление рабочим пространством с поддержкой нескольких директорий/dir add ./src,./tests, /dir show
/cdПеремещение текущей сессии в новую рабочую директорию/cd ../other-project
/editorОткрытие диалога выбора поддерживаемого редактора/editor
/statuslineОткрытие интерактивного диалога предустановок строки состояния/statusline
/statusline <text>Генерация строки состояния в режиме команд с помощью агента/statusline show model and git branch
/terminal-setupНастройка сочетаний клавиш терминала для многострочного ввода/terminal-setup

1.3 Настройки языка

Команды для управления языком интерфейса и языком вывода.

КомандаОписаниеПримеры использования
/languageПросмотр или изменение языковых настроек/language
ui [language]Установка языка интерфейса/language ui zh-CN
output [language]Установка языка вывода LLM/language output Chinese
  • Доступные встроенные языки интерфейса: zh-CN (упрощенный китайский), en-US (английский), ru-RU (русский), de-DE (немецкий), ja-JP (японский), pt-BR (португальский - Бразилия), fr-FR (французский), ca-ES (каталанский)
  • Примеры языков вывода: Chinese, English, Japanese и т.д.

1.4 Управление инструментами и моделями

Команды для управления ИИ-инструментами и моделями.

КомандаОписаниеПримеры использования
/mcpСписок настроенных MCP-серверов и инструментов/mcp, /mcp desc, /mcp nodesc, /mcp schema
/import-configИмпорт MCP-серверов из конфигураций Claude/import-config all, /import-config claude-code, /import-config claude-desktop --scope user|project
/toolsОтображение списка доступных в данный момент инструментов/tools, /tools desc
/skillsОткрытие панели Skills для просмотра, поиска, переключения и запуска skills/skills, /<skill-name>
/learnСоздание переиспользуемого skill проекта из файла, директории, URL, видео или текста/learn https://docs.example.com/api, /learn ./tutorial.mp4 focus on deployment
/curatorПроверка, закрепление, архивация или восстановление неактивных auto-skills проекта/curator, /curator run --dry-run, /curator pin <directory>, /curator restore <directory>
/planПереключение в режим планирования или выход из него/plan, /plan <task>, /plan exit
/approval-modeИзменение режима одобрения инструментов (только для текущей сессии)/approval-mode, /approval-mode auto-edit
planТолько анализ, без выполнения (безопасное ревью)/approval-mode plan
defaultТребовать одобрения для правок (повседневное использование)/approval-mode default
auto-editАвтоматическое одобрение правок (доверенная среда)/approval-mode auto-edit
autoОдобрение, оцениваемое классификатором (автономный режим)/approval-mode auto
yoloАвтоматическое одобрение всего (быстрое прототипирование)/approval-mode yolo
/modelПереключение модели, используемой в текущей сессии/model, /model <model-id> (немедленное переключение)
/model --fastУстановка более легкой модели для подсказок промптов/model --fast qwen3-coder-flash
/model --voiceУстановка модели, используемой для транскрибации голоса/model --voice <model-id>
/model --visionУстановка vision-bridge модели, используемой для транскрибации изображений для основной текстовой модели/model --vision <model-id>
/model --compactionУстановка модели, используемой для сжатия чата/model --compaction <model-id>, /model --compaction clear
/model --imageУстановка модели только для изображений для встроенного инструмента генерации изображений/model --image <model-id>
/effortУстановка усилия рассуждения для моделей с поддержкой мышления/effort (открывает выбор), /effort high (low/medium/high/xhigh/max; сопоставляется и ограничивается для каждого провайдера)
/extensionsУправление расширениями/extensions list, /extensions manage
listСписок установленных расширений/extensions list
manageУправление установленными расширениями (интерактивно)/extensions manage
exploreОткрытие страницы расширений в браузере/extensions explore <Gemini|ClaudeCode>
installУстановка расширения из git-репозитория или пути/extensions install <repo-or-path>
/memoryОткрытие диалога Memory Manager/memory
/rememberСохранение долговременной памяти/remember Prefer terse responses
/forgetУдаление совпадающих записей из auto-memory/forget <query>
/dreamРучной запуск консолидации auto-memory/dream
/hooksУправление хуками Qwen Code/hooks, /hooks list
/reload-pluginsПерезагрузка изменений расширений (команды, skills, агенты, хуки, MCP/LSP-серверы) с диска/reload-plugins
/permissionsУправление правилами разрешений/permissions
/agentsУправление субагентами/agents manage, /agents create
/arenaУправление сессиями Arena/arena start, /arena stop, /arena status, /arena select (алиас choose)
/goalУстановка цели — продолжение работы до выполнения условия/goal <condition>, /goal clear
/tasksСписок фоновых задач/tasks
/workflowsПроверка запусков workflow; кооперативная пауза/возобновление фонового запуска/workflows, /workflows <runId>, /workflows p <runId>
/lspОтображение статуса LSP-сервера/lsp
/trustУправление настройками доверия к папкам/trust
Warning

Устанавливайте расширения (/extensions install) только из доверенных источников. Расширения могут включать MCP-серверы, skills и команды, которые выполняются с теми же правами, что и сам Qwen Code — они могут получить доступ к вашим файлам, API-ключам и данным диалогов. /extensions install не запрашивает подтверждение.

Warning

Режимы подтверждения auto-edit, auto и yolo пропускают запросы на подтверждение выполнения инструментов. В режиме yolo все действия — включая команды оболочки, запись файлов и сетевые запросы — выполняются без подтверждения. Используйте эти режимы только в доверенных, изолированных (sandbox) или одноразовых средах.

Note

Команды /workflows, /lsp и /trust регистрируются только при включении соответствующих функций — через настройку tools.workflowsEnabled в области user/system или переменную окружения QWEN_CODE_ENABLE_WORKFLOWS=1, флаг CLI --experimental-lsp и настройку security.folderTrust.enabled соответственно. Значения tools.workflowsEnabled в рабочем пространстве игнорируются. Если функция отключена, команды не будут доступны, и при попытке их вызвать будет выдана ошибка о неизвестной команде. Аналогично, /dream и /forget регистрируются только при доступности управляемой auto-memory; без неё они не будут доступны.

1.5 Встроенные skills

Эти команды вызывают встроенные skills, которые предоставляют специализированные рабочие процессы.

КомандаОписаниеПримеры использования
/reviewCode review с несколькими агентами (12 параллельных агентов при высоком усилии)/review, /review 123, /review 123 --comment, /review --effort low
/coordinateКоординация read-only воркеров и одного опционального worktree-писателя/coordinate investigate and fix the authentication regression
/loopЗапуск промпта по расписанию/loop 5m check the build
/simplifyПроверка недавних изменений и прямое применение безопасных правок для очистки кода/simplify, /simplify focus on duplication
/qc-helperОтветы на вопросы по использованию и настройке Qwen Code/qc-helper how do I configure MCP?

Полную документацию по /review см. в разделе Code Review.

1.6 Побочные вопросы (/btw)

Команда /btw позволяет задавать быстрые побочные вопросы, не прерывая и не влияя на основной ход диалога.

КомандаОписание
/btw <your question>Задать быстрый побочный вопрос
?btw <your question>Альтернативный синтаксис для побочных вопросов

Как это работает:

  • Побочный вопрос отправляется как отдельный API-запрос с контекстом недавнего диалога (до последних 20 сообщений)
  • Ответ отображается над Composer — вы можете продолжать печатать во время ожидания
  • Основной диалог не блокируется — он продолжается независимо
  • Ответ на побочный вопрос не становится частью истории основного диалога
  • Ответы отображаются с полной поддержкой Markdown (блоки кода, списки, таблицы и т. д.)

Горячие клавиши (Интерактивный режим):

Сочетание клавишДействие
EscapeОтмена (во время загрузки) или скрытие (после завершения)
Space или EnterСкрыть ответ (когда поле ввода пусто)
Ctrl+C или Ctrl+DОтменить выполняющийся побочный вопрос

Пример:

(While the main conversation is about refactoring code) > /btw What's the difference between let and var in JavaScript? ╭──────────────────────────────────────────╮ │ /btw What's the difference between let │ │ and var in JavaScript? │ │ │ │ + Answering... │ │ Press Escape, Ctrl+C, or Ctrl+D to cancel│ ╰──────────────────────────────────────────╯ > (Composer remains active — keep typing) (After the answer arrives) ╭──────────────────────────────────────────╮ │ /btw What's the difference between let │ │ and var in JavaScript? │ │ │ │ `let` is block-scoped, while `var` is │ │ function-scoped. `let` was introduced │ │ in ES6 and doesn't hoist the same way. │ │ │ │ Press Space, Enter, or Escape to dismiss │ ╰──────────────────────────────────────────╯ > (Composer still active)

Поддерживаемые режимы выполнения:

РежимПоведение
InteractiveОтображается над Composer с рендерингом Markdown
Non-interactiveВозвращает текстовый результат: btw> question\nanswer
ACP (Agent Protocol)Возвращает асинхронный генератор stream_messages
Tip

Используйте /btw, когда вам нужен быстрый ответ, не сбиваясь с основной задачи. Это особенно полезно для уточнения концепций, проверки фактов или получения быстрых объяснений, оставаясь сосредоточенным на основном рабочем процессе.

1.7 Второе мнение (/advisor)

Команда /advisor выполняет независимое ревью текущего диалога только для чтения и возвращает структурированное второе мнение — не выполняя задачу и не прерывая основной диалог.

КомандаОписание
/advisorРевью текущего диалога
/advisor <focus>Сфокусировать ревью на конкретной проблеме

Как это работает:

  • Ревью отправляется как отдельный одноходовый API-запрос с контекстом недавнего диалога (до последних 40 сообщений)
  • Модель-ревьюер не может выполнять инструменты — инструменты удаляются на уровне запроса (тот же механизм, что и для /btw), поэтому ревью никогда не пишет код и не выполняет команды; каждое утверждение должно основываться на видимом транскрипте
  • Основной диалог не прерывается; ревью показывается только вам
  • Ревью отображается как обрамлённый markdown-блок с четырьмя фиксированными разделами — Verdict, Risks, Missing evidence и Recommendation — под заголовком /advisor · <model>, указывающим используемую модель-ревьюера
  • В отличие от /btw, который выполняется fire-and-forget и не блокирует сессию, /advisor блокирует ввод до возврата ревью; при полном окне контекста с мощной моделью-ревьюером это может занять десятки секунд
  • По умолчанию используется основная модель; установите advisorModel, чтобы направить ревью на другую (обычно более мощную) модель — недавний транскрипт отправляется этой модели, даже если она использует другого провайдера

Пример:

> /advisor is my fix for the null check actually correct? Consulting advisor... ╭──────────────────────────────────────────────────────╮ │ /advisor · qwen3-max │ │ │ │ Verdict │ │ The approach is sound, but the edge case at line 42 │ │ is unverified. │ │ │ │ Risks │ │ - The fix assumes the config is always loaded; a │ │ startup race could leave it null. │ │ │ │ Missing evidence │ │ - No test exercises the null-config path in the │ │ visible transcript. │ │ │ │ Recommendation │ │ Add a focused unit test for the null-config branch │ │ before merging. │ ╰──────────────────────────────────────────────────────╯

Ревью отображается в обрамлённом блоке, заголовок которого указывает используемую модель-ревьюера. Неизвестная advisorModel не проверяется заранее — если провайдер отклоняет её, /advisor сообщает о сбое, поэтому проверяйте имя модели; только неразрешимые селекторы алиасов (например, fast без настроенной быстрой модели) откатываются на основную модель. Запросы advisor не используют настроенные фолбэки моделей.

Поддерживаемые режимы выполнения:

РежимПоведение
InteractiveОтображает ревью из четырёх разделов в диалоге
ACP (Agent Protocol)Возвращает ревью как результат сообщения
Tip

Используйте /advisor для получения второго мнения перед принятием направления — это особенно полезно для выявления ошибочных предположений, непроверенных утверждений или рискованных следующих шагов. Настройте advisorModel, чтобы получать ревью от другой модели, отличной от той, что ведёт основной диалог.

Note

advisorModel задаётся только в настройках; в отличие от fastModel и visionModel, у неё пока нет аналога в виде флага /model.

1.8 Краткое содержание сессии (/recap)

Команда /recap генерирует короткое резюме «на чем вы остановились» для текущей сессии, чтобы вы могли возобновить старый диалог, не прокручивая страницы истории.

КомандаОписание
/recapСгенерировать и показать краткое резюме сессии в одну строку

Как это работает:

  • Использует настроенную быструю модель (настройка fastModel), если она доступна, иначе переключается на основную модель сессии. Для резюме достаточно небольшой и дешевой модели.
  • Недавний диалог (до 30 сообщений, только текст — вызовы инструментов и ответы фильтруются) отправляется модели с кратким системным промптом.
  • Резюме отображается приглушенным цветом с префиксом , чтобы отличаться от обычных ответов ассистента.
  • Откажется с inline-ошибкой, если выполняется ход модели или обрабатывается другая команда. Если нет подходящего диалога или базовая генерация завершается сбоем, /recap покажет короткое информационное сообщение вместо резюме — ручная команда всегда что-то отвечает.

Автозапуск при возвращении:

Если терминал находится не в фокусе более 5 минут, а затем снова получает фокус, резюме генерируется и отображается автоматически (только если ответ модели не находится в процессе выполнения; иначе команда ждет завершения текущего хода). В отличие от ручной команды, автозапуск полностью молчит при сбое: если генерация завершается ошибкой или нечего резюмировать, сообщение в историю не добавляется. Управляется настройкой general.showSessionRecap (по умолчанию: false); ручная команда /recap всегда работает независимо от этой настройки.

Пример:

> /recap ❯ Refactoring loopDetectionService.ts to address long-session OOM caused by unbounded streamContentHistory and contentStats. The next step is to implement option B (LRU sliding window with FNV-1a) pending confirmation.
Tip

Настройте быструю модель через /model --fast <model> (например, qwen3-coder-flash), чтобы /recap работала быстро и дешево. Установите general.showSessionRecap в true, чтобы включить автозапуск; ручная команда /recap всегда работает независимо от этой настройки.

1.9 Просмотр diff (/diff)

Команда /diff открывает интерактивный просмотрщик diff, показывающий незакоммиченные изменения и diff для каждого хода. Используйте ←/→ для переключения между текущим git diff и отдельными ходами диалога, ↑/↓ для навигации по файлам и Enter для просмотра inline-diff.

Как это работает:

В интерактивном режиме /diff открывает диалоговое окно с выбором источника в верхней части:

  • Current — рабочее дерево против HEAD (git diff HEAD). Показывает все незакоммиченные изменения, включая проиндексированные, непроиндексированные и неотслеживаемые файлы.
  • T1, T2, T3, … — diff для каждого хода, по одной вкладке на каждый ход модели, изменивший файлы. Самые последние ходы отображаются первыми. Каждая вкладка показывает превью исходного промпта для контекста.

Список файлов отображает статистику по каждому файлу (добавленные/удаленные строки) с тегами для специальных состояний (new, deleted, untracked, binary, truncated, oversized). Нажмите Enter на файле, чтобы просмотреть его inline-diff с подсветкой синтаксиса для блоков изменений.

Diff для каждого хода требует включения контрольных точек файлов (по умолчанию включено в интерактивном режиме). Когда контрольные точки файлов отключены, доступен только источник “Current”.

Горячие клавиши:

КлавишаДействие
/ Переключение между источниками (Current / T1 / T2…)
/ Навигация по списку файлов
j / kНавигация по списку файлов (в стиле vim)
EnterПросмотр inline-diff для выбранного файла
/ EscВозврат к списку файлов из просмотра inline-diff
EscЗакрыть диалоговое окно

Пример:

┌ /diff · Turn 3 "refactor the auth middleware" ──── 3 files +45 -12 ┐ │ │ │ ◀ Current · T3 · T2 · T1 ▶ │ │ │ │ › src/utils/parser.ts +30 -8 │ │ src/utils/parser.test.ts +12 -2 │ │ README.md +3 -2 │ │ │ │ ←/→ source · ↑/↓ file · Enter view · Esc close │ └─────────────────────────────────────────────────────────────────────┘

Неинтерактивный режим:

В headless-режиме (--prompt) или неинтерактивном контексте /diff выводит текстовое резюме рабочего дерева против HEAD. Навигация по ходам недоступна.

3 files changed, +45 / -12 +30 -8 src/utils/parser.ts +12 -2 src/utils/parser.test.ts +3 -2 README.md

Web Shell: В Web Shell UI (qwen serve), /diff открывает графический диалог diff. Панель вкладок в верхней части позволяет переключаться между представлением Changes и представлением History (/log).

Просмотр истории (/log) — только Web Shell

Команда /log открывает браузер истории коммитов для текущего рабочего пространства. Она доступна только в Web Shell UI; CLI/TUI не имеет этой команды.

Как это работает:

/log открывает диалоговое окно со списком коммитов в обратном хронологическом порядке (новые первые). Каждая строка показывает:

  • Короткий SHA (моноширинный, с кнопкой копирования полного SHA)
  • Тему коммита (одна строка)
  • Имя автора и относительное время (например, “2h ago”)
  • Метки ссылок веток/тегов, если есть
  • Иконку слияния (⎇) для merge-коммитов

Нажмите на строку коммита, чтобы развернуть его детали по запросу:

  • Полное тело сообщения коммита
  • Статистику изменений файлов (изменённые файлы, добавленные/удалённые строки, разбивка по файлам)

Используйте Load more внизу, чтобы загрузить следующую страницу коммитов (50 на страницу).

Пример:

┌─ History ──────────────────────────── 50 commits ─ ✕ ┐ │ │ │ a1b2c3d feat(cli): add --json flag 2h ago │ │ wenshao │ │ │ │ e4f5g6h fix(core): handle null config 5h ago │ │ dev · main v1.2.0 │ │ │ │ ▼ 789abcd refactor: simplify parser 1d ago │ │ ┌─────────────────────────────────────────────┐ │ │ │ Broke the monolithic parse() into smaller │ │ │ │ functions for readability. │ │ │ │ │ │ │ │ 3 files · +45 −12 │ │ │ │ +30 −8 src/parser.ts │ │ │ │ +10 −2 src/utils.ts │ │ │ │ +5 −2 test/parser.test.ts │ │ │ └─────────────────────────────────────────────┘ │ │ │ │ [ Load more ] │ └───────────────────────────────────────────────────────┘
Note

/log требует рабочее пространство git-репозитория. Если рабочее пространство не является git-репозиторием или не имеет коммитов, диалог показывает сообщение-заглушку.

1.10 Информация, настройки и помощь

Команды для получения информации и выполнения системных настроек.

КомандаОписаниеПримеры использования
/helpОтобразить справочную информацию по доступным командам/help или /?
/statusОтобразить информацию о версии/status или /about
/status pathsОтобразить пути к файлу текущей сессии и логам/status paths
/statsОткрыть интерактивную панель статистики использования (вкладки Session, Activity и Efficiency)/stats или /usage
/stats modelПоказать разбивку токенов по моделям и оценочную стоимость/stats model
/stats toolsПоказать количество вызовов по каждому инструменту/stats tools
/stats skillsПоказать количество вызовов по каждому skill для текущей активной сессии (только live; исключает ежедневную/ежемесячную активность между сессиями)/stats skills
/stats dailyПоказать ежедневную статистику использования токенов/stats daily (алиас day), /stats day [YYYY-MM-DD]
/stats monthlyПоказать ежемесячную статистику использования токенов/stats monthly (алиас month), /stats month [YYYY-MM]
/stats exportЭкспортировать статистику использования в CSV или JSON/stats export <daily|monthly> [date|month] [--format csv|json] [--output path]
/settingsОткрыть редактор настроек/settings
/configПолучить или установить любую настройку по ключу с точечным путем (записывает в пользовательские настройки)/config (список всех), /config <key>, /config <key>=<value>
/authИзменить метод аутентификации/auth, /connect, /login
/doctorЗапустить диагностику установки и окружения/doctor, /doctor memory
memoryПоказать диагностику памяти текущего процесса/doctor memory [--json] [--sample] [--snapshot]
cpu-profileЗаписать профиль ЦП для анализа в Chrome DevTools/doctor cpu-profile [--duration <seconds>]
rollbackОткатить автономный бинарный файл CLI до предыдущей версии (только для автономных установок; для истории диалогов используйте /rewind)/doctor rollback
/docsОткрыть полную документацию Qwen Code в браузере/docs
/ideУправлять интеграцией с IDE/ide status, /ide install, /ide enable, /ide disable
/insightГенерировать инсайты по программированию из истории чата/insight
/setup-githubНастроить GitHub Actions/setup-github
/bugОтправить отчет об ошибке Qwen Code/bug Button click unresponsive
/copyСкопировать в буфер обмена: ответ (N-ный с конца), код (по языку), LaTeX или Mermaid/copy, /copy 2, /copy python, /copy latex, /copy mermaid
/quitНемедленно выйти из Qwen Code/quit или /exit
Warning

/doctor memory --snapshot записывает снимок кучи V8, который может содержать промпты, содержимое файлов, API-ключи и результаты работы инструментов из текущей сессии. Проверьте файл перед тем, как им делиться.

Note

/config читает и записывает отдельные настройки по ключу с точечным путем (например, general.vimMode), дополняя интерактивный редактор /settings. Запуск /config без аргументов (или с --help) выводит список всех доступных для изменения ключей с их типом и текущим значением. /config <key> выводит текущее значение — за исключением булевых ключей, где он переключает значение. /config <key>=<value> устанавливает значение. Изменения записываются в пользовательские настройки (~/.qwen/settings.json). Таким образом можно изменять только настройки типов boolean, string, number и enum — настройки типов array и object необходимо редактировать напрямую в settings.json. Конфиденциальные значения (API-ключи, токены, базовые URL) маскируются в выводе, а установка tools.approvalMode в значение yolo заблокирована.

1.11 Часто используемые сочетания клавиш

Сочетание клавишФункцияПримечание
Ctrl/cmd+LОчистить экранОчищает только видимую часть экрана (не сбрасывает сессию, как /clear)
Ctrl/cmd+TПереключить описание инструментаУправление инструментами MCP
Ctrl/cmd+C×2Подтверждение выходаБезопасный механизм выхода
Ctrl/cmd+ZОтменить вводРедактирование текста
Ctrl/cmd+Shift+ZПовторить вводРедактирование текста

1.12 Команды аутентификации

Используйте /auth внутри сессии Qwen Code для настройки аутентификации. Используйте /doctor для проверки текущего статуса аутентификации и состояния окружения.

КомандаОписание
/authИнтерактивная настройка аутентификации (алиасы: /connect, /login)
/doctorПоказать проверки аутентификации и окружения
Note

Отдельная CLI-команда qwen auth была удалена. Устаревшие вызовы, такие как qwen auth status, выводят уведомление об удалении с инструкциями по миграции. Полную информацию см. на странице Аутентификация.

2. Команды @ (Подключение файлов)

Команды @ используются для быстрого добавления содержимого локального файла или директории в контекст разговора.

Формат командыОписаниеПримеры
@<путь к файлу>Внедрить содержимое указанного файла@src/main.py Пожалуйста, объясни этот код
@<путь к директории>Рекурсивно прочитать все текстовые файлы в директории@docs/ Сделай саммари этой документации
Одиночный @Используется при обсуждении самого символа @@ Для чего используется этот символ в программировании?

Примечание: Пробелы в путях необходимо экранировать обратным слешем (например, @My\ Documents/file.txt).

3. Команды с восклицательным знаком (!) — Выполнение Shell-команд

Команды с восклицательным знаком позволяют выполнять системные команды непосредственно внутри Qwen Code.

Формат командыОписаниеПримеры
!<shell-команда>Выполнить команду в sub-Shell!ls -la, !git status
Одиночный !Переключить в режим Shell, любой ввод выполняется как Shell-команда!(ввод) → Ввод команды → !(выход)

Переменные окружения: При выполнении команд через ! устанавливается переменная окружения QWEN_CODE=1.

4. Пользовательские команды

Сохраняйте часто используемые промпты в виде команд быстрого доступа для повышения эффективности работы и обеспечения согласованности.

Note

Пользовательские команды теперь используют формат Markdown с опциональным YAML frontmatter. Формат TOML устарел, но все еще поддерживается для обратной совместимости. При обнаружении TOML-файлов будет отображаться запрос на автоматическую миграцию.

Краткий обзор

ФункцияОписаниеПреимуществаПриоритетСценарии применения
Пространство именПоддиректория создает команды с двоеточием в имениЛучшая организация команд
Глобальные команды~/.qwen/commands/Доступны во всех проектахНизкийЛичные часто используемые команды, использование между проектами
Команды проекта<корневая директория проекта>/.qwen/commands/Специфичны для проекта, поддерживают версионированиеВысокийКомандный доступ, специфичные для проекта команды

Правила приоритета: Команды проекта > Пользовательские команды (при совпадении имен используется команда проекта).

Правила именования команд

Таблица сопоставления пути к файлу и имени команды

Расположение файлаСгенерированная командаПример вызова
~/.qwen/commands/test.md/test/test Параметр
<project>/.qwen/commands/git/commit.md/git:commit/git:commit Сообщение

Правила именования: Разделитель пути (/ или \) преобразуется в двоеточие (:).

Спецификация формата Markdown-файлов (Рекомендуется)

Пользовательские команды используют Markdown-файлы с опциональным YAML frontmatter:

--- description: Опциональное описание (отображается в /help) --- Здесь ваш текст промпта. Используйте {{args}} для внедрения параметров.
ПолеОбязательноОписаниеПример
descriptionНетОписание команды (отображается в /help)description: Инструмент анализа кода
Тело промптаДаСодержимое промпта, отправляемое моделиЛюбой Markdown-контент после frontmatter

Формат TOML-файлов (Устарел)

Warning

Устарело: Формат TOML все еще поддерживается, но будет удален в будущих версиях. Пожалуйста, мигрируйте на формат Markdown.

ПолеОбязательноОписаниеПример
promptДаСодержимое промпта, отправляемое моделиprompt = "Пожалуйста, проанализируй код: {{args}}"
descriptionНетОписание команды (отображается в /help)description = "Инструмент анализа кода"

Механизм обработки параметров

Метод обработкиСинтаксисСценарии примененияФункции безопасности
Контекстное внедрение{{args}}Требуется точный контроль параметровАвтоматическое экранирование Shell
Обработка параметров по умолчаниюБез специальных метокПростые команды, добавление параметровДобавление как есть
Внедрение Shell-команд!{command}Требуется динамический контентТребуется подтверждение выполнения

1. Контекстное внедрение ({{args}})

СценарийКонфигурация TOMLМетод вызоваФактический результат
Прямое внедрениеprompt = "Fix: {{args}}"/fix "Button issue"Fix: "Button issue"
В Shell-командеprompt = "Search: !{grep {{args}} .}"/search "hello"Выполнение grep "hello" .

2. Обработка параметров по умолчанию

Ситуация на входеМетод обработкиПример
Есть параметрыДобавление в конец промпта (отделяется двумя переносами строк)/cmd параметр → Исходный промпт + параметр
Нет параметровОтправка промпта как есть/cmd → Исходный промпт

🚀 Внедрение динамического контента

Тип внедренияСинтаксисПорядок обработкиНазначение
Содержимое файла@{путь к файлу}Обрабатывается первымВнедрение статических справочных файлов
Shell-команды!{command}Обрабатывается в серединеВнедрение результатов динамического выполнения
Замена параметров{{args}}Обрабатывается последнимВнедрение пользовательских параметров

3. Выполнение Shell-команд (!{...})

ОперацияВзаимодействие с пользователем
1. Парсинг команды и параметров-
2. Автоматическое экранирование Shell-
3. Показать диалог подтверждения✅ Подтверждение пользователя
4. Выполнить команду-
5. Внедрить вывод в промпт-

Пример: Генерация сообщения для Git-коммита

--- description: Генерация сообщения коммита на основе проиндексированных изменений --- Пожалуйста, сгенерируй сообщение коммита на основе следующего diff: ```diff !{git diff --staged} ```

4. Внедрение содержимого файлов (@{...})

Тип файлаСтатус поддержкиМетод обработки
Текстовые файлы✅ Полная поддержкаПрямое внедрение содержимого
Изображения/PDF✅ Мультимодальная поддержкаКодирование и внедрение
Бинарные файлы⚠️ Ограниченная поддержкаМогут быть пропущены или обрезаны
Директория✅ Рекурсивное внедрениеСледование правилам .gitignore

Пример: Команда для Code Review

--- description: Code review на основе лучших практик --- Проведи ревью {{args}}, эталонные стандарты: @{docs/code-standards.md}

Практический пример создания

Таблица шагов создания команды “Рефакторинг в чистую функцию”

ОперацияКоманда/Код
1. Создать структуру директорийmkdir -p ~/.qwen/commands/refactor
2. Создать файл командыtouch ~/.qwen/commands/refactor/pure.md
3. Отредактировать содержимое командыСм. полный код ниже.
4. Протестировать команду@file.js/refactor:pure
--- description: Рефакторинг кода в чистую функцию --- Пожалуйста, проанализируй код в текущем контексте и выполни рефакторинг в чистую функцию. Требования: 1. Предоставь рефакторенный код 2. Объясни ключевые изменения и реализацию характеристик чистой функции 3. Сохрани функциональность без изменений

Сводка лучших практик для пользовательских команд

Таблица рекомендаций по проектированию команд

Практические аспектыРекомендуемый подходЧего следует избегать
Именование командИспользуйте пространства имен для организацииИзбегайте слишком общих имен
Обработка параметровЯвно используйте {{args}}Полагаться на добавление по умолчанию (легко запутаться)
Обработка ошибокИспользуйте вывод ошибок ShellИгнорировать сбои выполнения
Организация файловОрганизуйте по функциям в директорияхВсе команды в корневой директории
Поле описанияВсегда предоставляйте четкое описаниеПолагаться на автоматически сгенерированное описание

Напоминание о функциях безопасности

Механизм безопасностиЭффект защитыДействие пользователя
Экранирование ShellПредотвращение инъекции командАвтоматическая обработка
Подтверждение выполненияИзбегание случайного выполненияПодтверждение в диалоге
Отчет об ошибкахПомощь в диагностике проблемПросмотр информации об ошибке

5. Подкоманды CLI

Эти команды выполняются из shell как qwen <subcommand> перед началом интерактивной сессии.

Управление сессиями

КомандаОписаниеПримеры использования
qwen sessions listСписок недавних сессий общенияqwen sessions list, qwen sessions list --json --limit 50
qwen sessions psСписок интерактивных сессий, запущенных в данный моментqwen sessions ps, qwen sessions ps --json

qwen sessions list

Выводит список ваших недавних сессий Qwen Code с метаданными.

Флаги:

ФлагТипПо умолчаниюОписание
--jsonbooleanfalseВывод в формате JSON Lines (один JSON-объект на строку)
--limitnumber20Максимальное количество отображаемых сессий

Человекочитаемый вывод (по умолчанию):

Таблица со столбцами: SESSION ID, STARTED (UTC-время), TITLE, BRANCH, PROMPT.

JSON-вывод (--json):

Выводит JSON Lines в stdout. Каждая строка представляет собой JSON-объект с полями:

sessionId, startTime, mtime, prompt, gitBranch, customTitle, titleSource, filePath, cwd

Подсказка о наличии дополнительных сессий выводится в stderr, чтобы конвейеризация в jq оставалась безопасной.

Примеры:

# Показать последние 20 сессий (по умолчанию) qwen sessions list # Показать последние 50 сессий qwen sessions list --limit 50 # Вывести в формате JSON для скриптов qwen sessions list --json | jq .

qwen sessions ps

Выводит список интерактивных сессий Qwen Code, запущенных на этой машине в данный момент. sessions list обходит сохранённые транскрипты («над чем я работал»); эта команда обходит реестр живых процессов («что запущено в данный момент»). Записи, оставшиеся от завершённой сессии, удаляются по мере обнаружения. Headless-сессии (qwen -p) не регистрируются в реестре живых процессов, поэтому не отображаются.

Флаги:

ФлагТипПо умолчаниюОписание
--jsonbooleanfalseВывод в формате JSON Lines (один JSON-объект на строку)

Человекочитаемый вывод (по умолчанию):

Таблица со столбцами: NAME, PID, AGE, DIRECTORY.

JSON-вывод (--json):

Выводит JSON Lines в stdout, самые новые сессии первыми. Каждая строка представляет собой JSON-объект с полями:

schemaVersion, pid, procStart, pidNs, sessionId, cwd, name, startedAt, qwenVersion

Ничего другого не записывается в stdout — пустой список не выводит ничего — поэтому qwen sessions ps --json | jq . безопасен для использования в скриптах.

JSON-вывод — это сырые данные: значения полей выводятся точно так, как были записаны, без санитизации для терминала. Обрабатывайте их как данные и санитизируйте перед отображением в терминале.

Примеры:

# Показать другие живые сессии qwen sessions ps # Какие директории сейчас заняты? # Примечание: `jq -r` отображает сырое записанное значение в терминале # (см. примечание о сырых данных выше); пропускайте через санитайзер, # если путь не является доверенным. qwen sessions ps --json | jq -r .cwd
Last updated on