# Verwenden dynamischer Workflows

Suchen, Ausführen, Überwachen und Fortsetzen dynamischer Workflows in GitHub Copilot CLI und der GitHub Copilot app.

> \[!NOTE] Dieses Feature befindet sich in Öffentliche Vorschau und kann sich ändern.

In diesem Artikel wird erläutert, wie Sie dynamische Workflows erstellen, verwenden und freigeben können.GitHub Copilot CLIGitHub Copilot app

Eine Übersicht darüber, was dynamische Workflows sind und wie sie funktionieren, finden Sie unter [Dynamische Workflows](/de/copilot/concepts/agents/dynamic-workflows).

## Voraussetzung

Um dynamische Workflows zu Copilot CLIverwenden, müssen Sie experimentelle Features aktivieren, indem Sie die CLI mit der `--experimental` Befehlszeilenoption oder mithilfe einer interaktiven Sitzung ausführen `/experimental on` .

## Verfügbare dynamische Workflows ermitteln

Möglicherweise haben Sie bereits Zugriff auf einen oder mehrere dynamische Workflows in Ihrer Sitzung , z. B. über eine persönliche Erweiterung oder eine Erweiterung im Repository, in dem Sie arbeiten. Wenn ja, können Sie eines davon verwenden, indem Sie es in einem Prompt beim Namen nennen.

Um herauszufinden, ob dynamische Workflows verfügbar sind, fragen Sie Copiloteinfach . Beispiel:

```copilot copy
What dynamic workflows are available?
```

Wenn dynamische Workflows verfügbar sind, können Sie eine beschreibung anfordern Copilot . Beispiel:

```copilot copy
Tell me more about the java-security-checks dynamic workflow.
```

