Skip to Content
BenutzerhandbuchGitHub-Aktionen

GitHub Actions: qwen-code-action

Overview

qwen-code-action ist eine GitHub Action, die Qwen Code  über die Qwen Code CLI  in deinen Entwicklungsworkflow integriert. Sie fungiert sowohl als autonomer Agent für kritische Routine-Codingaufgaben als auch als Assistent auf Abruf, an den du schnell Aufgaben delegieren kannst.

Nutze sie, um GitHub-Pull-Request-Reviews durchzuführen, Issues zu triagieren, Code-Analysen und -Änderungen vorzunehmen und vieles mehr, indem du Qwen Code  konversationell (z. B. @qwencoder fix this issue) direkt in deinen GitHub-Repositories verwendest.

Features

  • Automation: Löse Workflows basierend auf Events (z. B. Issue-Erstellung) oder Zeitplänen (z. B. nächtlich) aus.
  • On-Demand-Kollaboration: Löse Workflows in Issue- und Pull-Request-Kommentaren aus, indem du die Qwen Code CLI erwähnst (z. B. @qwencoder /review).
  • Erweiterbar mit Tools: Nutze die Tool-Calling-Fähigkeiten der Qwen Code-Modelle, um mit anderen CLIs wie der GitHub CLI  (gh) zu interagieren.
  • Anpassbar: Verwende eine QWEN.md-Datei in deinem Repository, um der Qwen Code CLI projektspezifische Anweisungen und Kontext bereitzustellen.

Quick Start

Starte mit der Qwen Code CLI in deinem Repository in nur wenigen Minuten:

1. Qwen API Key besorgen

Hole dir deinen API Key von DashScope  (der KI-Plattform von Alibaba Cloud)

2. Als GitHub Secret hinzufügen

Speichere deinen API Key als Secret mit dem Namen QWEN_API_KEY in deinem Repository:

  • Gehe zu den Settings > Secrets and variables > Actions deines Repositories
  • Klicke auf New repository secret
  • Name: QWEN_API_KEY, Value: dein API Key

3. .gitignore aktualisieren

Füge die folgenden Einträge zu deiner .gitignore-Datei hinzu:

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

4. Workflow auswählen

Du hast zwei Optionen, um einen Workflow einzurichten:

Option A: Setup-Befehl verwenden (Empfohlen)

  1. Starte die Qwen Code CLI in deinem Terminal:

    qwen
  2. Gib in der Qwen Code CLI in deinem Terminal Folgendes ein:

    /setup-github

Option B: Workflows manuell kopieren

  1. Kopiere die vorgefertigten Workflows aus dem Verzeichnis examples/workflows in das Verzeichnis .github/workflows deines Repositories. Hinweis: Der Workflow qwen-dispatch.yml muss ebenfalls kopiert werden, da er die Ausführung der Workflows triggert.

5. Ausprobieren

Pull Request Review:

  • Öffne einen Pull Request in deinem Repository und warte auf das automatische Review
  • Kommentiere @qwencoder /review in einem bestehenden Pull Request, um ein Review manuell auszulösen

Issue Triage:

  • Öffne ein Issue und warte auf das automatische Triage
  • Kommentiere @qwencoder /triage in bestehenden Issues, um das Triage manuell auszulösen

Allgemeine KI-Unterstützung:

  • Erwähne in einem beliebigen Issue oder Pull Request @qwencoder, gefolgt von deiner Anfrage
  • Beispiele:
    • @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

Diese Action bietet mehrere vorgefertigte Workflows für verschiedene Anwendungsfälle. Jeder Workflow ist dafür konzipiert, in das Verzeichnis .github/workflows deines Repositories kopiert und nach Bedarf angepasst zu werden.

Qwen Code Dispatch

Dieser Workflow fungiert als zentraler Dispatcher für die Qwen Code CLI und leitet Anfragen basierend auf dem auslösenden Event und dem im Kommentar angegebenen Befehl an den entsprechenden Workflow weiter. Eine detaillierte Anleitung zum Einrichten des Dispatch-Workflows findest du in der Qwen Code Dispatch Workflow-Dokumentation.

