Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Microsoft 365 Agents Playground (früher als Teams App Test Tool bekannt) ist in der neuesten Vorabversion von Microsoft 365 Agents Toolkit (früher als Teams Toolkit bekannt) verfügbar. Stellen Sie sicher, dass Sie die neueste Vorabversion von Agents Toolkit installieren.
Agents Playground macht das Debuggen von Bot- oder Agent-basierten Apps mühelos. Sie können mit Ihrem Bot chatten und seine Nachrichten und adaptive Karten anzeigen, wie sie in verschiedenen Kanälen angezeigt werden. Sie benötigen kein Microsoft 365-Entwicklerkonto, Tunneling oder eine echte Client-App- und Anwendungsregistrierung, um Agents Playground verwenden zu können.
Die folgende Abbildung zeigt eine Beispiel-App, die eine adaptive Karte mit einer Liste von Befehlen im Agents Playground anzeigt. Es enthält auch eine Beschreibung der Befehle, damit Sie Ihre App testen können, ohne ihren Code manuell zu durchsuchen:
Im Folgenden sind die Vorteile von Agents Playground aufgeführt:
Sandboxumgebung: Die Sandboxumgebung von Agents Playground emuliert das Verhalten, das Aussehen und die Benutzererfahrung des echten Agents.
Tunneling: Ein externer Tunneldienst ist nicht erforderlich, da Agents Playground auf einem lokalen Server ausgeführt wird, mit dem Ihr Bot kommunizieren kann.
Reduzieren von Kontoabhängigkeiten: Der Microsoft 365-Entwicklermandant und die App-Uploadberechtigungen sind zum Debuggen der Anwendung nicht erforderlich.
Schnelle Iterationen in inneren Schleifen: Optimiert den Prozess der Änderung des App-Entwurfs und der Anwendungslogik, ohne die Anwendung erneut in der Cloud bereitstellen zu müssen.
Modelldaten und Aktivitäten: Agents Playground erleichtert das Testen komplexer Szenarien, z. B. das Senden einer Begrüßungsnachricht, wenn ein neues Mitglied dem Kanal beitritt, mithilfe von Pseudodaten und Aktivitätstriggern.
Zuverlässig: Agents Playground ist zuverlässig, da die adaptive Karte der Anwendung dieselbe Renderingtechnologie wie in Teams oder WebChat verwendet.
Integration in vorhandene Anwendungen: Agents Playground lässt sich mühelos in vorhandene Anwendungen integrieren, die mit dem Agent SDK oder Teams SDK erstellt wurden.
Unterstützung für verschiedene Bereiche: Agents Playground unterstützt Tests in persönlichen, Team- und Gruppenchatbereichen.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Tools zum Erstellen und Bereitstellen Ihrer Anwendungen in Agents Playground installieren:
| Installieren | Zum Benutzen... | |
|---|---|---|
| Agents Toolkit | Eine Microsoft Visual Studio Code-Erweiterung, die ein Projektgerüst für Ihre App erstellt. Verwenden Sie die neueste Vorabversion. | |
| Node.js | Back-End-JavaScript-Laufzeitumgebung. Weitere Informationen finden Sie unter Node.js Versionskompatibilitätstabelle für den Projekttyp. | |
| Visual Studio Code | Build-Umgebungen für JavaScript, TypeScript oder SharePoint Framework (SPFx). Verwenden Sie die neueste Version. |
Grundlegendes zu Agents Playground
Agents Playground ist ein npm-Paket mit einem CLI-Befehl namens teamsapptester. Wenn Sie ausführen teamsapptester start, wird eine Web-App auf Ihrem lokalen Computer geöffnet, die den Teams- oder WebChat-Client und den Bot Framework-Dienst emuliert. Diese Web-App benötigt keine Cloudressourcen, da sie simulierte Daten verwendet, um die Kontextinformationen zu simulieren.
Um eine Anwendung im Agents Playground verwenden zu können, müssen Sie Folgendes bereitstellen:
- Nachrichtenendpunkt: Ein Nachrichtenendpunkt ist die URL, die Agents Playground und Ihre Anwendung verknüpft. Sie können den Endpunkt mit der Umgebungsvariablen
BOT_ENDPOINTaktualisieren, Agents Playground mit der Option--app-endpointstarten oder einfach den Standardwert vonhttp://localhost:3978/api/messagesverwenden. - Konfigurationsdatei (optional): Eine Konfigurationsdatei informiert Agents Playground über Ihre angepassten Kontextinformationen in Teams. Die Datei hat den Namen .m365agentsplayground.yml im Stammordner des Projekts. Wenn Teams diese Datei nicht finden kann, wird die Standardkonfiguration verwendet. Weitere Informationen finden Sie unter Anpassen des Teams-Kontexts.
Agents Playground-Erfahrung im Agents Toolkit
Agents Playground bietet eine schnellere Debugerfahrung für Anwendungen im Vergleich zur realen Umgebung.
Öffnen Sie Visual Studio Code.
Wählen Sie das Symbol Microsoft 365 Agents Toolkit
in der Visual Studio Code-Aktivitätsleiste aus.Wählen Sie Create a New Agent/App (Neuen Agent/neue App erstellen) aus.
Wählen Sie Agent für Teams aus.
Wählen Sie Allgemeine Teams-Agent aus, um einen Agent zu erstellen. Wenn Sie eine andere Funktionalität für Ihren Agent benötigen, wählen Sie eine andere Option aus.
Wählen Sie Azure OpenAI aus, und geben Sie den Dienstschlüssel ein. Wenn Sie OpenAI verwenden, wählen Sie eine andere Option aus.
Wählen Sie JavaScript aus.
Wählen Sie Standardordneraus.
Führen Sie die folgenden Schritte aus, um den Standardspeicherort zu ändern:
Wählen Sie Durchsuchen aus.
Wählen Sie den Speicherort für den Projektarbeitsbereich aus.
Wählen Sie Ordner auswählen aus.
Geben Sie einen geeigneten Namen für Ihre App ein, und drücken Sie dann die EINGABETASTE .
Es wird ein Dialogfeld angezeigt, in dem Sie ja oder nein auswählen müssen, um den Autoren der Dateien in diesem Ordner zu vertrauen.
Wählen Sie im linken Bereich Ausführen und Debuggen (
Ctrl+Shift+D) und in der Dropdownliste Microsoft 365 Agents Playground (Vorschau) die Option Debuggen aus.
Agents Playground öffnet die Anwendung auf einer Webseite.
Aktivitätstrigger
Sie können eine Aktivität im Agents Playground mithilfe von Aktivitätstriggern simulieren. Es gibt zwei Arten von Aktivitätstriggern:
Vordefinierte Aktivitätstrigger
Agents Playground bietet vordefinierte Aktivitätstrigger zum Testen der Funktionen Ihrer App.
| Kategorie | Aktivität | Handler |
|---|---|---|
| Auslösen der Updateaktivität für die Installation | Installieren der Anwendung Anwendung deinstallieren |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| Auslösen der Konversationsaktualisierungsaktivität | Benutzer hinzufügen Anwendung hinzufügen Kanal hinzufügen |
onMembersAddedonTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
| Entfernen eines Benutzers Anwendung entfernen Kanal entfernen Team entfernen |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| Kanal umbenennen Team umbenennen |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
Hinweis
Nicht alle Arten von Aktivitäten sind in allen Bereichen verfügbar. Sie können z. B. keinen Kanal in einem persönlichen Chat oder einem Gruppenchat hinzufügen oder entfernen.
Vordefinierte Aktivitätstrigger sind im Menü Aktivität simulieren im Agents Playground verfügbar.
Führen Sie die folgenden Schritte aus, um eine Benutzer hinzufügen-Aktivität zu simulieren:
Wechseln Sie in Agents Playground zu Aktivität simulieren , und wählen Sie Benutzer hinzufügen aus.
Ein Popupfenster wird angezeigt, um eine Vorschau des Aktivitätshandlers anzuzeigen.
Wählen Sie Aktivität senden aus.
Die App sendet eine Antwort.
Benutzerdefinierte Aktivitätstrigger
Sie können die benutzerdefinierte Aktivität verwenden, reactionsAddedum Aktivitätstrigger wie , an die Anforderungen Ihrer Bot-App anzupassen. Agents Playground füllt automatisch die erforderlichen Eigenschaften der Aktivität auf. Sie können auch den Aktivitätstyp ändern und weitere Eigenschaften hinzufügen.
Wählen SieBenutzerdefinierte Aktivität>simulieren aus.
Fügen Sie hinzu
messageReaction, um die Aktivität unter der -Eigenschafttypeanzupassen und die benutzerdefinierte Aktivität aufzurufen.{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }Wählen Sie Aktivität senden aus.
Der Bot sendet als Antwort einen
onReactionsAddedHandler.
Konfigurieren des Agents Playground für die Authentifizierung
Beim Debuggen einer Anwendung, die eine Authentifizierung erfordert, können Sie die Microsoft Entra Client-ID und den geheimen Clientschlüssel mit einer optionalen Mandanten-ID konfigurieren. Wenn Sie Ihren Bot mit dem Azure KI-Bot Service erstellt haben, sind die Anmeldeinformationen im App Service des Bots unter Einstellungenkonfiguration> verfügbar. Wenn Sie sich der Werte nicht sicher sind, können Sie sie aus der Konfigurationsdatei der lokal ausgeführten Anwendung entfernen und die Anwendung dann im Agents Playground ausführen. Wenn die Anwendung diese Einstellungen nicht zum Ausführen benötigt, müssen Sie sie nicht konfigurieren.
Umgebungsvariable/Befehlszeile
Vor dem Starten von Agents Playground können Sie die folgenden Umgebungsvariablen festlegen: AUTH_CLIENT_ID, AUTH_CLIENT_SECRETund AUTH_TENANT_ID. Diese Werte werden für die Standardauthentifizierungskonfiguration verwendet.
Wenn Sie Agents Playground über die Befehlszeile ausführen, können Sie auch die Optionen --client-id, --client-secretund --tenant-idverwenden. Diese Optionen setzen die Standardeinstellungen der Umgebungsvariablen außer Kraft.
Clientseitige Schnittstelle
Nachdem Agents Playground gestartet wurde, können Sie die Authentifizierung weiterhin über die Clientschnittstelle wie folgt konfigurieren:
Wählen Sie Authentifizierung konfigurieren aus.
Füllen Sie die Felder im Formular aus, und wählen Sie Speichern aus.
Im Protokollbereich wird die Meldung angezeigt, wenn die Konfiguration erfolgreich festgelegt wurde.
Authentifizierungslogik
Agents Playground ruft ein JWT-Token mithilfe der bereitgestellten Authentifizierungseinstellungen ab und schließt es bei der Kommunikation mit der Anwendung in den Autorisierungsheader ein. Das JWT-Token im Antwortheader der Anwendung wird auch von Agents Playground überprüft. Weitere Informationen zum Authentifizierungsprozess finden Sie unter Authentifizierung mit der Bot Connector-API.
Unterstützung für mehrere Kanäle
Teams ist der Standardkanal, der zum Debuggen Ihrer Anwendung verwendet wird, aber auch andere Kanäle werden unterstützt. Sie können den Kanal ändern, indem Sie die Umgebungsvariable DEFAULT_CHANNEL_ID festlegen oder die --channel-id Option verwenden, wenn Sie Agents Playground über die Befehlszeile starten.
Derzeit sind die akzeptierten Kanal-IDs: msteams, directline, webchatund emulator. Wenn Sie eine Kanal-ID festlegen, ändern sich die Eigenschaften der an die Anwendung gesendeten Nachrichten entsprechend, um eine reale Umgebung zu simulieren. Für die directline Kanäle und webchat wird ein entsprechender Client angezeigt, und Karte Rendering unterscheidet sich von dem des Teams-Kanals.
Anpassen des Teams-Kontexts
Mit der Konfigurationsdatei im Stammordner des Projekts können Sie Teams-Kontextinformationen wie Chats, Teams und Benutzer anpassen. Es stellt Modelldaten zum Testen von Bot Framework-APIs oder -Methoden aus dem Agent SDK oder Teams SDK bereit, z TeamsInfo.getTeamMembers. B. .
Standardkonfiguration
Agents Playground enthält eine integrierte Konfigurationsdatei im Stammordner des Projekts.
# yaml-language-server: $schema=https://aka.ms/teams-app-test-tool-config/0.1.0/config.schema.json
# Visit https://aka.ms/teams-app-test-tool-config-guide for more details on this file.
# This configuration file customizes the Teams context information like chats, teams, and users.
# It contains mock data for testing Bot Framework APIs or Bot Builder SDK methods such as TeamsInfo.getTeamMembers().
# You can customize this file to change API response if your bot code uses these APIs.
version: "0.1.0"
tenantId: 00000000-0000-0000-0000-0000000000001
bot:
id: 00000000-0000-0000-0000-00000000000011
name: Test Bot
currentUser:
id: user-id-0
name: Alex Wilber
userPrincipleName: alexw@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000020
givenName: Alex
surname: Wilber
email: alexw@example.com
users:
- id: user-id-1
name: Megan Bowen
userPrincipleName: meganb@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000021
givenName: Megan
surname: Bowen
email: meganb@example.com
- id: user-id-2
name: Adele Vance
userPrincipleName: adelev@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000022
givenName: Adele
surname: Vance
email: adelev@example.com
- id: user-id-3
name: Isaiah Langer
userPrincipleName: isaiah@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000023
givenName: Isaiah
surname: Langer
email: isaiahl@example.com
- id: user-id-4
name: Patti Fernandez
userPrincipleName: pattif@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000024
givenName: Patti
surname: Fernandez
email: pattif@example.com
- id: user-id-5
name: Lynne Robbins
userPrincipleName: lynner@example.com
aadObjectId: 00000000-0000-0000-0000-0000000000025
givenName: Lynne
surname: Robbins
email: lynner@example.com
personalChat:
id: personal-chat-id
groupChat:
id: group-chat-id
name: Group Chat
team:
id: team-id
name: My Team
aadGroupId: 00000000-0000-0000-0000-000000000031
channels:
- id: channel-announcements-id
name: Announcements
Aktualisieren der Konfigurationsdatei
Wenn Ihr Botcode Bot Framework-APIs verwendet, können Sie die Konfigurationsdatei ändern, um die API-Antworten anzupassen. Betrachten Sie beispielsweise einen Azure DevOps-Benachrichtigungsbot, der in einem Team installiert ist und inaktive Fehler aus Azure DevOps abruft. Es identifiziert die Besitzer der inaktiven Fehler, ruft ihre E-Mail-Adressen ab und sendet tägliche Benachrichtigungen an ihre persönlichen Chats.
Um diesen Bot im Agents Playground umfassend zu testen, müssen Sie die Konfigurationsdatei mit den richtigen E-Mail-Adressen der inaktiven Fehlerbesitzer aktualisieren.
Wechseln Sie zur
.m365agentsplayground.ymlDatei im Stammordner des Projekts.Wechseln Sie zum
usersAbschnitt,userPrincipleNameund aktualisieren Sie ,nameundemaildes erforderlichen Benutzers.users: - id: user-id-1 name: Megan Bowen userPrincipleName: meganb@example.com aadObjectId: 00000000-0000-0000-0000-0000000000021 givenName: Megan surname: Bowen email: some-real-user@real-domain.onmicrosoft.comSpeichern Sie die Datei, und wählen Sie F5 aus, um im Agents Playground zu debuggen.
Hinweis
Wenn Sie die Konfigurationsdatei in Visual Studio Code bearbeiten, aktualisiert IntelliSense automatisch die Eigenschaftennamen und warnt Sie, wenn Sie ungültige Werte eingeben.
Es ist wichtig zu verstehen, dass das Aktualisieren der Konfigurationsdatei drei wesentliche Auswirkungen hat:
- Dies wirkt sich auf die Von Bot Framework Connector-APIs zurückgegebenen Antworten aus. Beispiel:
TeamsInfo.getPagedMembers(). - Es ändert die Details in der Aktivitätsnutzlast. Beispiel:
activity.recipient. - Es wirkt sich auf die Benutzeroberfläche in Agents Playground aus. Beispiel: Gruppenchatnamen.
Begrenzungen
Bot- oder Agent-Features, die über das Teams-App-Manifest aktiviert werden, sind nicht verfügbar, da Agents Playground sie nicht verarbeitet.
Agents Playground unterstützt nicht alle Arten von Karten mit Ausnahme von adaptiven Karten.
Agents Playground unterstützt die folgenden Features für adaptive Karten nicht:
Agents Playground unterstützt die folgenden Funktionen nicht:
- Mobil
- Besprechung
Agents Playground kann die folgenden Erfahrungen emulieren:
Features Debuggen in Agents Playground Lokales Debuggen Ihrer App Grundlegendes Senden/Empfangen von Nachrichten Verfügbar Verfügbar Bot Framework-APIs (TeamsInfo.getPagedMembers()...) Verfügbar (Antworten mit simulierten Daten) Verfügbar Senden von Teams-Ereignissen Verfügbar (Pseudoaktivität) Verfügbar Eingabeindikator Nicht verfügbar Verfügbar Registerkarte, Nachrichtenerweiterung, Dialoge (in TeamsJS v1.x als Aufgabenmodule bezeichnet), Einmaliges Anmelden (Single Sign-On, SSO) und nicht adaptive Karten Nicht verfügbar Verfügbar
Debuggen einer vorhandenen App mit Agents Playground
Stellen Sie sicher, dass Sie eine vorhandene App mit dem Agents-Toolkit erstellt haben. Führen Sie die folgenden Schritte aus, um Ihre App mit Agents Playground zu debuggen:
Öffnen Sie den Projektordner des vorhandenen Bots im Agents Toolkit.
Wechseln Sie zu EXPLORER.vscode>.
Wählen Sie launch.json aus, und fügen Sie den folgenden Code am Ende der Datei hinzu:
// .vscode/launch.json { ... "compounds": [ ... { "name": "Debug in Microsoft 365 Agents Playground", "configurations": [ "Attach to Local Service" ], "preLaunchTask": "Start App in Microsoft 365 Agents Playground", "presentation": { "group": "1-local", "order": 1 }, "stopAll": true }, ] }Wechseln Sie zu tasks.json , und fügen Sie den folgenden Code am Ende der Datei hinzu:
{ "label": "Start Microsoft 365 Agents Playground", "type": "shell", "command": "npm run dev:teamsfx:launch-playground", "isBackground": true, "options": { "env": { "PATH": "${workspaceFolder}/devTools/teamsapptester/node_modules/.bin:${env:PATH}" } }, "windows": { "options": { "env": { "PATH": "${workspaceFolder}/devTools/teamsapptester/node_modules/.bin;${env:PATH}" } } }, "problemMatcher": { "pattern": [ { "regexp": "^.*$", "file": 0, "location": 1, "message": 2 } ], "background": { "activeOnStart": true, "beginsPattern": ".*", "endsPattern": "Listening on" } }, "presentation": { "panel": "dedicated", "reveal": "silent" } }, ], }Erstellen Sie unter EXPLORER eine .localConfigs.playground-Datei , und fügen Sie den folgenden Code hinzu:
// .localConfigs.playground # A gitignored place holder file for local runtime configurations when debug in Agents Playground BOT_ID= BOT_PASSWORD= TEAMSFX_NOTIFICATION_STORE_FILENAME=.notification.playgroundstore.jsonWechseln Sie zu EXPLORER>env.
Erstellen Sie eine .env.playground-Datei , und fügen Sie den folgenden Code hinzu:
// .env.playground # This file includes environment variables that can be committed to git. It's gitignored by default because it represents your local development environment # Built-in environment variables TEAMSFX_ENV=playground # Environment variables used by Agents Playground TEAMSAPPTESTER_PORT=56150Wenn Sie über benutzerdefinierte Umgebungsvariablen verfügen, legen Sie deren Werte in .env.playground oder .env.playground.user fest.
Fügen Sie entweder einen OpenAI-Schlüssel oder Azure OpenAI-Schlüssel und -Endpunkt in .env.playground.user hinzu.
# SECRET_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_ENDPOINT=<https://your-openai-service-name.openai.azure.com/>Wechseln Sie zu package.json , und fügen Sie den folgenden Code unter der
scripts-Eigenschaft hinzu:"scripts": { ... "dev:teamsfx:playground": "env-cmd --silent -f .localConfigs.playgroundnd npm run dev", "dev:teamsfx:launch-playground": "env-cmd --silent -f env/.env.playground teamsapptester start", ... },Wählen Sie im linken Bereich Ausführen und Debuggen (
Ctrl+Shift+D) und in der Dropdownliste Microsoft 365 Agents Playground die Option Debuggen aus.
Agents Playground debuggt erfolgreich Ihren vorhandenen Bot.
Deaktivieren der Datensammlung
Wenn Sie nicht zulassen möchten, dass Agents Playground Nutzungsdaten sammelt, können Sie die Datensammlung einfach deaktivieren, indem Sie die Option --disable-telemetry hinzufügen, wenn Agents Playground über die Befehlszeile gestartet wird.
Häufig gestellte Fragen
Wie kann ich meine App testen, wenn Agents Playground ihre Features nicht unterstützt?
Sie können jederzeit den Teams-Client verwenden, um die Features zu testen, die Agents Playground nicht unterstützt. Wählen Sie die Option Debuggen in Teams (Edge) oder Debuggen in Teams (Chrome) aus, um Ihre Anwendung im Teams-Client zu testen.
Wie kann ich feststellen, ob Agents Playground keine Features in meiner App unterstützt?
Agents Playground zeigt eine Warnmeldung im Unterhaltungs- und Protokollbereich an, wenn nicht unterstützte Features erkannt werden.
Empfiehlt Microsoft, nur Agents Playground zum Testen von Anwendungen zu verwenden?
Nein Wir empfehlen Benutzern immer, ihre Anwendungen im Teams-Client zu testen, bevor sie die Anwendung in die Produktionsumgebung verschieben.
Codebeispiel
| Beispielname | Beschreibung | Node.js |
|---|---|---|
| Agents Playground-Beispiel-App | Eine Beispiel-App zum Erkunden des Agents Playground. | View |
Schrittweise Anleitung
Befolgen Sie die Schritt-für-Schritt-Anleitung zum Debuggen eines KI-Chatbots mithilfe von Agents Playground.