Wenn Sie noch keine dynamischen Workflows haben, können Sie einen erstellen. Siehe [Erstellen eines dynamischen Workflows](#creating-a-dynamic-workflow).

## Ausführen eines dynamischen Workflows

1. Geben Sie in einer Copilot-Sitzung einen Prompt in natürlicher Sprache ein, um Copilot aufzufordern, einen dynamischen Workflow auszuführen.

   Verwenden Sie den registrierten Namen des Workflows, und geben Sie alle erforderlichen Eingaben an. Ein dynamischer Workflow, der eine Sicherheitsüberprüfung durchführt, erfordert in der Regel, dass Sie die Dateien angeben, auf die er angewendet werden soll. In diesem Fall können Sie eine Eingabeaufforderung eingeben, z. B.:

   ```copilot copy
   Run the java-security-checks dynamic workflow on the java files in the current directory, with an AI credit limit of 500.
   ```

   > \[!IMPORTANT]
   > Das Festlegen von Begrenzungen für einen dynamischen Workflow ist optional, wird jedoch empfohlen, da dies hilft, die Ressourcennutzung zu steuern und einen übermäßigen Verbrauch von AI credits zu verhindern. Weitere Informationen zu den grenzwerten, die Sie festlegen können, finden Sie unter [Dynamische Workflows](/de/copilot/concepts/agents/dynamic-workflows#limiting-a-dynamic-workflow).

2. Je nach Ihren aktuellen Einstellungen für Berechtigungsgenehmigungen fordert Copilot Sie auf, die Ausführung des dynamischen Workflows zu genehmigen, bevor sie startet. Wählen Sie **Ja**aus.

Wenn die Erweiterung eine andere Möglichkeit zum Starten ihres Workflows bietet, z. B. einen Slash-Befehl oder ein Canvas-Steuerelement im Copilot app, befolgen Sie die Anweisungen dieser Erweiterung.

## Ausführen eines dynamischen Workflows über die Befehlszeile

1. Verwenden Sie in einem Terminal den Copilot CLI Befehl `copilot workflow run WORKFLOW-NAME [OPTIONS]`, um einen vorhandenen dynamischen Workflow auszuführen.

   Der Workflow muss über eine persönliche Erweiterung, eine Projekterweiterung oder ein installiertes Plug-In verfügbar sein. Wenn Sie den Workflow in einer Chatsitzung erstellt haben, stellen Sie zuerst die Erweiterung außerhalb dieser Sitzung zur Verfügung. Siehe [Wiederverwenden und Freigeben dynamischer Workflows](#reusing-and-sharing-dynamic-workflows).

   Wird verwendet `--args` , um Eingaben für den Workflow als JSON zu liefern.

   > \[!IMPORTANT]
   > Dieser Befehl zeigt keine Berechtigungsgenehmigungsaufforderungen an, auch wenn Sie sie in einem Terminal ausführen. Erteilen Sie vor dem Start die Berechtigungen, die die Agenten des Workflows benötigen, zum Beispiel mit `--allow-tool` oder `--allow-url`. Anfragen, die nicht automatisch genehmigt werden können, werden abgelehnt. Weitere Informationen findest du unter [Programmgesteuerte Referenz für die GitHub Copilot-CLI](/de/copilot/reference/copilot-cli-reference/cli-programmatic-reference#tools-for-the---allow-tool-option).

   Angenommen, Sie haben einen Workflow mit dem Namen `java-security-checks` ", der eine `directory` Eingabe akzeptiert und die Berechtigung zum Lesen von Dateien benötigt:

   ```shell copy
   copilot workflow run java-security-checks \
      --args '{"directories":["java/src","java/tests"]}' \
      --allow-tool=read
   ```

   Ersetzen Sie den Workflownamen, die Eingabefelder und die Berechtigungen für den Workflow. Wenn der Workflow keine Eingaben benötigt, lassen Sie `--args` weg.

   Alternativ können Sie die JSON-Eingaben in einer Datei speichern und dem Pfad `@` voranstellen:

   ```shell copy
   copilot workflow run java-security-checks \
      --args @workflow-input.json \
      --allow-tool=read
   ```

2. Sehen Sie sich die Phasen und Statusmeldungen an, die vom Workflow gemeldet wurden. Sobald der Befehl abgeschlossen ist, gibt er sein Ergebnis aus, sofern er eines zurückgibt, und wird beendet. Wenn sie angehalten oder beendet wird, ohne den Vorgang abzuschließen, meldet der Befehl den Status und die Ausführungs-ID. Um eine Ausführung zu unterbrechen, drücken Sie <kbd>STRG</kbd>+<kbd>C</kbd>.

Die konfigurierten Grenzwerte des Workflows und Ihre persönlichen Standardgrenzwerte gelten weiterhin. Siehe [Dynamische Workflows](/de/copilot/concepts/agents/dynamic-workflows#limiting-a-dynamic-workflow).

### Ergebnis in einer Datei speichern

Fügen Sie `--result-file` hinzu, um den zurückgegebenen Wert des Workflows in eine JSON-Datei zu schreiben, anstatt sie im Terminal zu drucken. Fortschrittsmeldungen werden weiterhin angezeigt.

```shell copy
copilot workflow run java-security-checks \
   --args @workflow-input.json \
   --result-file security-results.json \
   --allow-tool=read
```

Die Datei enthält nur den zurückgegebenen Wert, nicht die Statusmeldungen oder Ausführungsdetails. Relative Pfade werden aus dem Verzeichnis aufgelöst, in dem Sie den Befehl gestartet haben.

Die Datei wird nur geschrieben, wenn der Workflow erfolgreich abgeschlossen wurde und ein Ergebnis zurückgibt. Eine vorhandene Datei wird erst ersetzt, nachdem das neue Ergebnis erfolgreich geschrieben wurde. Ein angehaltener, fehlgeschlagener oder unterbrochener Durchlauf belässt eine vorhandene Datei unverändert.

### Ausführen eines Workflows in einem Skript

Konfigurieren Sie für Skripts und CI/CD-Pipelines die Authentifizierung und Berechtigungen, bevor Sie den Befehl ausführen. Sie können eine Umgebungsvariable für die Authentifizierung wie `COPILOT_GITHUB_TOKEN` verwenden. Siehe [GitHub Copilot CLI-Befehlsreferenz](/de/copilot/reference/copilot-cli-reference/cli-command-reference#copilot-login-options).

Um eine Projekterweiterung zu laden, wenn das Arbeitsverzeichnis noch nicht als vertrauenswürdig eingestuft wurde, setzen Sie `GITHUB_COPILOT_PROMPT_MODE_EXTENSIONS=true` für diesen Aufruf. Dadurch kann Repositoryerweiterungscode ausgeführt werden. Verwenden Sie es nur für Code, dem Sie vertrauen. Sie müssen dem Tool weiterhin Berechtigungen erteilen, die die Agents des Workflows benötigen.

Verwenden Sie `--silent`, um die Fortschrittsausgabe zu unterdrücken. Fügen Sie `--output-format json` hinzu, um einen JSON-Datensatz zu erhalten, der den Workflow-Namen, die Ausführungs-ID, den Status und ein gegebenenfalls zurückgegebenes Ergebnis enthält:

```shell copy
copilot --allow-tool=read workflow run java-security-checks \
   --args @workflow-input.json \
   --silent --output-format json
```

## Erstellen eines dynamischen Workflows

Erstellt standardmäßig Copilot einen Workflow in einer Erweiterung für Ihre aktuelle Sitzung. Sie können ihn stattdessen bitten, den Workflow in einer persönlichen oder Projekterweiterung zu erstellen.

1. Beschreiben Sie, was der Workflow erreichen soll, jede erforderliche Reihenfolge der Schritte, für welche Teile ein Agent verwendet werden soll und etwaige Einschränkungen. Beispiel:

   ```copilot copy
   Create a dynamic workflow named review-changed that lists changed files, asks an agent to review them, and summarizes the findings.
   ```

   > \[!NOTE]
   > Wenn Sie keinen Namen für den Workflow angeben, Copilot wird während der Dokumenterstellung ein Name ausgewählt.

2. Je nach Ihren aktuellen Berechtigungsgenehmigungseinstellungen werden Sie aufgefordert, einen neuen dynamischen Workflow zu erstellen Copilot . Wählen Sie **Ja**aus.

Copilot kann andere Genehmigungen anfordern, da sie beim Erstellen und Registrieren des dynamischen Workflows funktioniert.

1. Überprüfen Sie nach Abschluss des Erstellungsprozesses, ob der Workflow erfolgreich erstellt und registriert wurde. Fragen Sie Copilot dazu, welche dynamischen Workflows verfügbar sind.

Durch das Erstellen und Registrieren eines Workflows wird keine Ausführung gestartet. Informationen zur Verwendung finden Sie unter [Ausführen eines dynamischen Workflows](#running-a-dynamic-workflow).

Sie können die Erweiterung auch selbst schreiben, mit Anleitungen von Copilot. Wenn Sie die integrierten Anleitungen lesen möchten, fragen Sie Folgendes:

```copilot copy
Show me the guidance for writing dynamic workflows.
```

## Erneute Nutzung und Freigabe dynamischer Workflows

Dynamische Workflows werden als Copilot Erweiterungen implementiert. Standardmäßig ist die Erweiterung von Copilot, wenn Sie es bitten, einen Workflow zu erstellen, nur in dieser Sitzung verfügbar. Ein Workflow kann auch bereits in einer persönlichen oder Projekterweiterung gespeichert sein.

Um einen Workflow, den Sie in der aktuellen Sitzung erstellt haben, wiederzuverwenden oder zu teilen, kopieren Sie seine Erweiterung entweder in das Verzeichnis Ihrer persönlichen Erweiterungen oder in das Erweiterungsverzeichnis Ihres Repositorys. Dadurch wird die Definition kopiert, nicht der Ausführungsverlauf oder der gespeicherte Fortschritt.

1. Fragen Sie Copilot, Ihnen den Pfad zu dem dynamischen Workflow zu nennen, den Sie freigeben möchten. Beispiel:

   ```copilot copy
   Tell me the path to the java-security-checks dynamic workflow.
   ```

Copilot antwortet mit einem Pfad wie: `/Users/yourname/.copilot/session-state/d58ba0bf-78fa-4172-b277-c18ba400e7c6/extensions/java-security-checks/extension.mjs`

1. Um diesen dynamischen Workflow in all Ihren Sitzungen verfügbar zu machen, kopieren Sie das Verzeichnis, das die Datei `extension.mjs` enthält, in Ihr `~/.copilot/extensions/`-Verzeichnis.

   Sie können Copilot bitten, dies für Sie zu tun. Beispiel:

   ```copilot copy
   Copy the java-security-checks workflow to my personal extensions directory.
   ```

2. Alternativ können Sie den dynamischen Workflow mit allen teilen, die an einem Repository arbeiten, indem Sie das Verzeichnis, das die Datei `extension.mjs` enthält, in das Verzeichnis `.github/extensions/` Ihrer lokalen Kopie des Repositorys kopieren.

   Auch hier können Sie dies für Sie tun Copilot . Wenn Sie z. B. gerade im Repository arbeiten, in dem Sie den dynamischen Workflow verfügbar machen möchten:

   ```copilot copy
   Copy the java-security-checks workflow to the current repository's extensions directory.
   ```

   Sobald diese Änderung mit dem Repository zusammengeführt wurde, können Teamkollegen den Workflow verwenden, nachdem sie ihre lokale Kopie aktualisiert und die Erweiterung geladen haben.

3. Starten Sie eine neue Sitzung, oder starten Sie eine vorhandene Sitzung neu. Sobald die Sitzung vollständig geladen ist, bitten Sie Copilot, die verfügbaren dynamischen Workflows aufzulisten, um sicherzustellen, dass Ihr Workflow nun verfügbar ist.

### Verteilen dynamischer Workflows in einem Plug-In

Plug-Ins bieten eine Möglichkeit, benutzerdefinierte Copilot Funktionen zu verteilen. Sie können ein Plug-In verwenden, um dynamische Workflows zu Copilot CLI und den GitHub Copilot app.

Weitere Informationen findest du unter [Erstellen eines Plug-Ins für GitHub Copilot CLI](/de/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).

Nachdem Sie ein Plug-In mit Ihrem dynamischen Workflow erstellt und auf einem Plug-In-Marketplace veröffentlicht haben, können die Benutzer es entdecken und installieren. Siehe [Suchen und Installieren von Plug-Ins für GitHub Copilot CLI](/de/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing#installing-plugins).

## Überwachen und Verwalten dynamischer Workflowausführungen

Sie können den Fortschritt und AI credits die Nutzung einer Ausführung zusammen mit allen Phasen und Subagenten der Workflowberichte überwachen. Sie können auch abgeschlossene Ausführungen überprüfen, anhalten oder abbrechen und eine ausführung fortsetzen, die Sie angehalten haben oder angehalten wurden, wenn ein Grenzwert erreicht wurde.

**In Copilot CLI:**

1. Geben Sie in einer interaktiven Sitzung die Eingabetaste `/workflows`ein.

   Die aktuell ausgeführten und kürzlich abgeschlossenen Ausführungen dynamischer Workflows werden aufgelistet.

2. Verwenden Sie die Pfeiltasten, um die Auswahl zu verschieben, und drücken Sie dann die <kbd>EINGABETASTE</kbd> , um die Details einer Ausführung zu öffnen.

   Die Details umfassen die Dauer, die eine Ausführung aktiv war, jede aktuelle Phase, die vom Workflow gemeldet wird, die Anzahl der derzeit aktiven Subagenten, die Gesamtzahl der erzeugten Subagenten und die Anzahl der bisher verwendeten AI credits.

3. Drücken Sie in einer aktiven Ausführung <kbd>P</kbd> , um anzuhalten, <kbd>X</kbd> , um die Ausführung abzubrechen.

**Im Copilot app:**

> \[!NOTE]
> Das Run-Monitoring ist nur für lokale Sitzungen verfügbar.

Wenn Sie einen dynamischen Workflow in der aktuellen Sitzung ausführen oder ausgeführt haben, wird oberhalb des Eingabeaufforderungsfelds eine Schaltfläche **"Workflows** " angezeigt.

1. Klicken Sie auf die Schaltfläche **"Workflows** ".

   Ein Popup wird mit aktiven Läufen angezeigt, kann fortgesetzt und kürzlich abgeschlossene Läufe ausgeführt werden.

2. Klicken Sie im Popup auf eine Workflow-Ausführung.

   Ein Panel wird angezeigt, in dem die Details der ausgewählten Workflowausführung angezeigt werden.

   Die Details umfassen die Dauer, die eine Ausführung aktiv war, jede aktuelle Phase, die vom Workflow gemeldet wird, die Anzahl der derzeit aktiven Subagenten, die Gesamtzahl der Subagenten, die anzahl der bis jetzt verwendeten Subagenten und die Anzahl der AI credits bisher verwendeten.

3. Klicken Sie auf **'Abbrechen**', um eine aktive Ausführung zu beenden. Um sie anzuhalten, damit sie später fortgesetzt werden kann, klicken Sie auf **"Anhalten"**.

### Überwachen dynamischer Workflows mit OTel

Wenn Sie OpenTelemetry (OTel) aktiviert haben, können Sie Workflowaktivitäten in Ihren Ablaufverfolgungen überprüfen. Ein Workflow erstellt jedes Mal eine `invoke_workflow` Zeitspanne, wenn er ausgeführt oder fortgesetzt wird, wobei die Aktivität seiner Agents mit ihm verknüpft ist.

Informationen zur Konfiguration finden Sie unter Copilot CLI[GitHub Copilot CLI-Befehlsreferenz](/de/copilot/reference/copilot-cli-reference/cli-command-reference#opentelemetry-monitoring).

### Fortsetzen einer Ausführung

Sie können eine angehaltene Ausführung fortsetzen oder eine Ausführung fortsetzen, die bei der Auflistung als fortsetzungsfähig angehalten wurde. Der Workflow kann gespeicherte Ergebnisse aus abgeschlossenen Schritten und Unteragenten wiederverwenden, anstatt eine neue Ausführung zu starten. Arbeit, die nicht gespeichert wurde, muss möglicherweise erneut ausgeführt werden.

Wenn Sie eine Ausführung fortsetzen, die einen Grenzwert erreicht hat, legen Sie eine höhere Summe für diesen Grenzwert fest. Die Verwendung, bevor die Ausführung beendet wurde, zählt weiterhin zur neuen Summe.

Abgebrochene Ausführung kann nicht fortgesetzt werden.

**In Copilot CLI:**

1. Geben Sie in einer interaktiven Sitzung `/workflows` ein.
2. Verwenden Sie die Pfeiltasten, um die Auswahl in die angehaltene oder beendete Ausführung zu verschieben, die Sie fortsetzen möchten.
3. Drücken Sie <kbd>R</kbd>, um den Lauf fortzusetzen.
4. Wenn Sie dazu aufgefordert werden, erhöhen Sie den erreichten Grenzwert, und bestätigen Sie die neue Summe.

**In:Copilot app**

1. Klicken Sie in einer Sitzung, die angehaltene oder angehaltene dynamische Workflows enthält, auf die Schaltfläche **"Workflows** " direkt über dem Eingabeaufforderungsfeld.

   Alle reaktivierbaren Ausführungen werden im Abschnitt "Bereit zum Fortsetzen" aufgeführt.

2. Klicken Sie auf den Run, den Sie fortsetzen möchten.

3. Klicken Sie im seitlichen Bereich auf **"Fortsetzen"**. Wenn die Ausführung einen Grenzwert erreicht hat, klicken Sie auf **"Fortsetzen mit Limit"...** Folgen Sie stattdessen den Anweisungen, um einen höheren Gesamtbetrag festzulegen und dann fortzufahren.

## Planen einer dynamischen Workflowausführung

Sie können einen Lauf eines dynamischen Workflows in Ihrer aktuellen Copilot CLI Sitzung planen, genau wie jeden anderen Prompt, indem Sie die `/every` oder `/after` Befehle verwenden. Beispiel:

```copilot copy
/every 1d run the changed-files-report dynamic workflow on the 'main' branch, limiting it to 200 AI credits
```

Weitere Informationen findest du unter [Terminplanungsaufforderungen in GitHub Copilot CLI](/de/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts).