Skip to Content
Руководство для пользователейДействия GitHub

GitHub Actions: qwen-code-action

Обзор

qwen-code-action — это GitHub Action, который интегрирует Qwen Code  в ваш процесс разработки через Qwen Code CLI . Он выступает как в роли автономного агента для критически важных рутинных задач по написанию кода, так и в роли помощника по запросу, которому можно быстро делегировать работу.

Используйте его для ревью pull request в GitHub, сортировки issues, анализа и модификации кода, а также для многого другого, взаимодействуя с Qwen Code  в диалоговом режиме (например, @qwencoder fix this issue) прямо в ваших GitHub-репозиториях.

Возможности

  • Автоматизация: Запуск workflow на основе событий (например, создание issue) или по расписанию (например, nightly).
  • Совместная работа по запросу: Запуск workflow в комментариях к issues и pull request путем упоминания Qwen Code CLI (например, @qwencoder /review).
  • Расширяемость с помощью инструментов: Используйте возможности вызова инструментов моделей Qwen Code для взаимодействия с другими CLI, такими как GitHub CLI  (gh).
  • Настраиваемость: Используйте файл QWEN.md в вашем репозитории, чтобы предоставить специфичные для проекта инструкции и контекст для Qwen Code CLI.

Быстрый старт

Начните работу с Qwen Code CLI в вашем репозитории всего за несколько минут:

1. Получите Qwen API key

Получите ваш API key на платформе DashScope  (AI-платформа Alibaba Cloud)

2. Добавьте его как GitHub Secret

Сохраните ваш API key как secret с именем QWEN_API_KEY в вашем репозитории:

  • Перейдите в Settings > Secrets and variables > Actions вашего репозитория
  • Нажмите New repository secret
  • Name: QWEN_API_KEY, Value: ваш API key

3. Обновите ваш .gitignore

Добавьте следующие записи в ваш файл .gitignore:

# qwen-code-cli settings .qwen/ # GitHub App credentials gha-creds-*.json

4. Выберите workflow

У вас есть два варианта настройки workflow:

Вариант A: Использование команды setup (Рекомендуется)

  1. Запустите Qwen Code CLI в вашем терминале:

    qwen
  2. В Qwen Code CLI в вашем терминале введите:

    /setup-github

Вариант B: Ручное копирование workflows

  1. Скопируйте готовые workflows из директории examples/workflows в директорию .github/workflows вашего репозитория. Примечание: также необходимо скопировать workflow qwen-dispatch.yml, который запускает остальные workflows.

5. Попробуйте в действии

Ревью Pull Request:

  • Откройте pull request в вашем репозитории и дождитесь автоматического ревью
  • Оставьте комментарий @qwencoder /review в существующем pull request, чтобы вручную запустить ревью

Сортировка Issues:

  • Создайте issue и дождитесь автоматической сортировки
  • Оставьте комментарий @qwencoder /triage в существующих issues, чтобы вручную запустить сортировку

Общая AI-помощь:

  • В любом issue или pull request упомяните @qwencoder и напишите ваш запрос
  • Примеры:
    • @qwencoder explain this code change
    • @qwencoder suggest improvements for this function
    • @qwencoder help me debug this error
    • @qwencoder write unit tests for this component

Workflows

Этот action предоставляет несколько готовых workflows для различных сценариев использования. Каждый workflow предназначен для копирования в директорию .github/workflows вашего репозитория и дальнейшей настройки по мере необходимости.

Qwen Code Dispatch

Этот workflow выступает в роли центрального диспетчера для Qwen Code CLI, направляя запросы в соответствующий workflow на основе события-триггера и команды, указанной в комментарии. Подробное руководство по настройке dispatch workflow см. в документации по Qwen Code Dispatch workflow.

Сортировка Issues

Этот action можно использовать для автоматической сортировки GitHub Issues или по расписанию. Пример работающей настройки сортировки issues см. в workflow для автоматической сортировки issues .

Ревью Pull Request

Этот action можно использовать для автоматического ревью pull request при их открытии. Подробное руководство по настройке системы ревью pull request см. в документации по GitHub PR Review workflow.

Qwen Code CLI Assistant

Этот тип action можно использовать для вызова универсального диалогового AI-ассистента Qwen Code в pull request и issues для выполнения широкого спектра задач. Подробное руководство по настройке универсального Qwen Code CLI workflow см. в документации по Qwen Code Assistant workflow.

Конфигурация

