Github Actions: qwen-code-action
Übersicht
qwen-code-action ist eine GitHub Action, die Qwen Code über die Qwen Code CLI in Ihren Entwicklungsworkflow integriert. Sie fungiert sowohl als autonomer Agent für kritische Routine-Coding-Aufgaben als auch als bedarfsgesteuerter Mitarbeiter, dem Sie schnell Aufgaben delegieren können.
Verwenden Sie sie, um GitHub Pull Request Reviews durchzuführen, Issues zu priorisieren, Code-Analysen und -Modifikationen vorzunehmen und vieles mehr mit Qwen Code konversationell (z. B. @qwencoder fix this issue) direkt in Ihren GitHub-Repositories.
Funktionen
- Automatisierung: Workflows basierend auf Ereignissen (z. B. Öffnen eines Issues) oder Zeitplänen (z. B. nächtlich) auslösen.
- Bedarfsgesteuerte Zusammenarbeit: Workflows in Kommentaren zu Issues und Pull Requests durch Erwähnung der Qwen Code CLI auslösen (z. B.
@qwencoder /review). - Erweiterbar mit Tools: Nutze die Tool-Aufruffunktionen von Qwen Code-Modellen, um mit anderen CLIs wie der GitHub CLI (
gh) zu interagieren. - Anpassbar: Verwende eine
QWEN.md-Datei in deinem Repository, um projektspezifische Anweisungen und Kontext für die Qwen Code CLI bereitzustellen.
Schnellstart
Beginne in nur wenigen Minuten mit der Qwen Code CLI in deinem Repository:
1. Einen Qwen-API-Schlüssel erhalten
Besorge dir deinen API-Schlüssel über DashScope (Alibabas KI-Plattform)
2. Als GitHub Secret hinzufügen
Speichere deinen API-Schlüssel als Secret mit dem Namen QWEN_API_KEY in deinem Repository:
- Gehe zu den Einstellungen deines Repositorys > Secrets und Variablen > Actions
- Klicke auf Neues Repository-Secret
- Name:
QWEN_API_KEY, Wert: dein API-Schlüssel
3. Aktualisiere deine .gitignore
Füge die folgenden Einträge zu deiner .gitignore-Datei hinzu:
# qwen-code-cli Einstellungen
.qwen/
# GitHub App Zugangsdaten
gha-creds-*.json4. Wähle einen Workflow
Du hast zwei Optionen, um einen Workflow einzurichten:
Option A: Setup-Befehl verwenden (Empfohlen)
-
Starte die Qwen Code CLI in deinem Terminal:
qwen -
Gib in der Qwen Code CLI in deinem Terminal Folgendes ein:
/setup-github
Option B: Workflows manuell kopieren
- Kopiere die vorgefertigten Workflows aus dem Verzeichnis
examples/workflowsin das Verzeichnis.github/workflowsdeines Repositorys. Hinweis: Der Workflowqwen-dispatch.ymlmuss ebenfalls kopiert werden, da er die Ausführung der Workflows auslöst.
5. Probier es aus
Pull-Request-Review:
- Öffne einen Pull Request in deinem Repository und warte auf die automatische Überprüfung
- Kommentiere
@qwencoder /reviewin einem bestehenden Pull Request, um eine manuelle Überprüfung auszulösen
Issue-Triaging:
- Öffne ein Issue und warte auf das automatische Triaging
- Kommentiere
@qwencoder /triagein bestehenden Issues, um das Triaging manuell auszulösen
Allgemeine KI-Unterstützung:
- Erwähne in jedem Issue oder Pull Request
@qwencodergefolgt von deiner Anfrage - Beispiele:
@qwencoder erkläre diese Codeänderung@qwencoder schlage Verbesserungen für diese Funktion vor@qwencoder hilf mir bei der Fehlersuche@qwencoder schreibe Unit-Tests für diese Komponente
Workflows
Diese Action bietet mehrere vorgefertigte Workflows für verschiedene Anwendungsfälle. Jeder Workflow ist so konzipiert, dass er in das Verzeichnis .github/workflows deines Repositories kopiert und nach Bedarf angepasst werden kann.
Qwen Code Dispatch
Dieser Workflow fungiert als zentraler Dispatcher für die Qwen Code CLI und leitet Anfragen basierend auf dem auslösenden Ereignis und dem im Kommentar angegebenen Befehl an den entsprechenden Workflow weiter. Eine detaillierte Anleitung zur Einrichtung des Dispatch-Workflows findest du in der Qwen Code Dispatch Workflow-Dokumentation.
Issue-Triage
Diese Aktion kann verwendet werden, um GitHub Issues automatisch oder nach einem Zeitplan zu kategorisieren. Eine detaillierte Anleitung zur Einrichtung des Issue-Triage-Systems findest du in der GitHub Issue Triage Workflow-Dokumentation.
Pull Request Review
Diese Aktion kann verwendet werden, um Pull Requests beim Öffnen automatisch zu überprüfen. Eine detaillierte Anleitung zur Einrichtung des Pull Request Review-Systems findest du in der GitHub PR Review Workflow-Dokumentation.
Qwen Code CLI-Assistent
Diese Art von Aktion kann verwendet werden, um einen allgemeinen, konversationellen Qwen Code KI-Assistenten innerhalb von Pull Requests und Issues aufzurufen, um eine Vielzahl von Aufgaben durchzuführen. Eine detaillierte Anleitung zur Einrichtung des allgemeinen Qwen Code CLI-Workflows finden Sie in der Qwen Code Assistant Workflow-Dokumentation.
Konfiguration
Eingaben
-
qwen*api_key: *(Optional)_ Der API-Schlüssel für die Qwen-API. -
qwen*cli_version: *(Optional, Standard:latest)_ Die Version der zu installierenden Qwen Code CLI. Kann „latest“, „preview“, „nightly“, eine bestimmte Versionsnummer oder ein Git-Branch, -Tag oder -Commit sein. Weitere Informationen findest du unter Qwen Code CLI-Releases . -
qwen*debug: *(Optional)_ Aktiviert Debug-Protokollierung und Streaming der Ausgabe. -
qwen*model: *(Optional)_ Das Modell, das mit Qwen Code verwendet werden soll. -
prompt: (Optional, Standard:You are a helpful assistant.) Eine Zeichenfolge, die an das--prompt-Argument der Qwen Code CLI übergeben wird. -
settings: (Optional) Ein JSON-String, der in.qwen/settings.jsongeschrieben wird, um die Projekt-Einstellungen der CLI zu konfigurieren. Weitere Details findest du in der Dokumentation zu Einstellungsdateien . -
use*qwen_code_assist: *(Optional, Standard:false)_ Gibt an, ob Code Assist für den Zugriff auf das Qwen Code-Modell anstelle des Standard-Qwen Code-API-Schlüssels verwendet werden soll. Weitere Informationen findest du in der Qwen Code CLI-Dokumentation . -
use*vertex_ai: *(Optional, Standard:false)_ Gibt an, ob Vertex AI für den Zugriff auf das Qwen Code-Modell anstelle des Standard-Qwen Code-API-Schlüssels verwendet werden soll. Weitere Informationen findest du in der Qwen Code CLI-Dokumentation . -
extensions: (Optional) Eine Liste von Qwen Code CLI-Erweiterungen, die installiert werden sollen. -
upload*artifacts: *(Optional, Standard:false)_ Gibt an, ob Artefakte in die GitHub Action hochgeladen werden sollen. -
use*pnpm: *(Optional, Standard:false)_ Gibt an, ob pnpm anstelle von npm zum Installieren von qwen-code-cli verwendet werden soll. -
workflow*name: *(Optional, Standard:${{ github.workflow }})_ Der Name des GitHub-Workflows, der zu Telemetriezwecken verwendet wird.
Ausgaben
-
summary: Die zusammengefasste Ausgabe der Qwen Code CLI-Ausführung. -
error: Die Fehlerausgabe der Qwen Code CLI-Ausführung, falls vorhanden.
Repository-Variablen
Wir empfehlen, die folgenden Werte als Repository-Variablen festzulegen, damit sie in allen Workflows wiederverwendet werden können. Alternativ kannst du sie auch inline als Action-Eingaben in einzelnen Workflows setzen oder Repository-Level-Werte überschreiben.
| Name | Beschreibung | Typ | Erforderlich | Wann erforderlich |
|---|---|---|---|---|
DEBUG | Aktiviert das Debug-Logging für die Qwen Code CLI. | Variable | Nein | Nie |
QWEN_CLI_VERSION | Legt fest, welche Version der Qwen Code CLI installiert wird. | Variable | Nein | Anheften der CLI-Version |
APP_ID | GitHub App-ID für die benutzerdefinierte Authentifizierung. | Variable | Nein | Verwendung einer eigenen GitHub App |
So fügst du eine Repository-Variable hinzu:
- Gehe zu den Einstellungen deines Repositorys > Secrets und Variablen > Actions > Neue Variable.
- Gib den Variablennamen und -wert ein.
- Speichere.
Weitere Informationen zu Repository-Variablen findest du in der GitHub-Dokumentation zu Variablen .
Secrets
Du kannst die folgenden Secrets in deinem Repository festlegen:
| Name | Beschreibung | Erforderlich | Wann erforderlich |
|---|---|---|---|
QWEN_API_KEY | Dein Qwen-API-Schlüssel von DashScope. | Ja | Erforderlich für alle Workflows, die Qwen aufrufen. |
APP_PRIVATE_KEY | Privater Schlüssel für deine GitHub App (PEM-Format). | Nein | Bei Verwendung einer benutzerdefinierten GitHub App. |
So fügst du ein Secret hinzu:
- Gehe zu den Einstellungen deines Repositorys > Secrets und Variablen > Actions > Neues Repository-Secret.
- Gib den Namen und Wert des Secrets ein.
- Speichere.
Weitere Informationen findest du in der offiziellen GitHub-Dokumentation zum Erstellen und Verwenden verschlüsselter Secrets .
Authentifizierung
Diese Aktion erfordert eine Authentifizierung gegenüber der GitHub-API und optional gegenüber den Qwen Code Services.
GitHub-Authentifizierung
Du kannst dich auf zwei Arten bei GitHub authentifizieren:
- Standard-
GITHUB_TOKEN: Für einfachere Anwendungsfälle kann die Action das standardmäßig vom Workflow bereitgestellteGITHUB_TOKENverwenden. - Benutzerdefinierte GitHub App (empfohlen): Für die sicherste und flexibelste Authentifizierung empfehlen wir das Erstellen einer benutzerdefinierten GitHub App.
Ausführliche Einrichtungsanweisungen für Qwen- und GitHub-Authentifizierung findest du in der Authentifizierungsdokumentation.
Erweiterungen
Die Qwen Code CLI kann durch Erweiterungen mit zusätzlicher Funktionalität erweitert werden. Diese Erweiterungen werden aus ihren GitHub-Repositories direkt aus dem Quellcode installiert.
Eine detaillierte Anleitung zur Einrichtung und Konfiguration von Erweiterungen findest du in der Dokumentation zu Erweiterungen.
Best Practices
Um die Sicherheit, Zuverlässigkeit und Effizienz Ihrer automatisierten Workflows zu gewährleisten, empfehlen wir dringend, unsere Best Practices zu befolgen. Diese Richtlinien decken wichtige Bereiche wie Repositoriesicherheit, Workflow-Konfiguration und Überwachung ab.
Zu den wichtigsten Empfehlungen gehören:
- Absichern Ihres Repositories: Implementierung von Branch- und Tag-Schutz sowie Einschränkung der Pull-Request-Genehmiger.
- Überwachung und Auditierung: Regelmäßige Überprüfung der Aktionsprotokolle und Aktivierung von OpenTelemetry für tiefere Einblicke in Leistung und Verhalten.
Eine umfassende Anleitung zum Absichern Ihres Repositories und Ihrer Workflows finden Sie in unserer Best Practices-Dokumentation.
Anpassung
Erstellen Sie eine QWEN.md-Datei im Stammverzeichnis Ihres Repositories, um projektspezifischen Kontext und Anweisungen für die Qwen Code CLI bereitzustellen. Dies ist nützlich, um Codierungsrichtlinien, Architekturmuster oder andere Richtlinien zu definieren, denen das Modell in einem bestimmten Repository folgen sollte.
Mitwirken
Beiträge sind willkommen! Schauen Sie sich den Leitfaden zum Mitwirken von Qwen Code CLI an, um weitere Details zur ersten Schritte zu erhalten.