Расширения Qwen Code
Пакет расширений Qwen Code объединяет подсказки, серверы MCP, субагенты, навыки и пользовательские команды в привычном и удобном формате. С помощью расширений вы можете расширять возможности Qwen Code и делиться этими возможностями с другими. Они разработаны так, чтобы их было легко устанавливать и распространять.
Расширения и плагины из Галереи расширений Gemini CLI и Маркетплейса Claude Code можно напрямую устанавливать в Qwen Code. Эта кроссплатформенная совместимость предоставляет вам доступ к богатой экосистеме расширений и плагинов, значительно расширяя возможности Qwen Code без необходимости для авторов расширений поддерживать отдельные версии.
Управление расширениями
Мы предлагаем набор инструментов управления расширениями с использованием как команд CLI qwen extensions, так и косых команд /extensions в интерактивном CLI.
Управление расширениями во время выполнения (команды с косой чертой)
Вы можете управлять расширениями во время выполнения в интерактивном CLI с помощью команд с косой чертой /extensions. Эти команды поддерживают горячую перезагрузку, что означает, что изменения вступают в силу немедленно без перезапуска приложения.
| Команда | Описание |
|---|---|
/extensions или /extensions list | Список всех установленных расширений с их статусом |
/extensions install <источник> | Установить расширение из URL-адреса Git, локального пути или маркетплейса |
/extensions uninstall <имя> | Удалить расширение |
/extensions enable <имя> --scope <пользователь|рабочая область> | Включить расширение |
/extensions disable <имя> --scope <пользователь|рабочая область> | Отключить расширение |
/extensions update <имя> | Обновить конкретное расширение |
/extensions update --all | Обновить все расширения с доступными обновлениями |
/extensions detail <имя> | Показать подробности о расширении |
/extensions explore [источник] | Открыть страницу источника расширений (Gemini или ClaudeCode) в браузере |
Управление расширениями через CLI
Вы также можете управлять расширениями с помощью команд qwen extensions в CLI. Обратите внимание, что изменения, сделанные через CLI-команды, будут отражены в активных сессиях CLI после перезапуска.
Установка расширения
Вы можете установить расширение с помощью qwen extensions install из нескольких источников:
Из Claude Code Marketplace
Qwen Code также поддерживает плагины из Claude Code Marketplace . Установите из маркетплейса и выберите плагин:
qwen extensions install <marketplace-name>
# или
qwen extensions install <marketplace-github-url>Если вы хотите установить конкретный плагин, вы можете использовать формат с указанием имени плагина:
qwen extensions install <marketplace-name>:<plugin-name>или
qwen extensions install <рынок-github-url>:<имя-плагина>
Например, чтобы установить плагин `prompts.chat` из маркетплейса [f/awesome-chatgpt-prompts](https://claudemarketplaces.com/plugins/f-awesome-chatgpt-prompts):
```bash
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 . Просто установите их, используя git URL:
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.
Из локального пути
qwen extensions install /path/to/your/extensionОбратите внимание, что мы создаем копию установленного расширения, поэтому вам нужно будет выполнить команду qwen extensions update, чтобы получить изменения как из локально определенных расширений, так и с GitHub.
Удаление расширения
Чтобы удалить, запустите qwen extensions uninstall extension-name, таким образом, в случае примера установки:
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 имя-расширения.
Вы можете обновить все расширения с помощью:
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настраивают MCP-сервер с одинаковым именем, то сервер, определенный в файле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- выполняет пользовательскую команду deploy/gcp.deploy- выполняет команду deploy из расширения (отмечена тегом[gcp])
Переменные
Расширения Qwen Code позволяют использовать подстановку переменных в файле qwen-extension.json. Это может быть полезно, например, если вам нужно указать текущую директорию для запуска сервера MCP с помощью "cwd": "${extensionPath}${/}run.ts".
Поддерживаемые переменные:
| переменная | описание |
|---|---|
${extensionPath} | Полный путь к расширению в файловой системе пользователя, например, ‘/Users/username/.qwen/extensions/example-extension’. Символические ссылки не разворачиваются. |
${workspacePath} | Полный путь к текущему рабочему пространству. |
${/} или ${pathSeparator} | Разделитель пути (отличается в зависимости от ОС). |