Команды
Этот документ описывает все команды, поддерживаемые 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 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 |
/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 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. Пользовательские команды
Сохраняйте часто используемые подсказки в виде команд-ярлыков, чтобы повысить эффективность работы и обеспечить согласованность.
Краткий обзор
| Функция | Описание | Преимущества | Приоритет | Применимые сценарии |
|---|---|---|---|---|
| Пространство имен | Подкаталог создает команды с двоеточием в имени | Лучшая организация команд | ||
| Глобальные команды | ~/.qwen/commands/ | Доступны во всех проектах | Низкий | Персональные часто используемые команды, кросс-проектное использование |
| Команды проекта | <корневой каталог проекта>/.qwen/commands/ | Специфичные для проекта, под контролем версий | Высокий | Совместное использование в команде, специфичные команды проекта |
Правила приоритета: Команды проекта > Команды пользователя (при совпадении имен используется команда проекта)
Правила именования команд
Таблица сопоставления пути к файлу и имени команды
| Расположение файла | Сгенерированная команда | Пример вызова |
|---|---|---|
~/.qwen/commands/test.toml | /test | /test Parameter |
<project>/git/commit.toml | /git:commit | /git:commit Message |
Правила именования: разделитель пути (/ или \) преобразуется в двоеточие (:)
Спецификация формата файла TOML
| Поле | Обязательное | Описание | Пример |
|---|---|---|---|
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" |
| В команде оболочки | prompt = "Search: !{grep {{args}} .}" | /search "hello" | Выполнить grep "hello" . |
2. Обработка параметров по умолчанию
| Ситуация ввода | Метод обработки | Пример |
|---|---|---|
| Есть параметры | Добавление в конец запроса (разделение двумя разрывами строк) | /cmd parameter → Исходный запрос + параметр |
| Нет параметров | Отправка запроса как есть | /cmd → Исходный запрос |
🚀 Динамическая вставка контента
| Тип вставки | Синтаксис | Порядок обработки | Назначение |
|---|---|---|---|
| Содержимое файла | @{путь к файлу} | Обрабатывается первым | Вставка статических справочных файлов |
| Команды оболочки | !{команда} | Обрабатывается в середине | Вставка результатов динамического выполнения |
| Замена параметров | {{args}} | Обрабатывается последним | Вставка пользовательских параметров |
3. Выполнение команд оболочки (!{...})
| Операция | Взаимодействие с пользователем |
|---|---|
| 1. Разбор команды и параметров | - |
| 2. Автоматическое экранирование в оболочке | - |
| 3. Показ диалога подтверждения | ✅ Подтверждение пользователя |
| 4. Выполнение команды | - |
| 5. Вставка вывода в подсказку | - |
Пример: Генерация сообщения коммита Git
# git/commit.toml
description = "Сгенерировать сообщение коммита на основе подготовленных изменений"
prompt = """
Пожалуйста, сгенерируйте сообщение коммита на основе следующего diff:
diff
!{git diff --staged}
"""4. Внедрение содержимого файлов (@{...})
| Тип файла | Статус поддержки | Метод обработки |
|---|---|---|
| Текстовые файлы | ✅ Полная поддержка | Прямое внедрение содержимого |
| Изображения/PDF | ✅ Мультимодальная поддержка | Кодирование и внедрение |
| Бинарные файлы | ⚠️ Ограниченная поддержка | Может быть пропущено или усечено |
| Каталог | ✅ Рекурсивное внедрение | Следование правилам .gitignore |
Пример: Команда проверки кода
# review.toml
description = "Проверка кода на основе лучших практик"
prompt = """
Проверь {{args}}, ссылаясь на стандарты:
@{docs/code-standards.md}
"""Практический пример создания
Таблица шагов по созданию команды “Чистая функция рефакторинга”
| Операция | Команда/Код |
|---|---|
| 1. Создать структуру папок | mkdir -p ~/.qwen/commands/refactor |
| 2. Создать файл команды | touch ~/.qwen/commands/refactor/pure.toml |
| 3. Редактировать содержимое команды | См. полный код ниже. |
| 4. Протестировать команду | @file.js → /refactor:pure |
description = "Рефакторинг кода в чистую функцию"
prompt = """
Пожалуйста, проанализируйте код в текущем контексте и рефакторите его в чистую функцию.
Требования:
1. Предоставить рефакторенный код
2. Объяснить ключевые изменения и реализацию характеристик чистой функции
3. Оставить функцию без изменений
"""Сводка рекомендаций по созданию пользовательских команд
Таблица рекомендаций по проектированию команд
| Практические аспекты | Рекомендуемый подход | Избегать |
|---|---|---|
| Именование команд | Использовать пространства имен для организации | Избегать чрезмерно общих имен |
| Обработка параметров | Четко использовать {{args}} | Полагаться на добавление по умолчанию (легко запутаться) |
| Обработка ошибок | Использовать вывод ошибок оболочки | Игнорировать сбои выполнения |
| Организация файлов | Организовывать по функциям в каталогах | Все команды в корневом каталоге |
| Поле описания | Всегда предоставлять четкое описание | Полагаться на автоматически сгенерированное описание |
Таблица напоминаний о функциях безопасности
| Механизм безопасности | Эффект защиты | Операция пользователя |
|---|---|---|
| Экранирование оболочки | Предотвращение внедрения команд | Автоматическая обработка |
| Подтверждение выполнения | Избежание случайного выполнения | Диалог подтверждения |
| Отчет об ошибках | Помощь в диагностике проблем | Просмотр информации об ошибке |