Расширения Qwen Code
Пакет расширений Qwen Code объединяет промпты, серверы MCP, субагентов, навыки и пользовательские команды в привычный и удобный для пользователя формат. С помощью расширений вы можете расширить функциональность Qwen Code и делиться этими возможностями с другими. Они разработаны так, чтобы их было легко устанавливать и распространять.
Расширения и плагины из Галереи расширений Gemini CLI и Рынка расширений Claude Code можно напрямую устанавливать в Qwen Code. Эта кроссплатформенная совместимость даёт вам доступ к богатой экосистеме расширений и плагинов, значительно расширяя возможности Qwen Code без необходимости поддержки отдельных версий расширений их авторами.
Управление расширениями
Мы предоставляем набор инструментов для управления расширениями как через CLI-команды qwen extensions, так и через команды с косой чертой /extensions в интерактивном CLI.
Управление расширениями во время выполнения (команды с косой чертой)
Вы можете управлять расширениями во время выполнения в интерактивной CLI-оболочке с помощью команд /extensions с косой чертой. Эти команды поддерживают горячую перезагрузку, то есть изменения вступают в силу немедленно без необходимости перезапуска приложения.
| Команда | Описание |
|---|---|
/extensions или /extensions manage | Управление всеми установленными расширениями |
/extensions install <источник> | Установка расширения из URL-адреса Git, локального пути или маркетплейса |
/extensions explore [источник] | Открытие страницы исходного кода расширений (Gemini или ClaudeCode) в вашем браузере |
Управление расширениями через CLI
Расширения также можно управлять с помощью команд CLI qwen extensions. Обратите внимание, что изменения, внесённые через команды CLI, отразятся в активных сеансах CLI после перезапуска.
Установка расширения
Расширение можно установить с помощью команды qwen extensions install из нескольких источников:
Из Claude Code Marketplace
Qwen Code также поддерживает плагины из Claude Code Marketplace . Установите плагин из маркетплейса:
qwen extensions install <название-маркетплейса>
# или
qwen extensions install <ссылка-на-github-маркетплейса>Если вы хотите установить конкретный плагин, используйте формат с указанием имени плагина:
qwen extensions install <название-маркетплейса>:<имя-плагина>
# или
qwen extensions install <ссылка-на-github-рынка>:<имя-плагина>Например, для установки плагина prompts.chat из маркетплейса f/awesome-chatgpt-prompts :
qwen extensions install f/awesome-chatgpt-prompts:prompts.chat
# или
qwen extensions install https://github.com/f/awesome-chatgpt-prompts:prompts.chat Плагины Claude автоматически конвертируются в формат Qwen Code при установке:
- Файл
claude-plugin.jsonпреобразуется вqwen-extension.json - Конфигурации агентов преобразуются в формат подагентов Qwen
- Конфигурации навыков преобразуются в формат навыков Qwen
- Сопоставление инструментов обрабатывается автоматически
Вы можете быстро просмотреть доступные расширения из разных маркетплейсов с помощью команды /extensions explore:
# Открыть маркетплейс расширений Gemini CLI
/extensions explore Gemini
# Открыть маркетплейс Claude Code
/extensions explore ClaudeCodeЭта команда открывает соответствующий маркетплейс в вашем браузере по умолчанию, позволяя находить новые расширения для улучшения вашего опыта работы с Qwen Code.
Кроссплатформенная совместимость: Это позволяет использовать богатые экосистемы расширений как Gemini CLI, так и Claude Code, значительно расширяя функциональные возможности для пользователей Qwen Code.
Расширения из Gemini CLI
Qwen Code полностью поддерживает расширения из галереи расширений Gemini CLI . Просто установите их, используя URL-адрес репозитория Git:
qwen extensions install <gemini-cli-extension-github-url>
# или
qwen extensions install <владелец>/<репозиторий> Расширения Gemini автоматически преобразуются в формат Qwen Code при установке:
gemini-extension.jsonпреобразуется вqwen-extension.json- Файлы команд в формате TOML автоматически переносятся в формат Markdown
- Серверы MCP, файлы контекста и настройки сохраняются
Из репозитория Git
qwen extensions install https://github.com/github/github-mcp-serverЭта команда установит расширение github mcp server.
Из локального пути
qwen extensions install /путь/к/вашему/расширениюОбратите внимание, что при установке создаётся копия расширения. Чтобы применить изменения в локально определённых расширениях или в расширениях из GitHub, выполните команду qwen extensions update.
Удаление расширения
Чтобы удалить расширение, выполните команду qwen extensions uninstall имя-расширения. Например, для расширения из приведённого выше примера установки:
qwen extensions uninstall qwen-cli-securityОтключение расширения
По умолчанию расширения включены во всех рабочих пространствах. Вы можете отключить расширение полностью или только для конкретного рабочего пространства.
Например, команда qwen extensions disable extension-name отключит расширение на уровне пользователя, то есть оно будет отключено повсюду. Команда qwen extensions disable extension-name --scope=workspace отключит расширение только в текущем рабочем пространстве.
Включение расширения
Вы можете включить расширение с помощью команды qwen extensions enable extension-name. Также вы можете включить расширение только для конкретного рабочего пространства, выполнив qwen extensions enable extension-name --scope=workspace изнутри этого рабочего пространства.
Это полезно, если расширение отключено на верхнем уровне и включено только в определённых местах.
Обновление расширения
Для расширений, установленных из локального пути или репозитория Git, можно явно обновить их до последней версии (как указано в поле version файла qwen-extension.json) с помощью команды qwen extensions update extension-name.
Обновить все расширения можно следующей командой:
qwen extensions update --allКак это работает
При запуске Qwen Code ищет расширения в каталоге <home>/.qwen/extensions.
Каждое расширение представляет собой каталог, содержащий файл qwen-extension.json. Например:
<home>/.qwen/extensions/my-extension/qwen-extension.json
qwen-extension.json
Файл qwen-extension.json содержит конфигурацию расширения. Структура файла следующая:
{
"name": "my-extension",
"version": "1.0.0",
"mcpServers": {
"my-server": {
"command": "node my-server.js"
}
},
"contextFileName": "QWEN.md",
"commands": "commands",
"skills": "skills",
"agents": "agents",
"settings": [
{
"name": "API Key",
"description": "Ваш ключ API для сервиса",
"envVar": "MY_API_KEY",
"sensitive": true
}
]
}name: Имя расширения. Используется для его уникальной идентификации, а также для разрешения конфликтов, когда команды расширения совпадают по имени с пользовательскими или проектными командами. Имя должно состоять только из строчных букв, цифр и дефисов (без подчёркиваний и пробелов). Именно так пользователи будут ссылаться на ваше расширение в CLI. Обратите внимание: это имя должно совпадать с именем директории расширения.version: Версия расширения.mcpServers: Карта конфигурируемых MCP-серверов. Ключ — имя сервера, значение — его конфигурация. Эти серверы загружаются при запуске так же, как и MCP-серверы, заданные вsettings.json. Если одно и то же имя сервера указано как в расширении, так и в файлеsettings.json, предпочтение отдаётся серверу изsettings.json.- Обратите внимание: все параметры конфигурации MCP-серверов поддерживаются, кроме
trust.
- Обратите внимание: все параметры конфигурации MCP-серверов поддерживаются, кроме
contextFileName: Имя файла, содержащего контекст для расширения. Контекст будет загружен из директории расширения. Если это свойство не указано, но в директории расширения присутствует файлQWEN.md, он будет загружен автоматически.commands: Директория с пользовательскими командами (по умолчанию —commands). Команды — это файлы.md, определяющие промпты.skills: Директория с пользовательскими навыками (по умолчанию —skills). Навыки обнаруживаются автоматически и становятся доступны через команду/skills.agents: Директория с пользовательскими подагентами (по умолчанию —agents). Подагенты — это файлы.yamlили.md, определяющие специализированных ИИ-ассистентов.settings: Массив настроек, требуемых расширением. При установке пользователю будет предложено ввести значения этих настроек. Значения хранятся безопасно и передаются MCP-серверам в виде переменных окружения.- У каждой настройки есть следующие свойства:
name: Отображаемое имя настройки.description: Описание назначения этой настройки.envVar: Имя переменной окружения, которая будет установлена.sensitive: Логическое значение, указывающее, следует ли скрывать значение (например, ключи API, пароли).
- У каждой настройки есть следующие свойства:
Управление параметрами расширений
Для работы некоторых расширений требуются настройки (например, ключи API или учётные данные). Эти параметры можно управлять с помощью команды CLI qwen extensions settings:
Установка значения параметра:
qwen extensions settings set <имя-расширения> <имя-параметра> [--scope user|workspace]Список всех параметров расширения:
qwen extensions settings list <имя-расширения>Просмотр текущих значений (пользовательские и рабочего пространства):
qwen extensions settings show <имя-расширения> <имя-параметра>Удаление значения параметра:
qwen extensions settings unset <имя-расширения> <имя-параметра> [--scope user|workspace]Параметры можно настраивать на двух уровнях:
- Уровень пользователя (по умолчанию): параметры применяются ко всем проектам (
~/.qwen/.env) - Уровень рабочего пространства: параметры применяются только к текущему проекту (
.qwen/.env)
Параметры рабочего пространства имеют приоритет над пользовательскими. Конфиденциальные параметры хранятся безопасно и никогда не отображаются в виде обычного текста.
При запуске Qwen Code загружаются все расширения и объединяются их конфигурации. В случае конфликтов конфигурация рабочего пространства имеет приоритет.
Пользовательские команды
Расширения могут предоставлять пользовательские команды, размещая файлы в формате Markdown в подкаталоге commands/ внутри каталога расширения. Эти команды используют тот же формат, что и пользовательские и проектные команды, и следуют стандартным соглашениям об именовании.
Примечание: Формат команд был обновлён с TOML на Markdown. Файлы TOML устарели, но по-прежнему поддерживаются. Существующие команды в формате TOML можно автоматически перенести с помощью всплывающего окна с предложением миграции, которое появляется при обнаружении файлов TOML.
Пример
Расширение с именем gcp, имеющее следующую структуру:
.qwen/extensions/gcp/
├── qwen-extension.json
└── commands/
├── deploy.md
└── gcs/
└── sync.mdПредоставит следующие команды:
/deploy— отображается как[gcp] Пользовательская команда из deploy.mdв справке;/gcs:sync— отображается как[gcp] Пользовательская команда из sync.mdв справке.
Пользовательские навыки
Расширения могут предоставлять пользовательские навыки, размещая файлы навыков в подкаталоге skills/ внутри каталога расширения. Каждый навык должен содержать файл SKILL.md с YAML-фронтматтером, определяющим имя и описание навыка.
Пример
.qwen/extensions/my-extension/
├── qwen-extension.json
└── skills/
└── pdf-processor/
└── SKILL.mdНавык будет доступен через команду /skills, когда расширение активно.
Пользовательские подагенты
Расширения могут предоставлять пользовательские подагенты, размещая файлы конфигурации агентов в подкаталоге agents/ внутри каталога расширения. Агенты определяются в файлах формата YAML или Markdown.
Пример
.qwen/extensions/my-extension/
├── qwen-extension.json
└── agents/
└── testing-expert.yamlПользовательские подагенты из расширений отображаются в диалоговом окне менеджера подагентов в разделе «Агенты расширений».
Разрешение конфликтов
Команды расширений имеют наименьший приоритет. При возникновении конфликта с пользовательскими или проектными командами:
- Конфликт отсутствует: команда расширения использует своё естественное имя (например,
/deploy). - Конфликт присутствует: команда расширения переименовывается с добавлением префикса расширения (например,
/gcp.deploy).
Например, если и пользователь, и расширение gcp определяют команду deploy:
/deploy— выполняет команду развертывания пользователя;/gcp.deploy— выполняет команду развертывания расширения (отмечена тегом[gcp]).
Переменные
Расширения Qwen Code поддерживают подстановку переменных в файле qwen-extension.json. Это может быть полезно, например, если требуется указать текущий каталог для запуска сервера MCP с помощью "cwd": "${extensionPath}${/}run.ts".
Поддерживаемые переменные:
| Переменная | Описание |
|---|---|
${extensionPath} | Полный путь к расширению в файловой системе пользователя, например /Users/username/.qwen/extensions/example-extension. Символические ссылки не разыменовываются. |
${workspacePath} | Полный путь к текущему рабочему пространству. |
${/} или ${pathSeparator} | Разделитель путей (отличается в зависимости от операционной системы). |