GitHub Actions: qwen-code-action
Обзор
qwen-code-action — это действие GitHub, интегрирующее Qwen Code в ваш рабочий процесс разработки через Qwen Code CLI . Оно выступает как автономный агент для выполнения критически важных рутинных задач программирования, а также как сотрудник по требованию, которому можно быстро делегировать работу.
Используйте его для проведения рецензирования запросов на слияние (pull request) в GitHub, первичного анализа и классификации проблем (issue triage), анализа и модификации кода и других задач с помощью Qwen Code в диалоговом режиме (например, @qwencoder исправь эту проблему) непосредственно внутри ваших репозиториев GitHub.
Возможности
- Автоматизация: Запуск рабочих процессов по событиям (например, при открытии задачи) или по расписанию (например, еженощно).
- Совместная работа по запросу: Запуск рабочих процессов из комментариев к задачам и запросам на слияние с помощью упоминания Qwen Code CLI (например,
@qwencoder /review). - Расширяемость с помощью инструментов: Использование возможностей вызова инструментов моделей Qwen Code для взаимодействия с другими CLI, такими как GitHub CLI (
gh). - Настройка под проект: Используйте файл
QWEN.mdв своём репозитории, чтобы предоставить проектные инструкции и контекст для Qwen Code CLI.
Быстрый старт
Начните использовать Qwen Code CLI в своём репозитории всего за несколько минут:
1. Получите ключ API Qwen
Получите свой ключ API на DashScope (платформа искусственного интеллекта Alibaba Cloud).
2. Добавьте ключ в виде секрета GitHub
Сохраните свой API-ключ как секрет с именем QWEN_API_KEY в репозитории:
- Перейдите в раздел Settings > Secrets and variables > Actions вашего репозитория.
- Нажмите New repository secret.
- Укажите имя:
QWEN_API_KEY, значение — ваш API-ключ.
3. Обновите файл .gitignore
Добавьте следующие строки в файл .gitignore:
# Настройки qwen-code-cli
.qwen/
# Учётные данные GitHub App
gha-creds-*.json4. Выберите рабочий процесс
У вас есть два варианта настройки рабочего процесса:
Вариант А: Использовать команду установки (рекомендуется)
-
Запустите Qwen Code CLI в терминале:
qwen -
В интерфейсе Qwen Code CLI введите:
/setup-github
Вариант Б: Скопируйте рабочие процессы вручную
- Скопируйте готовые рабочие процессы из каталога
examples/workflowsв каталог.github/workflowsвашего репозитория.
Примечание: также необходимо скопировать рабочий процессqwen-dispatch.yml, который запускает остальные рабочие процессы.
5. Попробуйте в действии
Проверка запросов на слияние (Pull Request Review):
- Откройте запрос на слияние в своём репозитории и дождитесь автоматической проверки
- Добавьте комментарий
@qwencoder /reviewк существующему запросу на слияние, чтобы вручную запустить проверку
Классификация задач (Issue Triage):
- Откройте задачу и дождитесь автоматической классификации
- Добавьте комментарий
@qwencoder /triageк существующей задаче, чтобы вручную запустить классификацию
Общая помощь ИИ:
- В любой задаче или запросе на слияние упомяните
@qwencoder, а затем сформулируйте свой запрос - Примеры:
@qwencoder объясни это изменение кода@qwencoder предложи улучшения для этой функции@qwencoder помоги отладить эту ошибку@qwencoder напиши модульные тесты для этого компонента
Рабочие процессы
Это действие предоставляет несколько готовых рабочих процессов для различных сценариев использования. Каждый рабочий процесс предназначен для копирования в каталог .github/workflows вашего репозитория и последующей настройки по мере необходимости.
Диспетчеризация Qwen Code
Этот рабочий процесс выступает в роли центрального диспетчера для CLI Qwen Code, перенаправляя запросы в соответствующий рабочий процесс в зависимости от события-инициатора и команды, указанной в комментарии. Подробное руководство по настройке рабочего процесса диспетчеризации см. в документации по рабочему процессу Qwen Code Dispatch.
Триаж задач
Это действие можно использовать для автоматического триажа задач GitHub или по расписанию. Подробное руководство по настройке системы триажа задач см. в документации по рабочему процессу триажа задач GitHub.
Проверка запросов на слияние
Это действие можно использовать для автоматической проверки запросов на слияние при их создании. Подробное руководство по настройке системы проверки запросов на слияние см. в документации по рабочему процессу проверки запросов на слияние GitHub.
CLI-ассистент Qwen Code
Этот тип действия можно использовать для вызова универсального диалогового ИИ-ассистента Qwen Code в рамках pull request и задач для выполнения широкого спектра задач. Подробное руководство по настройке универсального рабочего процесса Qwen Code CLI см. в документации по рабочему процессу Qwen Code Assistant.
Конфигурация
Входные параметры
-
qwen*api_key: (Необязательно) Ключ API для Qwen API. -
qwen*cli_version: (Необязательно, по умолчанию:latest) Версия Qwen Code CLI, которую необходимо установить. Может быть значениемlatest,preview,nightly, конкретным номером версии или именем ветки, тега или коммита в Git. Дополнительную информацию см. в разделе релизы Qwen Code CLI . -
qwen*debug: (Необязательно) Включить отладочное логирование и потоковую передачу вывода. -
qwen*model: (Необязательно) Модель, используемая с Qwen Code. -
prompt: (Необязательно, по умолчанию:You are a helpful assistant.) Строка, передаваемая в аргумент--promptQwen Code CLI. -
settings: (Необязательно) JSON-строка, записываемая в файл.qwen/settings.jsonдля настройки проектных параметров CLI.
Подробнее см. в документации по файлам настроек . -
use*qwen_code_assist: (Необязательно, по умолчанию:false) Использовать ли Code Assist для доступа к модели Qwen Code вместо ключа API Qwen Code по умолчанию.
Дополнительную информацию см. в документации Qwen Code CLI . -
use*vertex_ai: (Необязательно, по умолчанию:false) Использовать ли Vertex AI для доступа к модели Qwen Code вместо ключа API Qwen Code по умолчанию.
Дополнительную информацию см. в документации Qwen Code CLI . -
extensions: (Необязательно) Список расширений Qwen Code CLI, которые необходимо установить. -
upload*artifacts: (Необязательно, по умолчанию:false) Загружать ли артефакты в действие GitHub. -
use*pnpm: (Необязательно, по умолчанию:false) Использовать ли pnpm вместо npm для установки qwen-code-cli. -
workflow*name: (Необязательно, по умолчанию:${{ github.workflow }}) Имя рабочего процесса GitHub, используемое в целях телеметрии.
Выходные данные
-
summary: Сводный результат выполнения CLI Qwen Code. -
error: Сообщение об ошибке при выполнении CLI Qwen Code, если таковая возникла.
Переменные репозитория
Мы рекомендуем задать следующие значения как переменные репозитория, чтобы их можно было повторно использовать во всех рабочих процессах. Альтернативно, вы можете задать их непосредственно в качестве входных данных действия в отдельных рабочих процессах или для переопределения значений на уровне репозитория.
| Имя | Описание | Тип | Обязательно | Когда требуется |
|---|---|---|---|---|
DEBUG | Включает отладочное логирование для CLI Qwen Code. | Переменная | Нет | Никогда |
QWEN_CLI_VERSION | Управляет версией CLI Qwen Code, которая будет установлена. | Переменная | Нет | Фиксация версии CLI |
APP_ID | Идентификатор приложения GitHub для пользовательской аутентификации. | Переменная | Нет | При использовании пользовательского приложения GitHub |
Чтобы добавить переменную репозитория:
- Перейдите в раздел Settings > Secrets and variables > Actions > New variable вашего репозитория.
- Введите имя и значение переменной.
- Сохраните изменения.
Дополнительные сведения о переменных репозитория см. в документации GitHub по переменным .
Секреты
Вы можете задать следующие секреты в своём репозитории:
| Имя | Описание | Обязательно | Когда требуется |
|---|---|---|---|
QWEN_API_KEY | Ваш ключ API Qwen из DashScope. | Да | Обязателен для всех рабочих процессов, вызывающих Qwen. |
APP_PRIVATE_KEY | Закрытый ключ вашего приложения GitHub (в формате PEM). | Нет | При использовании пользовательского приложения GitHub. |
Чтобы добавить секрет:
- Перейдите в раздел Settings > Secrets and variables > Actions > New repository secret вашего репозитория.
- Введите имя и значение секрета.
- Сохраните.
Дополнительную информацию см. в официальной документации GitHub по созданию и использованию зашифрованных секретов .
Аутентификация
Это действие требует аутентификации в GitHub API и, опционально, в сервисах Qwen Code.
Аутентификация в GitHub
Вы можете пройти аутентификацию в GitHub двумя способами:
- Токен по умолчанию
GITHUB_TOKEN: Для простых сценариев использования действие может использовать токенGITHUB_TOKEN, предоставляемый рабочим процессом по умолчанию. - Пользовательское приложение GitHub (рекомендуется): Для наиболее безопасной и гибкой аутентификации рекомендуется создать пользовательское приложение GitHub.
Подробные инструкции по настройке аутентификации как для Qwen, так и для GitHub см. в разделе
Документация по аутентификации.
Расширения
CLI Qwen Code можно расширить дополнительными возможностями с помощью расширений.
Эти расширения устанавливаются из исходного кода их репозиториев на GitHub.
Подробные инструкции по настройке и конфигурации расширений см. в разделе
Документация по расширениям.
Рекомендации по использованию
Чтобы обеспечить безопасность, надёжность и эффективность ваших автоматизированных рабочих процессов, настоятельно рекомендуем следовать нашим рекомендациям. Эти руководства охватывают ключевые области: безопасность репозитория, настройку рабочих процессов и мониторинг.
Основные рекомендации:
- Обеспечение безопасности репозитория: Настройка защиты веток и тегов, а также ограничение круга лиц, уполномоченных одобрять pull request’ы.
- Мониторинг и аудит: Регулярный анализ журналов действий и включение OpenTelemetry для получения более глубоких сведений о производительности и поведении.
Полное руководство по обеспечению безопасности репозитория и рабочих процессов см. в нашей документации с рекомендациями по использованию.
Настройка
Создайте файл QWEN.md в корне вашего репозитория, чтобы предоставить контекст проекта и инструкции для Qwen Code CLI. Это полезно для определения соглашений по написанию кода, архитектурных шаблонов или других правил, которым модель должна следовать при работе с данным репозиторием.
Участие в разработке
Приветствуются любые вклады! Подробнее о том, как начать, см. в Руководстве по внесению вклада в Qwen Code CLI.