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) или по расписанию (например, по ночному расписанию).
  • Совместная работа по запросу: Запуск workflow через комментарии к issue и pull request с упоминанием Qwen Code CLI (например, @qwencoder /review).
  • Расширяемость с помощью инструментов: Используйте возможности вызова инструментов (tool-calling) моделей 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 как секрет с именем 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: Использовать команду настройки (Рекомендуется)

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

    qwen
  2. В интерфейсе Qwen Code CLI введите:

    /setup-github

Вариант B: Вручную скопировать workflow

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

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

Workflow

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

Qwen Code Dispatch

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

Issue Triage

Это действие позволяет автоматически или по расписанию сортировать GitHub Issues. Подробное руководство по настройке системы сортировки issues см. в документации по GitHub Issue Triage workflow.

Pull Request Review

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

Qwen Code CLI Assistant

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

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

Inputs

  • qwen*api_key: *(Необязательно)_ API key для Qwen API.

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

  • qwen*debug: *(Необязательно)_ Включает debug-логирование и потоковый вывод.

  • qwen*model: *(Необязательно)_ Модель, используемая с Qwen Code.

  • prompt: (Необязательно, по умолчанию: You are a helpful assistant.) Строка, передаваемая в аргумент --prompt Qwen Code CLI.

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

  • use*qwen_code_assist: *(Необязательно, по умолчанию: false)_ Определяет, использовать ли Code Assist для доступа к моделям Qwen Code вместо стандартного Qwen Code API key. Подробнее см. документацию Qwen Code CLI .

  • use*vertex_ai: *(Необязательно, по умолчанию: false)_ Определяет, использовать ли Vertex AI для доступа к моделям Qwen Code вместо стандартного Qwen Code API key. Подробнее см. документацию Qwen Code CLI .

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

  • upload*artifacts: *(Необязательно, по умолчанию: false)_ Определяет, загружать ли артефакты в GitHub Action.

  • use*pnpm: *(Необязательно, по умолчанию: false)_ Определяет, использовать ли pnpm вместо npm для установки qwen-code-cli

  • workflow*name: *(Необязательно, по умолчанию: ${{ github.workflow }})_ Имя GitHub workflow, используется для телеметрии.

Outputs

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

  • error: Вывод ошибок при выполнении Qwen Code CLI (если есть).

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

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

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

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

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

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

Secrets

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

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

Чтобы добавить секрет:

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

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

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

Для работы этого действия требуется аутентификация в GitHub API и, опционально, в сервисах Qwen Code.

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

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

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

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

Расширения

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

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

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

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

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

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

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

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

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

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

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

Last updated on