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: Добавление пользовательской команды

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

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

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

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

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

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

Шаг 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