Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O Playground de agentes do Microsoft 365 (anteriormente conhecido como Ferramenta de Teste do Aplicativo do Teams) está disponível na versão de pré-lançamento mais recente do Microsoft 365 Agents Toolkit (anteriormente conhecido como Teams Toolkit). Certifique-se de instalar a versão de pré-lançamento mais recente do Kit de Ferramentas de Agentes.
Não há suporte para isso para agentes declarativos.
O Agents Playground facilita a depuração de aplicativos baseados em bot ou agente. Você pode conversar com seu bot e ver suas mensagens e Cartões Adaptáveis conforme eles aparecem em diferentes canais. Você não precisa de uma conta de desenvolvedor do Microsoft 365, túnel ou registro de aplicativo cliente real e aplicativo para usar o Agents Playground.
A imagem a seguir mostra um aplicativo de exemplo exibindo um Cartão Adaptável com uma lista de comandos no Agents Playground. Ele também fornece uma descrição dos comandos para que você possa testar seu aplicativo sem pesquisar manualmente o código:
A seguir estão as vantagens do Agents Playground:
Ambiente de sandbox: O ambiente de sandbox do Agents Playground emula o comportamento, a aparência e a experiência do usuário do real.
Túnel: um serviço de túnel externo não é necessário, pois o Agents Playground é executado em um servidor local com o qual seu bot pode se comunicar.
Reduzir as dependências da conta: o locatário do Microsoft 365 Developer e as permissões de upload do aplicativo não são necessárias para depurar o aplicativo.
Iterações rápidas de loop interno: otimiza o processo de fazer alterações no design do aplicativo e na lógica do aplicativo sem precisar reimplantar o aplicativo na nuvem.
Dados e atividades simulados: o Agents Playground facilita o teste de cenários complexos, como enviar uma mensagem de boas-vindas quando um novo membro entra no canal, usar dados fictícios e gatilhos de atividade.
Confiável: o Agents Playground é confiável, pois o Cartão Adaptável do aplicativo utiliza a mesma tecnologia de renderização do Teams ou do WebChat.
Integração com aplicativos existentes: o Agents Playground se integra facilmente a aplicativos existentes criados com o Agent SDK ou o SDK do Teams.
Suporte para diferentes escopos: o Agents Playground oferece suporte a testes nos escopos de chat pessoal, de equipe e em grupo.
Pré-requisitos
Certifique-se de instalar as seguintes ferramentas para criar e implantar seus aplicativos no Agents Playground:
| Instalar | Para usar... | |
|---|---|---|
| Kit de Ferramentas de Agentes | Uma extensão do Microsoft Visual Studio Code que cria um scaffolding de projeto para seu aplicativo. Use a versão de pré-lançamento mais recente. | |
| Node.js | Ambiente de runtime do JavaScript de back-end. Para obter mais informações, consulte Node.js tabela de compatibilidade de versão para o tipo de projeto. | |
| Visual Studio Code | Ambientes de compilação JavaScript, TypeScript ou Estrutura do SharePoint (SPFx). Use a versão mais recente. |
Entenda o Agents Playground
O Agents Playground é um pacote npm que tem um comando CLI chamado teamsapptester. Quando você executa teamsapptester starto , ele abre um aplicativo Web em seu computador local que emula o Teams ou o cliente WebChat e o serviço Bot Framework. Esse aplicativo Web não precisa de nenhum recurso de nuvem, pois usa dados fictícios para simular as informações contextuais.
Para usar um aplicativo no Agents Playground, você precisa fornecer:
- Ponto de extremidade da mensagem: um ponto de extremidade de mensagem é o URL que vincula o Agents Playground e seu aplicativo. Você pode atualizar o endpoint com a variável de ambiente, iniciar o Agents Playground com
--app-endpointoptionBOT_ENDPOINTou apenas usar o valor padrão dehttp://localhost:3978/api/messages. - Arquivo de configuração (opcional): um arquivo de configuração informa o Agents Playground sobre suas informações contextuais personalizadas no Teams. O arquivo é nomeado .m365agentsplayground.yml na pasta raiz do projeto. Se o Teams não conseguir encontrar esse arquivo, ele usará a configuração padrão. Para obter mais informações, consulte Personalizar o contexto do Teams.
Experiência do Agents Playground no Agents Toolkit
O Agents Playground oferece uma experiência de depuração mais rápida para aplicativos quando comparado ao ambiente real.
Abra o Visual Studio Code.
Selecione o ícone do Microsoft 365 Agents Toolkit
na barra de atividades do Visual Studio Code.Selecione Criar um novo agente/aplicativo.
Selecione Agente para o Teams.
Selecione Agente Geral do Teams para criar um agente. Se você precisar de uma funcionalidade diferente para seu agente, escolha uma opção diferente.
Selecione OpenAI do Azure e insira a chave do serviço. Se você estiver usando o OpenAI, escolha uma opção diferente.
Selecione JavaScript.
Selecione a pasta padrão.
Para alterar o local padrão, siga estas etapas:
Selecione Procurar.
Selecione o local para o espaço de trabalho do projeto.
Selecione Selecionar Pasta.
Insira um nome adequado para seu aplicativo e selecione a tecla Enter .
Uma caixa de diálogo é exibida, onde você precisa escolher sim ou não para confiar nos autores dos arquivos nesta pasta.
No painel esquerdo, selecione Executar e Depurar (
Ctrl+Shift+D) e selecione Depurar no Microsoft 365 Agents Playground (Versão prévia) na lista suspensa.
O Agents Playground abre o aplicativo em uma página da Web.
Gatilhos de atividade
Você pode simular uma atividade no Agents Playground usando gatilhos de atividade. Existem dois tipos de gatilhos de atividade:
Importante
Quando o Agents Playground é iniciado por meio do Microsoft 365 Agents Toolkit, a ID de canal padrão é
emulator.O
emulatorcanal não dá suporte a algumas atividades simuladas específicas do Teams, como:- Atividades de atualização de instalação
- Atividades de atualização de conversa de equipe ou canal
- Atividades de notificação usadas pelos projetos do Agent 365
Como resultado, essas opções podem não aparecer no menu Simular uma atividade .
Para testar atividades específicas do Teams, defina a ID do canal como
msteams. Para obter mais informações, consulte Suporte a vários canais.
Observação
Mesmo que uma atividade específica não esteja disponível para o canal atual, você ainda pode usar a atividade personalizada para enviar uma carga JSON personalizada ao seu agente.
Gatilhos de atividade predefinidos
O Agents Playground fornece gatilhos de atividade predefinidos para testar as funcionalidades do seu aplicativo.
| Categoria | Atividade | Manipulador |
|---|---|---|
| Disparar atividade de atualização da instalação | Instalar aplicativo Desinstalar aplicativo |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| Disparar atividade de atualização de conversa | Adicionar usuário Adicionar aplicativo Adicionar canal |
onMembersAddedonTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
| Remover usuário Remover aplicativo Remover canal Remover equipe |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| Renomear canal Renomear equipe |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
Observação
Todos os tipos de atividades não estão disponíveis em todos os escopos. Por exemplo, você não pode adicionar ou remover um canal em um chat pessoal ou em grupo.
Os gatilhos de atividade predefinidos estão disponíveis no menu Simular uma atividade no Agents Playground.
Para simular Adicionar atividade do usuário , siga estas etapas:
No Agents Playground, vá para Simular uma atividade e selecione Adicionar usuário.
Uma janela pop-up é exibida para visualizar o manipulador de atividades.
Selecione Enviar atividade.
O aplicativo envia uma resposta.
Gatilhos de atividade personalizados
Você pode usar a atividade personalizada para personalizar gatilhos de atividade, como , reactionsAddedpara atender aos requisitos do seu aplicativo de bot. O Agents Playground preenche automaticamente as propriedades necessárias da atividade. Você também pode modificar o tipo de atividade e adicionar mais propriedades.
Selecione Simular uma atividade>personalizada.
Adicione
messageReactionpara personalizar a atividade na propriedadetypee invocar a atividade personalizada.{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }Selecione Enviar atividade.
O bot envia um
onReactionsAddedmanipulador em resposta.
Configurar o Agents Playground para autenticação
Ao depurar um aplicativo que requer autenticação, você pode configurar a ID do cliente e o segredo do cliente do Microsoft Entra, com uma ID de locatário opcional. Se você criou seu bot usando o Serviço de Bot de IA do Azure, as credenciais estarão disponíveis no Serviço de Aplicativo do bot emConfiguração de Configurações>. Se você não tiver certeza dos valores, poderá removê-los do arquivo de configuração do aplicativo em execução local e, em seguida, executar o aplicativo no Agents Playground. Se o aplicativo não exigir que essas configurações sejam executadas, você não precisará defini-las.
Variável de ambiente/Linha de comando
Antes de iniciar o Agents Playground, você pode definir as seguintes variáveis de ambiente: AUTH_CLIENT_ID, AUTH_CLIENT_SECRETe AUTH_TENANT_ID. Esses valores são usados para a configuração de autenticação padrão.
Ao executar o Agents Playground na linha de comando, você também pode usar as opções: --client-id, --client-secret, e --tenant-id. Essas opções substituem as configurações de variável de ambiente padrão.
Interface do lado do cliente
Depois que o Agents Playground for iniciado, você ainda poderá configurar a autenticação por meio da interface do cliente da seguinte maneira:
Selecione Configurar Autenticação.
Preencha os campos no formulário e selecione Salvar.
O painel de log mostra a mensagem se a configuração foi definida com êxito.
Lógica de autenticação
O Agents Playground adquire um token JWT usando as configurações de autenticação fornecidas e o inclui no cabeçalho Authorization ao se comunicar com o aplicativo. O token JWT no cabeçalho de resposta do aplicativo também é validado pelo Agents Playground. Para obter mais detalhes sobre o processo de autenticação, consulte Autenticação com a API do Bot Connector.
Suporte a vários canais
Quando você executa o Agents Playground como uma ferramenta autônoma, o Microsoft Teams (msteams) é usado como o canal padrão. Quando o playground é iniciado por meio do Microsoft 365 Agents Toolkit, o canal padrão é emulator. Você pode alterar o canal definindo a DEFAULT_CHANNEL_ID variável de ambiente ou usando a --channel-id opção ao iniciar o Agents Playground na linha de comando.
Observação
Para testar atividades específicas do Teams, defina a ID do canal como
msteams.Você pode fazer isso:
- Definindo a variável de ambiente:
DEFAULT_CHANNEL_ID = msteams - Ou usando a opção CLI:
agentsplayground --channel-id msteams
- Definindo a variável de ambiente:
Atualmente, as IDs de canal aceitas são: msteams, directline, webchate emulator. Quando você define uma ID de canal, as propriedades das mensagens enviadas ao aplicativo são alteradas de acordo para simular um ambiente real. Para os directline canais andwebchat, um cliente correspondente é exibido e a renderização do card difere da do canal do Teams.
Personalizar o contexto do Teams
O arquivo de configuração na pasta raiz do projeto permite que você personalize as informações de contexto do Teams, como chats, equipes e usuários. Ele fornece dados fictícios para testar APIs ou métodos do Bot Framework do SDK do Agents ou do SDK do Teams, como TeamsInfo.getTeamMembers.
Configuração padrão
O Agents Playground contém um arquivo de configuração integrado na pasta raiz do projeto.
Observação
Por padrão, o Agents Playground usa dados fictícios internos. Você não precisa criar ou modificar nenhum arquivo de configuração, a menos que queira personalizar os dados fictícios usados durante a depuração local.
# yaml-language-server: $schema=https://aka.ms/teams-app-test-tool-config/0.1.1/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.1"
tenantId: 00000000-0000-0000-0000-0000000000001
bot:
id: 00000000-0000-0000-0000-00000000000011
name: Test Bot
agenticAppId: 00000000-0000-0000-0000-000000000100
agenticUserId: agentic-user-id
tenantId: 00000000-0000-0000-0000-000000000001
role: agenticUser
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
Observação
- Os desenvolvedores podem obter
agenticAppId,agenticUserIdetenantIddepois de publicar seu agente no Centro de administração do Microsoft 365. Para obter mais informações, consulte publicar agente no Centro de administração do Microsoft 365. - Esses campos habilitam a depuração no cenário do Microsoft Agent 365. Para obter mais informações, consulte Identidade do Agent 365.
- Os campos
agenticAppId,agenticUserId,tenantId, erolesão suportados no M365 Agents Playground versão 0.2.23 e posterior. Certifique-se de estar usando a versão correta do Playground.
Personalizar o arquivo de configuração
Se o código do bot usar APIs do Bot Framework, você poderá modificar o arquivo de configuração para personalizar as respostas da API. Por exemplo, considere um bot de notificação do DevOps do Azure instalado em uma equipe que busca bugs inativos do DevOps do Azure. Ele identifica os proprietários dos bugs inativos, recupera seus endereços de email e envia notificações diárias para seus chats pessoais.
Para testar de forma abrangente esse bot no Agents Playground, atualize o arquivo de configuração com os endereços de e-mail corretos dos proprietários de bugs inativos.
Crie um arquivo nomeado
.m365agentsplayground.ymlna pasta raiz do projeto.Copie a configuração padrão de dados fictícios e cole-a no
.m365agentsplayground.ymlarquivo.Vá para a
usersseção e atualize oname,userPrincipleNameeemaildo usuário necessário.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.comSalve o arquivo e selecione F5 para depurar no Agents Playground.
Observação
O Agents Playground usa dois arquivos de configuração diferentes:
-
m365agents.playground.ymlé gerado pelo Microsoft 365 Agents Toolkit e controla como o playground é iniciado. Esse arquivo não inclui dados de usuário fictícios. -
.m365agentsplayground.ymlé um arquivo opcional que você pode criar para personalizar dados fictícios internos, como usuários.
-
O Agents Playground requer exatamente cinco usuários na
usersseção. Não há suporte para configurações com menos ou mais de cinco usuários.Quando você edita o arquivo de configuração no Visual Studio Code, o Intellisense atualiza automaticamente os nomes das propriedades e avisa se você inserir valores inválidos.
É importante entender que a atualização do arquivo de configuração tem três impactos principais:
- Ele afeta as respostas retornadas pelas APIs do Bot Framework Connector. Por exemplo,
TeamsInfo.getPagedMembers(). - Ele modifica os detalhes no conteúdo da atividade. Por exemplo,
activity.recipient. - Isso influencia a interface do usuário no Agents Playground. Por exemplo, nomes de chat de grupo.
Limitações
Os recursos de bot ou agente habilitados por meio do manifesto do aplicativo Teams não estão disponíveis, pois o Agents Playground não os processa.
O Agents Playground não dá suporte a todos os tipos de cartões, exceto Cartões Adaptáveis.
O Agents Playground não oferece suporte aos seguintes recursos do Cartão Adaptável:
O Agents Playground não oferece suporte às seguintes experiências:
- Dispositivo móvel
- Reunião
O Agents Playground pode emular as seguintes experiências:
Recursos Depurar no Agents Playground Depurar seu aplicativo localmente Envio / recebimento básico de mensagens Disponível Disponível APIs do Bot Framework (TeamsInfo.getPagedMembers()...) Disponível (responder com dados simulados) Disponível Envio de eventos do Teams Disponível (atividade simulada) Disponível Indicador de digitação Não disponível Disponível Guia, Extensão de mensagem, Diálogos (chamados de módulos de tarefa no TeamsJS v1.x), Logon Único (SSO) e Cartões não Adaptáveis Não disponível Disponível
Depurar um aplicativo existente com o Agents Playground
Certifique-se de ter um aplicativo existente criado usando o Agents Toolkit. Para depurar seu aplicativo com o Agents Playground, siga estas etapas:
Abra a pasta do projeto do bot existente no Kit de Ferramentas de Agentes.
Vá para EXPLORER.vscode>.
Selecione launch.json e adicione o seguinte código ao final do arquivo:
// .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 }, ] }Acesse tasks.json e adicione o seguinte código ao final do arquivo:
{ "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" } }, ], }Em EXPLORER, crie um arquivo .localConfigs.playground e adicione o seguinte código:
// .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.jsonVá para o EXPLORER>env.
Crie um arquivo .env.playground e adicione o seguinte código:
// .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=56150Se você tiver variáveis de ambiente personalizadas, defina seus valores em .env.playground ou .env.playground.user.
Adicione uma chave OpenAI ou uma chave OpenAI do Azure e um ponto de extremidade em .env.playground.user.
# SECRET_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_API_KEY=*********** SECRET_AZURE_OPENAI_ENDPOINT=<https://your-openai-service-name.openai.azure.com/>Acesse package.json e adicione o seguinte código à
scriptspropriedade:"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", ... },No painel esquerdo, selecione Executar e Depurar (
Ctrl+Shift+D) e selecione Depurar no Microsoft 365 Agents Playground na lista suspensa.
O Agents Playground depura com êxito o bot existente.
Desativando a coleta de dados
Se você decidir que não deseja permitir que o Agents Playground colete dados de uso, poderá desativar facilmente a coleta de dados adicionando uma opção --disable-telemetry ao iniciar o Agents Playground por meio da linha de comando.
Perguntas frequentes
Como posso testar meu aplicativo se o Agents Playground não oferece suporte a seus recursos?
Você sempre pode usar o cliente do Teams para testar os recursos incompatíveis com o Agents Playground. Selecione a opção Depurar no Teams (Edge) ou Depurar no Teams (Chrome) para testar seu aplicativo no cliente do Teams.
Como saber se o Agents Playground não oferece suporte a recursos no meu aplicativo?
O Agents Playground mostra uma mensagem de aviso no painel de conversa e log quando detecta recursos incompatíveis.
A Microsoft recomenda usar apenas o Agents Playground para testar aplicativos?
Não. Sempre recomendamos que os usuários testem seus aplicativos no cliente do Teams antes de movê-los para o ambiente de produção.
Exemplo de código
| Nome do exemplo | Descrição | Node.js |
|---|---|---|
| Aplicativo de exemplo Agents Playground | Um aplicativo de exemplo para explorar o Agents Playground. | View |
Guias passo a passo
Siga o guia passo a passo para depurar um chat bot de IA usando o Agents Playground.