Inputs

  • qwen*api_key: *(Optional)_ API key для Qwen API.

  • qwen*cli_version: *(Optional, default: latest)_ Версия устанавливаемого Qwen Code CLI. Может быть “latest”, “preview”, “nightly”, конкретный номер версии, git-ветка, тег или коммит. Дополнительную информацию см. в разделе Qwen Code CLI releases .

  • qwen*debug: *(Optional)_ Включить логирование отладки и потоковую передачу вывода.

  • qwen*model: *(Optional)_ Модель для использования с Qwen Code.

  • prompt: (Optional, default: You are a helpful assistant.) Строка, передаваемая в --prompt аргумент Qwen Code CLI.

  • settings: (Optional) JSON-строка, записываемая в .qwen/settings.json для настройки проектных параметров CLI. Подробнее см. в документации по файлам настроек .

  • use*qwen_code_assist: *(Optional, default: false)_ Использовать ли Code Assist для доступа к моделям Qwen Code вместо стандартного Qwen Code API key. Дополнительную информацию см. в документации Qwen Code CLI .

  • use*vertex_ai: *(Optional, default: false)_ Использовать ли Vertex AI для доступа к моделям Qwen Code вместо стандартного Qwen Code API key. Дополнительную информацию см. в документации Qwen Code CLI .

  • extensions: (Optional) Список расширений Qwen Code CLI для установки.

  • upload*artifacts: *(Optional, default: false)_ Загружать ли артефакты в github action.

  • use*pnpm: *(Optional, default: false)_ Использовать ли pnpm вместо npm для установки qwen-code-cli.

  • workflow*name: *(Optional, default: ${{ github.workflow }})_ Имя GitHub workflow, используется для целей телеметрии.

Outputs

  • summary: Суммаризированный вывод от выполнения Qwen Code CLI.

  • error: Вывод ошибок при выполнении Qwen Code CLI, если таковые имеются.

Переменные репозитория

Мы рекомендуем установить следующие значения как переменные репозитория, чтобы их можно было повторно использовать во всех workflows. В качестве альтернативы, вы можете задать их inline как входные параметры action в отдельных workflows или для переопределения значений на уровне репозитория.

ИмяОписаниеТипОбязательноКогда обязательно
DEBUGВключает логирование отладки для Qwen Code CLI.ПеременнаяНетНикогда
QWEN_CLI_VERSIONКонтролирует, какая версия Qwen Code CLI будет установлена.ПеременнаяНетФиксация версии CLI
APP_IDGitHub App ID для пользовательской аутентификации.ПеременнаяНетИспользование пользовательского GitHub App

Чтобы добавить переменную репозитория:

  1. Перейдите в Settings > Secrets and variables > Actions > New variable вашего репозитория.
  2. Введите имя и значение переменной.
  3. Сохраните.

Подробнее о переменных репозитория см. в документации GitHub по переменным .

Secrets

Вы можете установить следующие секреты в вашем репозитории:

ИмяОписаниеОбязательноКогда обязательно
QWEN_API_KEYВаш Qwen API key из DashScope.ДаТребуется для всех workflows, вызывающих Qwen.
APP_PRIVATE_KEYПриватный ключ для вашего GitHub App (формат PEM).НетИспользование пользовательского GitHub App.

Чтобы добавить secret:

  1. Перейдите в Settings > Secrets and variables > Actions > New repository secret вашего репозитория.
  2. Введите имя и значение секрета.
  3. Сохраните.

Дополнительную информацию см. в официальной документации GitHub по созданию и использованию зашифрованных секретов .

Аутентификация

Этот action требует аутентификации в GitHub API и, опционально, в сервисах Qwen Code.

Аутентификация в GitHub

Вы можете аутентифицироваться в GitHub двумя способами:

  1. Стандартный GITHUB_TOKEN: Для более простых сценариев action может использовать стандартный GITHUB_TOKEN, предоставляемый workflow.
  2. Пользовательский GitHub App (Рекомендуется): Для наиболее безопасной и гибкой аутентификации мы рекомендуем создать пользовательский GitHub App.

Подробные инструкции по настройке аутентификации как для Qwen, так и для GitHub см. в документации по аутентификации.

Расширения

Qwen Code CLI можно расширить дополнительным функционалом с помощью расширений. Эти расширения устанавливаются из исходного кода из их GitHub-репозиториев.

Подробные инструкции по настройке и конфигурации расширений см. в документации по расширениям.

Лучшие практики

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

Ключевые рекомендации включают:

  • Защита вашего репозитория: Настройка защиты веток и тегов, а также ограничение круга лиц, одобряющих pull request.
  • Мониторинг и аудит: Регулярный просмотр логов action и включение OpenTelemetry для более глубокого анализа производительности и поведения.

Подробное руководство по защите вашего репозитория и workflows см. в нашей документации по лучшим практикам.

Кастомизация

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

Участие в разработке

Будем рады вашему вкладу! Ознакомьтесь с руководством по участию в разработке Qwen Code CLI, чтобы узнать подробнее о том, как начать.

Last updated on