Команды
В этом документе перечислены все команды, поддерживаемые Qwen Code, что помогает эффективно управлять сессиями, настраивать интерфейс и контролировать поведение системы.
Команды Qwen Code активируются с помощью специальных префиксов и делятся на три категории:
| Тип префикса | Описание функции | Типичный сценарий использования |
|---|---|---|
Слэш-команды (/) | Управление на метауровне самим Qwen Code | Управление сессиями, изменение параметров, получение справки |
Команды «ат» (@) | Быстрое включение содержимого локального файла в диалог | Позволяет ИИ анализировать указанные файлы или код в каталогах |
Восклицательные команды (!) | Прямое взаимодействие с системной оболочкой (shell) | Выполнение системных команд, например git status, ls и т.д. |
1. Слэш-команды (/)
Слэш-команды используются для управления сессиями Qwen Code, интерфейсом и базовым поведением.
1.1 Управление сессиями и проектами
Эти команды помогают сохранять, восстанавливать и резюмировать ход работы.
| Команда | Описание | Примеры использования |
|---|---|---|
/init | Анализирует текущий каталог и создаёт начальный файл контекста | /init |
/summary | Генерирует резюме проекта на основе истории диалога | /summary |
/compress | Заменяет историю чата резюме для экономии токенов | /compress |
/resume | Возобновляет предыдущую сессию диалога | /resume |
/restore | Восстанавливает файлы в состояние до выполнения инструментов | /restore (список) или /restore <ID> |
1.2 Интерфейс и управление рабочей областью
Команды для настройки внешнего вида интерфейса и рабочей среды.
| Команда | Описание | Примеры использования |
|---|---|---|
/clear | Очистить содержимое терминала | /clear (ярлык: Ctrl+L) |
/theme | Изменить визуальную тему Qwen Code | /theme |
/vim | Включить или отключить режим редактирования Vim в области ввода | /vim |
/directory | Управление рабочей областью с поддержкой нескольких каталогов | /dir add ./src,./tests |
/editor | Открыть диалоговое окно для выбора поддерживаемого редактора | /editor |
1.3 Настройки языка
Команды, предназначенные для управления языком интерфейса и вывода.
| Команда | Описание | Примеры использования |
|---|---|---|
/language | Просмотр или изменение языковых настроек | /language |
→ ui [язык] | Установка языка интерфейса пользователя | /language ui zh-CN |
→ output [язык] | Установка языка вывода LLM | /language output Chinese |
- Доступные встроенные языки интерфейса:
zh-CN(упрощённый китайский),en-US(английский),ru-RU(русский),de-DE(немецкий) - Примеры языков вывода:
Chinese,English,Japaneseи т. д.
1.4 Управление инструментами и моделями
Команды для управления ИИ-инструментами и моделями.
| Команда | Описание | Примеры использования |
|---|---|---|
/mcp | Список настроенных серверов MCP и инструментов | /mcp, /mcp desc |
/tools | Отображение текущего списка доступных инструментов | /tools, /tools desc |
/skills | Список и запуск доступных навыков | /skills, /skills <имя> |
/approval-mode | Изменение режима подтверждения при использовании инструментов | /approval-mode <режим (auto-edit)> --project |
→plan | Только анализ, без выполнения | Безопасный обзор |
→default | Требуется подтверждение редактирований | Повседневное использование |
→auto-edit | Автоматическое подтверждение редактирований | Доверенная среда |
→yolo | Автоматическое подтверждение всех действий | Быстрое прототипирование |
/model | Смена модели, используемой в текущей сессии | /model |
/extensions | Список всех активных расширений в текущей сессии | /extensions |
/memory | Управление контекстом инструкций ИИ | /memory add Важная информация |
1.5 Информация, настройки и справка
Команды для получения информации и выполнения системных настроек.
| Команда | Описание | Примеры использования |
|---|---|---|
/help | Отобразить справочную информацию по доступным командам | /help или /? |
/about | Отобразить информацию о версии | /about |
/stats | Отобразить подробную статистику текущей сессии | /stats |
/settings | Открыть редактор настроек | /settings |
/auth | Изменить метод аутентификации | /auth |
/bug | Сообщить об ошибке в Qwen Code | /bug Кнопка не реагирует на нажатие |
/copy | Скопировать последний вывод в буфер обмена | /copy |
/quit | Немедленно завершить работу Qwen Code | /quit или /exit |
1.6 Распространённые сочетания клавиш
| Сочетание клавиш | Действие | Примечание |
|---|---|---|
Ctrl/Cmd+L | Очистить экран | Аналогично /clear |
Ctrl/Cmd+T | Переключить описание инструмента | Управление инструментами MCP |
Ctrl/Cmd+C×2 | Подтверждение выхода | Безопасный механизм выхода |
Ctrl/Cmd+Z | Отменить ввод | Редактирование текста |
Ctrl/Cmd+Shift+Z | Повторить ввод | Редактирование текста |
2. Команды @ (включение файлов)
Команды @ используются для быстрого добавления содержимого локального файла или каталога в диалог.
| Формат команды | Описание | Примеры |
|---|---|---|
@<путь_к_файлу> | Вставляет содержимое указанного файла | @src/main.py Объясните, пожалуйста, этот код |
@<путь_к_каталогу> | Рекурсивно читает все текстовые файлы в каталоге | @docs/ Кратко изложите содержание этого документа |
Отдельный символ @ | Используется при обсуждении самого символа @ | @ Для чего используется этот символ в программировании? |
Примечание. Пробелы в путях необходимо экранировать обратной косой чертой (например, @My\ Documents/file.txt).
3. Команды восклицания (!) — выполнение команд оболочки
Команды восклицания позволяют выполнять системные команды непосредственно внутри Qwen Code.
| Формат команды | Описание | Примеры |
|---|---|---|
!<команда_оболочки> | Выполнение команды в дочерней оболочке | !ls -la, !git status |
Отдельный символ ! | Переключение в режим оболочки: любой введённый текст выполняется как команда оболочки | !(нажать Enter) → ввести команду → !(выйти) |
Переменные окружения: команды, выполняемые через !, устанавливают переменную окружения QWEN_CODE=1.
4. Пользовательские команды
Сохраняйте часто используемые запросы в виде команд-ярлыков, чтобы повысить производительность и обеспечить согласованность.
Пользовательские команды теперь используют формат Markdown с необязательным YAML-фронтматтером. Формат 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-фронтматтером:
---
description: Необязательное описание (отображается в /help)
---
Содержимое вашего промпта.
Используйте `{{args}}` для подстановки параметров.| Поле | Обязательно | Описание | Пример |
|---|---|---|---|
description | Необязательно | Описание команды (отображается в /help) | description: Инструмент анализа кода |
| Тело промпта | Обязательно | Содержимое промпта, отправляемое модели | Любой контент на Markdown после фронтматтера |
Формат файла TOML (устаревший)
Устаревший формат: Поддержка формата TOML сохраняется, но он будет удалён в одной из будущих версий. Пожалуйста, перейдите на формат Markdown.
| Поле | Обязательно | Описание | Пример |
|---|---|---|---|
prompt | Обязательно | Текст запроса, отправляемый модели | prompt = "Пожалуйста, проанализируйте код: {{args}}" |
description | Необязательно | Описание команды (отображается в /help) | description = "Инструмент анализа кода" |
Механизм обработки параметров
| Метод обработки | Синтаксис | Сценарии применения | Функции безопасности |
|---|---|---|---|
| Контекстно-зависимая инъекция | {{args}} | Требуется точный контроль параметров | Автоматическое экранирование для оболочки |
| Обработка параметров по умолчанию | Без специальных меток | Простые команды, добавление параметров | Добавление «как есть» |
| Инъекция команд оболочки | !{command} | Требуется динамическое содержимое | Требуется подтверждение выполнения перед запуском |
1. Контекстно-зависимая инъекция ({{args}})
| Сценарий | Конфигурация TOML | Способ вызова | Фактический эффект |
|---|---|---|---|
| Прямая инъекция | prompt = "Исправить: {{args}}" | /fix "Проблема с кнопкой" | Исправить: "Проблема с кнопкой" |
| В команде оболочки | prompt = "Поиск: !{grep {{args}} .}" | /search "hello" | Выполнение команды grep "hello" . |
2. Обработка параметров по умолчанию
| Ситуация ввода | Метод обработки | Пример |
|---|---|---|
| Параметры есть | Добавляются в конец запроса (разделяются двумя разрывами строк) | /cmd параметр → Исходный запрос + параметр |
| Параметров нет | Запрос отправляется без изменений | /cmd → Исходный запрос |
🚀 Динамическая подстановка содержимого
| Тип подстановки | Синтаксис | Порядок обработки | Назначение |
|---|---|---|---|
| Содержимое файла | @{путь_к_файлу} | Обрабатывается первым | Подстановка статических справочных файлов |
| Команды оболочки | !{команда} | Обрабатывается в середине | Подстановка результатов динамического выполнения |
| Замена параметров | {{args}} | Обрабатывается последним | Подстановка пользовательских параметров |
3. Выполнение команд оболочки (!{...})
| Операция | Взаимодействие с пользователем |
|---|---|
| 1. Разбор команды и параметров | — |
| 2. Автоматическое экранирование в оболочке | — |
| 3. Отображение диалога подтверждения | ✅ Подтверждение пользователя |
| 4. Выполнение команды | — |
| 5. Вставка вывода в запрос | — |
Пример: генерация сообщения коммита Git
---
description: Сгенерировать сообщение коммита на основе проиндексированных изменений
---
Создайте сообщение коммита на основе следующего diff:
```diff
!{git diff --staged}
```4. Вставка содержимого файла (@{...})
| Тип файла | Статус поддержки | Метод обработки |
|---|---|---|
| Текстовые файлы | ✅ Полная поддержка | Прямая вставка содержимого |
| Изображения/PDF | ✅ Поддержка мультимодальных данных | Кодирование и вставка |
| Бинарные файлы | ⚠️ Ограниченная поддержка | Могут пропускаться или усекаться |
| Каталог | ✅ Рекурсивная вставка | Соблюдение правил .gitignore |
Пример: команда проверки кода
---
description: Проверка кода на основе передовых практик
---
Проверьте {{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}} | Полагаться на режим автоматического добавления (вызывает путаницу) |
| Обработка ошибок | Использовать вывод ошибок оболочки | Игнорировать сбои при выполнении |
| Организация файлов | Группировать по функциональности в каталогах | Размещать все команды в корневом каталоге |
| Поле описания | Всегда указывать понятное описание | Полагаться на автоматически сгенерированное описание |
Напоминание о функциях безопасности
| Механизм безопасности | Эффект защиты | Действие пользователя |
|---|---|---|
| Экранирование оболочки | Предотвращает внедрение команд | Автоматическая обработка |
| Подтверждение выполнения | Предотвращает случайное выполнение | Диалоговое подтверждение |
| Сообщения об ошибках | Помогает диагностировать проблемы | Просмотр информации об ошибках |