Issue Triage

Diese Action kann verwendet werden, um GitHub Issues automatisch oder nach Zeitplan zu triagieren. Ein funktionierendes Setup für das Issue Triage findest du im automatisierten Issue-Triage-Workflow .

Pull Request Review

Diese Action kann verwendet werden, um Pull Requests automatisch zu reviewen, wenn sie geöffnet werden. Eine detaillierte Anleitung zum Einrichten des Pull-Request-Review-Systems findest du in der GitHub PR Review Workflow-Dokumentation.

Qwen Code CLI Assistant

Dieser Typ von Action kann verwendet werden, um einen allgemeinen, konversationellen Qwen Code KI-Assistenten in Pull Requests und Issues aufzurufen, um eine Vielzahl von Aufgaben auszuführen. Eine detaillierte Anleitung zum Einrichten des allgemeinen Qwen Code CLI Workflows findest du in der Qwen Code Assistant Workflow-Dokumentation.

Configuration

Inputs

  • qwen*api_key: *(Optional)_ Der API Key für die Qwen API.

  • qwen*cli_version: *(Optional, Standard: latest)_ Die Version der zu installierenden Qwen Code CLI. Kann “latest”, “preview”, “nightly”, eine spezifische Versionsnummer oder ein Git-Branch, -Tag oder -Commit sein. Weitere Informationen findest du unter Qwen Code CLI releases .

  • qwen*debug: *(Optional)_ Aktiviert Debug-Logging und Output-Streaming.

  • qwen*model: *(Optional)_ Das Modell, das mit Qwen Code verwendet werden soll.

  • prompt: (Optional, Standard: You are a helpful assistant.) Ein String, der an das --prompt-Argument der Qwen Code CLI übergeben wird.

  • settings: (Optional) Ein JSON-String, der in .qwen/settings.json geschrieben wird, um die Projekt-Einstellungen der CLI zu konfigurieren. Weitere Details findest du in der Dokumentation zu settings files .

  • use*qwen_code_assist: *(Optional, Standard: false)_ Ob Code Assist für den Zugriff auf das Qwen Code-Modell anstelle des Standard-Qwen-Code-API-Keys verwendet werden soll. Weitere Informationen findest du in der Qwen Code CLI-Dokumentation .

  • use*vertex_ai: *(Optional, Standard: false)_ Ob Vertex AI für den Zugriff auf das Qwen Code-Modell anstelle des Standard-Qwen-Code-API-Keys verwendet werden soll. Weitere Informationen findest du in der Qwen Code CLI-Dokumentation .

  • extensions: (Optional) Eine Liste der zu installierenden Qwen Code CLI-Erweiterungen.

  • upload*artifacts: *(Optional, Standard: false)_ Ob Artefakte in die GitHub Action hochgeladen werden sollen.

  • use*pnpm: *(Optional, Standard: false)_ Ob pnpm anstelle von npm zur Installation der qwen-code-cli verwendet werden soll.

  • workflow*name: *(Optional, Standard: ${{ github.workflow }})_ Der Name des GitHub-Workflows, der für Telemetrie-Zwecke verwendet wird.

Outputs

  • summary: Die zusammengefasste Ausgabe der Qwen Code CLI-Ausführung.

  • error: Die Fehlerausgabe der Qwen Code CLI-Ausführung, falls vorhanden.

Repository Variables

Wir empfehlen, die folgenden Werte als Repository-Variablen festzulegen, damit sie in allen Workflows wiederverwendet werden können. Alternativ kannst du sie inline als Action-Inputs in einzelnen Workflows setzen oder um Werte auf Repository-Ebene zu überschreiben.

