Github Actions: qwen-code-action
Обзор
qwen-code-action — это GitHub Action, который интегрирует Qwen Code в ваш рабочий процесс разработки через Qwen Code CLI . Он выступает как автономный агент для выполнения критически важных рутинных задач кодирования, так и помощник по запросу, которому можно быстро делегировать работу.
Используйте его для выполнения проверок pull request’ов в GitHub, классификации проблем, анализа и модификации кода и многого другого с помощью Qwen Code в режиме диалога (например, @qwencoder fix this issue) прямо внутри ваших репозиториев 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 в вашем репозитории:
- Перейдите в Настройки > Секреты и переменные > Actions вашего репозитория
- Нажмите Новый секрет репозитория
- Имя:
QWEN_API_KEY, Значение: ваш ключ API
3. Обновите ваш .gitignore
Добавьте следующие записи в ваш файл .gitignore:
# настройки qwen-code-cli
.qwen/
# учетные данные GitHub App
gha-creds-*.json4. Выберите рабочий процесс
У вас есть два варианта настройки рабочего процесса:
Вариант A: Использовать команду setup (Рекомендуется)
-
Запустите Qwen Code CLI в вашем терминале:
qwen -
В Qwen Code CLI в вашем терминале введите:
/setup-github
Вариант B: Вручную скопировать рабочие процессы
- Скопируйте предварительно созданные рабочие процессы из директории
examples/workflowsв директорию.github/workflowsвашего репозитория. Примечание: рабочий процессqwen-dispatch.ymlтакже должен быть скопирован, он запускает выполнение других рабочих процессов.
5. Попробуйте сами
Проверка Pull Request:
- Откройте pull request в вашем репозитории и дождитесь автоматической проверки
- Оставьте комментарий
@qwencoder /reviewв существующем pull request, чтобы вручную запустить проверку
Триаж задач:
- Откройте задачу и дождитесь автоматического триажа
- Оставьте комментарий
@qwencoder /triageв существующих задачах, чтобы вручную запустить триаж
Общая помощь с ИИ:
- В любой задаче или pull request упомяните
@qwencoder, а затем укажите ваш запрос - Примеры:
@qwencoder объясни это изменение кода@qwencoder предложи улучшения для этой функции@qwencoder помоги мне отладить эту ошибку@qwencoder напиши модульные тесты для этого компонента
Рабочие процессы
Это действие предоставляет несколько готовых рабочих процессов для различных случаев использования. Каждый рабочий процесс предназначен для копирования в каталог .github/workflows вашего репозитория и последующей настройки при необходимости.
Qwen Code Dispatch
Этот рабочий процесс выступает в качестве центрального диспетчера для Qwen Code CLI, направляя запросы в соответствующий рабочий процесс на основе события, вызвавшего выполнение, и команды, указанной в комментарии. Подробное руководство по настройке рабочего процесса диспетчеризации можно найти в документации по рабочему процессу Qwen Code Dispatch.
Триаж задач
Это действие может использоваться для автоматического или запланированного триажа задач GitHub. Подробное руководство по настройке системы триажа задач доступно в документации по рабочему процессу GitHub Issue Triage.
Ревью пулл-реквестов
Это действие может использоваться для автоматического ревью пулл-реквестов при их открытии. Подробное руководство по настройке системы ревью пулл-реквестов можно найти в документации по рабочему процессу GitHub PR Review.
Qwen Code CLI Assistant
Этот тип действия можно использовать для вызова универсального разговорного помощника Qwen Code AI внутри пулл-реквестов и задач для выполнения широкого спектра задач. Подробное руководство по настройке универсального рабочего процесса 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: Сводный вывод из выполнения Qwen Code CLI. -
error: Вывод ошибки из выполнения Qwen Code CLI, если таковая имеется.
Переменные репозитория
Мы рекомендуем задать следующие значения в виде переменных репозитория, чтобы их можно было повторно использовать во всех рабочих процессах. В качестве альтернативы вы можете задать их непосредственно в виде входных данных действия в отдельных рабочих процессах или переопределить значения на уровне репозитория.
| Имя | Описание | Тип | Обязательно | Когда требуется |
|---|---|---|---|---|
DEBUG | Включает ведение журнала отладки для Qwen Code CLI. | Переменная | Нет | Никогда |
QWEN_CLI_VERSION | Управляет версией Qwen Code CLI, которая будет установлена. | Переменная | Нет | Фиксирование версии CLI |
APP_ID | Идентификатор GitHub App для пользовательской авторизации. | Переменная | Нет | При использовании GitHub App |
Чтобы добавить переменную репозитория:
- Перейдите в раздел Настройки (Settings) > Секреты и переменные (Secrets and variables) > Действия (Actions) > Новая переменная (New variable) вашего репозитория.
- Введите имя переменной и её значение.
- Сохраните.
Подробности о переменных репозитория см. в документации GitHub по переменным .
Секреты
Вы можете задать следующие секреты в вашем репозитории:
| Имя | Описание | Обязательный | Когда требуется |
|---|---|---|---|
QWEN_API_KEY | Ваш ключ API Qwen из DashScope. | Да | Требуется для всех рабочих процессов, вызывающих Qwen. |
APP_PRIVATE_KEY | Приватный ключ вашего GitHub App (формат PEM). | Нет | При использовании собственного GitHub App. |
Чтобы добавить секрет:
- Перейдите в Настройки репозитория > Secrets and variables > Actions > New repository secret.
- Введите имя и значение секрета.
- Сохраните.
Для получения дополнительной информации обратитесь к официальной документации GitHub по созданию и использованию зашифрованных секретов .
Аутентификация
Это действие требует аутентификации в API GitHub и, при необходимости, в сервисах Qwen Code.
Аутентификация через GitHub
Вы можете пройти аутентификацию в GitHub двумя способами:
- Стандартный
GITHUB_TOKEN: Для более простых случаев использования действие может использовать стандартныйGITHUB_TOKEN, предоставляемый рабочим процессом. - Пользовательское приложение GitHub (рекомендуется): Для наиболее безопасной и гибкой аутентификации мы рекомендуем создать собственное приложение GitHub.
Подробные инструкции по настройке как Qwen, так и аутентификации через GitHub доступны в документации по аутентификации.
Расширения
Интерфейс командной строки Qwen Code можно расширить дополнительными функциями с помощью расширений. Эти расширения устанавливаются из исходного кода из их репозиториев на GitHub.
Подробные инструкции по установке и настройке расширений доступны в документации по расширениям.
Рекомендации
Чтобы обеспечить безопасность, надежность и эффективность автоматизированных рабочих процессов, мы настоятельно рекомендуем следовать нашим лучшим практикам. Эти рекомендации охватывают ключевые области, такие как безопасность репозитория, конфигурация рабочих процессов и мониторинг.
Основные рекомендации включают:
- Обеспечение безопасности вашего репозитория: реализация защиты веток и тегов, а также ограничение круга лиц, утверждающих запросы на слияние.
- Мониторинг и аудит: регулярный просмотр журналов действий и включение OpenTelemetry для более глубокого понимания производительности и поведения.
Полное руководство по защите вашего репозитория и рабочих процессов можно найти в нашей документации по лучшим практикам.
Настройка
Создайте файл QWEN.md в корне вашего репозитория, чтобы предоставить контекст и инструкции, специфичные для проекта, для Qwen Code CLI. Это полезно для определения соглашений о кодировании, архитектурных паттернов или других рекомендаций, которым модель должна следовать для данного репозитория.
Участие в разработке
Мы приветствуем ваш вклад! Ознакомьтесь с Руководством по участию Qwen Code CLI, чтобы узнать больше о том, как начать работу.