Skip to Content
Руководство разработчикаExtensionsНачало работы с расширениями Qwen Code

Начало работы с расширениями Qwen Code

В этом руководстве вы узнаете, как создать свое первое расширение Qwen Code. Вы научитесь настраивать новое расширение, добавлять пользовательский инструмент через сервер MCP, создавать пользовательские команды и предоставлять контекст модели с помощью файла QWEN.md.

Предварительные требования

Перед началом убедитесь, что у вас установлен Qwen Code, а также имеются базовые знания Node.js и TypeScript.

Шаг 1: Создание нового расширения

Самый простой способ начать — использовать один из встроенных шаблонов. Мы будем использовать пример mcp-server в качестве основы.

Выполните следующую команду, чтобы создать новый каталог my-first-extension с файлами шаблона:

qwen extensions new my-first-extension mcp-server

Это создаст новый каталог со следующей структурой:

my-first-extension/ ├── example.ts ├── qwen-extension.json ├── package.json └── tsconfig.json

Шаг 2: Понимание файлов расширения

Давайте рассмотрим ключевые файлы вашего нового расширения.

qwen-extension.json

Это файл манифеста вашего расширения. Он сообщает Qwen Code, как загружать и использовать ваше расширение.

{ "name": "my-first-extension", "version": "1.0.0", "mcpServers": { "nodeServer": { "command": "node", "args": ["${extensionPath}${/}dist${/}example.js"], "cwd": "${extensionPath}" } } }
  • name: Уникальное имя вашего расширения.
  • version: Версия вашего расширения.
  • mcpServers: Этот раздел определяет один или несколько серверов Model Context Protocol (MCP). Серверы MCP — это способ добавления новых инструментов, которые может использовать модель.
    • command, args, cwd: Эти поля указывают, как запустить ваш сервер. Обратите внимание на использование переменной ${extensionPath}, которую Qwen Code заменяет на абсолютный путь к каталогу установки вашего расширения. Это позволяет вашему расширению работать независимо от того, где оно установлено.

example.ts

Этот файл содержит исходный код вашего сервера MCP. Это простой сервер Node.js, который использует @modelcontextprotocol/sdk.

/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { z } from 'zod'; const server = new McpServer({ name: 'prompt-server', version: '1.0.0', }); // Регистрирует новый инструмент с именем 'fetch_posts' server.registerTool( 'fetch_posts', { description: 'Получает список постов из публичного API.', inputSchema: z.object({}).shape, }, async () => { const apiResponse = await fetch( 'https://jsonplaceholder.typicode.com/posts', ); const posts = await apiResponse.json(); const response = { posts: posts.slice(0, 5) }; return { content: [ { type: 'text', text: JSON.stringify(response), }, ], }; }, ); // ... (регистрация prompt'ов опущена для краткости) const transport = new StdioServerTransport(); await server.connect(transport);

Этот сервер определяет один инструмент под названием fetch_posts, который получает данные из публичного API.

package.json и tsconfig.json

Это стандартные файлы конфигурации для проекта на TypeScript. Файл package.json определяет зависимости и скрипт build, а tsconfig.json настраивает компилятор TypeScript.

Шаг 3: Сборка и подключение расширения

Перед использованием расширения необходимо скомпилировать код TypeScript и подключить расширение к вашей локальной установке Qwen Code для локальной разработки.

  1. Установите зависимости:

    cd my-first-extension npm install
  2. Соберите сервер:

    npm run build

    В результате файл example.ts будет скомпилирован в dist/example.js, который указан в вашем qwen-extension.json.

  3. Подключите расширение:

    Команда link создает символическую ссылку из каталога расширений Qwen Code на ваш каталог разработки. Это означает, что все изменения будут отражаться немедленно без необходимости переустановки.

    qwen extensions link .

Теперь перезапустите сессию Qwen Code. Новый инструмент fetch_posts будет доступен. Вы можете протестировать его, запросив: “fetch posts”.

Шаг 4: Добавление пользовательской команды

Пользовательские команды позволяют создавать ярлыки для сложных запросов. Давайте добавим команду, которая будет искать шаблон в вашем коде.

  1. Создайте каталог commands и подкаталог для вашей группы команд:

    mkdir -p commands/fs
  2. Создайте файл с именем commands/fs/grep-code.toml:

    prompt = """ Пожалуйста, суммируйте результаты по шаблону `{{args}}`. Результаты поиска: !{grep -r {{args}} .} """

    Эта команда, /fs:grep-code, будет принимать аргумент, выполнять команду оболочки grep с ним и передавать результаты в запрос для суммирования.

После сохранения файла перезапустите Qwen Code. Теперь вы можете выполнить /fs:grep-code "какой-то шаблон", чтобы использовать вашу новую команду.

Шаг 5: Добавьте собственный файл QWEN.md

Вы можете предоставить постоянный контекст модели, добавив в расширение файл QWEN.md. Это полезно для передачи модели инструкций по поведению или информации об инструментах вашего расширения. Обратите внимание, что это не всегда необходимо для расширений, созданных для отображения команд и подсказок.

  1. Создайте файл с именем QWEN.md в корневом каталоге директории расширения:

    # Инструкции к моему первому расширению Вы — экспертный помощник разработчика. Когда пользователь попросит получить посты, используйте инструмент `fetch_posts`. Будьте кратки в своих ответах.
  2. Обновите ваш qwen-extension.json, чтобы указать CLI загружать этот файл:

    { "name": "my-first-extension", "version": "1.0.0", "contextFileName": "QWEN.md", "mcpServers": { "nodeServer": { "command": "node", "args": ["${extensionPath}${/}dist${/}example.js"], "cwd": "${extensionPath}" } } }

Перезапустите CLI еще раз. Теперь модель будет иметь контекст из вашего файла QWEN.md в каждой сессии, где активно расширение.

Шаг 6: Публикация вашего расширения

Когда вы будете довольны своим расширением, вы можете поделиться им с другими. Существует два основных способа публикации расширений: через репозиторий Git или с помощью GitHub Releases. Использование публичного репозитория Git является самым простым методом.

Подробные инструкции по обоим методам можно найти в Руководстве по публикации расширений.

Заключение

Вы успешно создали расширение для Qwen Code! Вы узнали, как:

  • Создать новое расширение из шаблона.
  • Добавить пользовательские инструменты с помощью сервера MCP.
  • Создать удобные пользовательские команды.
  • Обеспечить постоянный контекст для модели.
  • Привязать ваше расширение для локальной разработки.

Теперь вы можете изучать более продвинутые функции и добавлять мощные новые возможности в Qwen Code.

Last updated on