NameBeschreibungTypErforderlichWann erforderlich
DEBUGAktiviert Debug-Logging für die Qwen Code CLI.VariableNeinNie
QWEN_CLI_VERSIONSteuert, welche Version der Qwen Code CLI installiert wird.VariableNeinFestlegung (Pinning) der CLI-Version
APP_IDGitHub App ID für benutzerdefinierte Authentifizierung.VariableNeinVerwendung einer benutzerdefinierten GitHub App

So fügst du eine Repository-Variable hinzu:

  1. Gehe zu den Settings > Secrets and variables > Actions > New variable deines Repositories.
  2. Gib den Variablennamen und den Wert ein.
  3. Speichern.

Details zu Repository-Variablen findest du in der GitHub-Dokumentation zu Variablen .

Secrets

Du kannst die folgenden Secrets in deinem Repository festlegen:

NameBeschreibungErforderlichWann erforderlich
QWEN_API_KEYDein Qwen API Key von DashScope.JaErforderlich für alle Workflows, die Qwen aufrufen.
APP_PRIVATE_KEYPrivater Schlüssel für deine GitHub App (PEM-Format).NeinVerwendung einer benutzerdefinierten GitHub App.

So fügst du ein Secret hinzu:

  1. Gehe zu den Settings > Secrets and variables > Actions > New repository secret deines Repositories.
  2. Gib den Namen und den Wert des Secrets ein.
  3. Speichern.

Weitere Informationen findest du in der offiziellen GitHub-Dokumentation zum Erstellen und Verwenden verschlüsselter Secrets .

Authentication

Diese Action erfordert die Authentifizierung gegenüber der GitHub API und optional gegenüber den Qwen Code-Services.

GitHub Authentication

Du kannst dich auf zwei Arten bei GitHub authentifizieren:

  1. Standard-GITHUB_TOKEN: Für einfachere Anwendungsfälle kann die Action den Standard-GITHUB_TOKEN verwenden, der vom Workflow bereitgestellt wird.
  2. Benutzerdefinierte GitHub App (Empfohlen): Für die sicherste und flexibelste Authentifizierung empfehlen wir die Erstellung einer benutzerdefinierten GitHub App.

Detaillierte Einrichtungsanweisungen für sowohl die Qwen- als auch die GitHub-Authentifizierung findest du in der Authentifizierungsdokumentation.

Extensions

Die Qwen Code CLI kann durch Erweiterungen um zusätzliche Funktionen erweitert werden. Diese Erweiterungen werden aus dem Quellcode in ihren GitHub-Repositories installiert.

Detaillierte Anweisungen zum Einrichten und Konfigurieren von Erweiterungen findest du in der Extensions-Dokumentation.

Best Practices

Um die Sicherheit, Zuverlässigkeit und Effizienz deiner automatisierten Workflows zu gewährleisten, empfehlen wir dringend, unsere Best Practices zu befolgen. Diese Richtlinien decken wichtige Bereiche wie Repository-Sicherheit, Workflow-Konfiguration und Monitoring ab.

Zu den wichtigsten Empfehlungen gehören:

  • Absicherung deines Repositories: Implementierung von Branch- und Tag-Schutz sowie Einschränkung der Pull-Request-Reviewer.
  • Monitoring und Auditing: Regelmäßige Überprüfung der Action-Logs und Aktivierung von OpenTelemetry für tiefere Einblicke in Leistung und Verhalten.

Einen umfassenden Leitfaden zur Absicherung deines Repositories und deiner Workflows findest du in unserer Best Practices-Dokumentation.

Customization

Erstelle eine QWEN.md-Datei im Stammverzeichnis deines Repositories, um der Qwen Code CLI projektspezifischen Kontext und Anweisungen bereitzustellen. Dies ist nützlich, um Coding-Konventionen, Architekturmuster oder andere Richtlinien zu definieren, die das Modell für ein bestimmtes Repository befolgen soll.

Mitwirken

Beiträge sind willkommen! Weitere Informationen zum Einstieg findest du im Contributing Guide der Qwen Code CLI.

Last updated on