Команды
Этот документ описывает все команды, поддерживаемые Qwen Code, помогая эффективно управлять сессиями, настраивать интерфейс и контролировать его поведение.
Команды Qwen Code активируются через определенные префиксы и делятся на три категории:
| Тип префикса | Описание функции | Типичный случай использования |
|---|---|---|
Слэш-команды (/) | Контроль на метауровне самого Qwen Code | Управление сессиями, изменение настроек, получение справки |
Команды @ (@) | Быстрое введение содержимого локальных файлов в диалог | Позволяет ИИ анализировать указанные файлы или код в каталогах |
Восклицательные команды (!) | Прямое взаимодействие с системной оболочкой | Выполнение системных команд, таких как 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 ru-RU |
→ output [язык] | Установить язык вывода LLM | /language output Russian |
- Доступные встроенные языки интерфейса:
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 <name> |
/approval-mode | Изменение режима подтверждения для использования инструментов | /approval-mode <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 Button click unresponsive |
/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 |
Отдельный ! | Переключиться в режим оболочки, любой ввод выполняется как команда оболочки | !(ввод) → Ввести команду → !(выход) |
Переменные окружения: Команды, выполняемые через !, устанавливают переменную окружения QWEN_CODE=1.
4. Пользовательские команды
Сохраняйте часто используемые подсказки в виде команд-шаблонов, чтобы повысить эффективность работы и обеспечить согласованность.
Примечание: Пользовательские команды теперь используют формат Markdown с необязательным заголовком YAML. Формат TOML устарел, но все еще поддерживается для обратной совместимости. При обнаружении файлов TOML будет отображено автоматическое предложение миграции.
Краткий обзор
| Функция | Описание | Преимущества | Приоритет | Применимые сценарии |
|---|---|---|---|---|
| Пространство имен | Подкаталог создает команды с двоеточием в имени | Лучшая организация команд | ||
| Глобальные команды | ~/.qwen/commands/ | Доступны во всех проектах | Низкий | Персональные часто используемые команды, общие для нескольких проектов |
| Команды проекта | <корневая_директория_проекта>/.qwen/commands/ | Специфичные для проекта, поддаются контролю версий | Высокий | Совместное использование в команде, специфичные команды проекта |
Правила приоритета: Команды проекта > Пользовательские команды (при совпадении имен используется команда проекта)
Правила именования команд
Таблица сопоставления пути к файлу и имени команды
| Расположение файла | Сгенерированная команда | Пример вызова |
|---|---|---|
~/.qwen/commands/test.md | /test | /test Параметр |
<project>/git/commit.md | /git:commit | /git:commit Сообщение |
Правила именования: разделитель пути (/ или \) преобразуется в двоеточие (:)
Спецификация формата файла Markdown (рекомендуется)
Пользовательские команды используют файлы Markdown с необязательным YAML frontmatter:
---
description: Необязательное описание (отображается в /help)
---
Содержимое вашего запроса здесь.
Используйте {{args}} для внедрения параметров.| Поле | Обязательное | Описание | Пример |
|---|---|---|---|
description | Необязательно | Описание команды (отображается в /help) | description: Инструмент анализа кода |
| Тело запроса | Обязательно | Содержимое запроса, отправляемое модели | Любое содержимое Markdown после frontmatter |
Формат файла TOML (устаревший)
Устарело: формат TOML по-прежнему поддерживается, но будет удален в будущей версии. Пожалуйста, перейдите на формат Markdown.
| Поле | Обязательное | Описание | Пример |
|---|---|---|---|
prompt | Обязательное | Содержимое запроса, отправляемого модели | prompt = "Please analyze code: {{args}}" |
description | Необязательное | Описание команды (отображается в /help) | description = "Code analysis tool" |
Механизм обработки параметров
| Метод обработки | Синтаксис | Применимые сценарии | Особенности безопасности |
|---|---|---|---|
| Контекстно-зависимая инъекция | {{args}} | Требуется точный контроль параметров | Автоматическое экранирование командной строки |
| Обычная обработка параметров | Без специальных обозначений | Простые команды, добавление параметров | Добавление как есть |
| Инъекция команды в командную строку | !{command} | Требуется динамический контент | Перед выполнением требуется подтверждение |
1. Инъекция с учетом контекста ({{args}})
| Сценарий | Конфигурация TOML | Метод вызова | Фактический эффект |
|---|---|---|---|
| Прямая инъекция | prompt = "Fix: {{args}}" | /fix "Button issue" | Fix: "Button issue" |
| В команде shell | prompt = "Search: !{grep {{args}} .}" | /search "hello" | Выполнить grep "hello" . |
2. Обработка параметров по умолчанию
| Ситуация ввода | Метод обработки | Пример |
|---|---|---|
| Есть параметры | Добавить в конец запроса (с разделением двумя разрывами строк) | /cmd parameter → Исходный запрос + параметр |
| Нет параметров | Отправить запрос как есть | /cmd → Исходный запрос |
🚀 Вставка динамического содержимого
| Тип вставки | Синтаксис | Порядок обработки | Назначение |
|---|---|---|---|
| Содержимое файла | @{путь к файлу} | Обрабатывается первым | Вставка статических справочных файлов |
| Команды оболочки | !{команда} | Обрабатывается в середине | Вставка результатов динамического выполнения |
| Замена параметров | {{args}} | Обрабатывается последним | Вставка пользовательских параметров |
3. Выполнение команд оболочки (!{...})
| Операция | Взаимодействие с пользователем |
|---|---|
| 1. Разбор команды и параметров | - |
| 2. Автоматическое экранирование в оболочке | - |
| 3. Показ диалога подтверждения | ✅ Подтверждение пользователя |
| 4. Выполнение команды | - |
| 5. Вставка вывода в подсказку | - |
Пример: Генерация сообщения коммита Git
---
description: Генерировать сообщение коммита на основе подготовленных изменений
---
Пожалуйста, сгенерируйте сообщение коммита на основе следующего диффа:
```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}} | Полагаться на добавление по умолчанию (легко запутаться) |
| Обработка ошибок | Использовать вывод ошибок Shell | Игнорировать сбои выполнения |
| Организация файлов | Группировать по функциям в каталогах | Все команды в корневом каталоге |
| Поле описания | Всегда предоставлять четкое описание | Полагаться на автоматически генерируемое описание |
Таблица напоминаний о функциях безопасности
| Механизм безопасности | Эффект защиты | Операции пользователя |
|---|---|---|
| Экранирование оболочки | Предотвращение внедрения команд | Автоматическая обработка |
| Подтверждение выполнения | Избежание случайного выполнения | Диалоговое подтверждение |
| Отчет об ошибках | Помощь в диагностике проблем | Просмотр информации об ошибке |