O fascínio da Microsoft pelos agentes da IA como uma ferramenta para os desenvolvedores continua com Wassette, um novo lançamento de código aberto do seu tempo de atividade do Azure Core equipe. Incorporado Ferrugem e projetado para hospedar peças de funcionalidade escritas como WebAssembly Componentes, é um primeiro passo para fornecer funcionalidade personalizável e composável que pode ser implantada como uma ferramenta para um agente native – nesse caso, o Github Copilot agente correndo Código do Visible Studio ou qualquer outro Modelo Protocolo de contexto-Dee agente.
Wassette é, no coração, relativamente simples. Ele carrega e executa componentes, sandando -os usando o Acquainted Wasmtime RunTime e fornece uma interface MCP conversando suas interfaces para a funcionalidade MCP. Usando o WASSETTE e uma mistura de seus próprios e componentes públicos de WebAssembly, você pode montar rapidamente uma biblioteca de ferramentas seguras adaptadas a um projeto específico.
Trabalhando com Wassette em Código VS
Introdução é simples o suficiente. Embora eu tenha tido problemas para executar a versão do braço do Wassette no Home windows e no Linux, a versão X64 funcionou pela primeira vez. Os usuários do Home windows podem instalar usando Winget. Os usuários do Linux podem usar o CURL e um script de instalação. Outras opções incluem suporte homebrew ou uso do NIX para configurar um shell de desenvolvimento com a Wassette.
Uma questão menor surgiu: uma detecção de vírus falsos positivos no Home windows Defender significava que eu tinha que desativar temporariamente minhas ferramentas antivírus para concluir a instalação baseada em Winget. Há um problema relacionado ao github Observando que a equipe de desenvolvimento está trabalhando para registrar a assinatura de Wassette para evitar isso no futuro.
Depois de instalado, você precisa registrar o servidor Wassette MCP na sua ferramenta de desenvolvedor. A Microsoft fornece instruções para Código do Visible Studio, Cursor, Claude Code e Gemini CLI. Eu achei que o script que a documentação sugeriu para o código VS falhou e tive que instalar o MCP Manualmente usando a ferramenta incorporada no Github Copilot Agent UI do VS Code. Isso exigia que tivesse que reinstalar cada vez que reiniciava o código vs. Esperançosamente, uma versão atualizada da ferramenta Wassette corrige isso. Não é um desacelero, mas é um pouco estranho recarregá -lo repetidamente.
Quando o servidor MCP Wastette é executado dentro do agente do GitHub Copilot, você pode começar a usá -lo. Ele aparecerá como outra ferramenta ao lado de outros servidores registrados. Você deve observar que, se você tiver mais de 128 ferramentas registradas no GitHub Copilot, pode demorar a selecionar a ferramenta correta para o seu immediate.
A documentação fornece um hyperlink para um cliente básico que estende a funcionalidade básica do copiloto do GitHub. Na interface do bate -papo do GitHub Copilot, pude carregar isso de um registro remoto da OCI. O agente selecionou o servidor Wassette MCP e carregou o componente WebAssembly. Eu poderia usá -lo para obter o horário atual, um recurso que o agente base não conseguiu oferecer.
Um servidor MCP seguro e extensível
Obter o tempo pode parecer um recurso relativamente trivial para adicionar ao agente do GitHub Copilot, mas é apenas um exemplo do que você pode fazer com o Wassette. Esta é uma plataforma extensível; Se um recurso não estiver disponível, você pode escrever rapidamente o seu próprio e adicioná -lo. O bônus adicional de execução em uma caixa de areia WebAssembly reduz o risco, isolando módulos um do outro e do sistema operacional e do IDE.
Grande parte do modelo de segurança vem de Wasmtimeà medida que se baseia em um modelo de menor privilégio. Um componente carregado no Wassette deve ter permissões explícitas para os serviços de que precisa e usa a interface de bate -papo do agente para solicitá -las conforme necessário. Por exemplo, um componente que precisa de acesso à rede solicitará permissão para cada domínio específico ao qual se conecta. Isso garante que um módulo que receba o tempo do bloqueio do seu PC não enviará as chaves do seu aplicativo para um domínio nefasto. Se solicitar permissões de rede quando você não estiver esperando ou para um domínio que você não solicitou, você pode usar o agente para bloqueá -lo.
A Microsoft forneceu um conjunto de ferramentas de amostra para mostrar o que pode ser feito com o WASSETTE. Eles são todos componentes da WebAssembly, escrito em uma seleção de diferentes idiomas. Estes incluem PythonAssim, JavaScriptFerrugem e Ir. Se houver suporte a Wasmtime para um idioma, você poderá construir um componente com ele, pronto para uso em Wassette.
Adicionando recursos com componentes WebAssembly
É importante entender que você não precisa fazer nada com um componente WebAssembly para usá -lo com Wassette. Eu já descrevi o Modelo Protocolo de contexto como um equivalente moderno de ferramentas como a linguagem de definição de interface da Corbacomo é preciso APIs e outras interfaces e as envolve em uma descrição pronta para agente com uma maneira comum de enviar e receber informações.
O WASSETTE faz isso aproveitando um dos principais recursos dos componentes do WebAssembly: o fato de eles expor as funções como interfaces de biblioteca fortemente digitadas. O WASSETTE pode usar qualquer componente (e futuro) existente, oferecendo acesso eventual a um ecossistema mais amplo que adicionará flexibilidade aos seus agentes.
A chave para essa abordagem é como os componentes do WebAssembly interagem com a estrutura WASMTIME, usando os tipos de interface do WebAssembly. Isso expõe funções e interfaces digitadas, oferecendo acesso limitado e controlado ao componente. Se um componente exigir uma string, ele aceitará apenas uma string. Você também pode ter vários componentes escritos em diferentes idiomas, todos compilados ao WASM e executando o mesmo host Wassette.
Você não precisa aprender nada de novo para criar uma interface de componente. Eles são implementados usando o modelo de interface padrão no idioma que você escolher antes de compilar no WASM e armazenar em um registro da OCI. Interfaces podem suportar várias operações e A ByteCode Alliance fornece ferramentas para ajudar a criar componentes em seu repositório GitHub.
Não é difícil escrever componentes WebAssembly e, quando você começa a aproveitar o WASI, você pode criar recursos locais de sistema de arquivos e rede, que podem ser controlados usando a estrutura de permissões do WASMTIME por meio da Wassette. Se você precisar adicionar um recurso a um agente para fornecer um aterramento mais profundo nos dados reais, esta é uma das maneiras mais eficientes e simples de expô -lo through MCP com segurança.
O que vem a seguir para o WASSETTE?
Esta é uma versão inicial e os recursos estão obviamente ausentes. Talvez o mais importante seja a falta de um recurso de descoberta, tanto para os registros da OCI quanto para os componentes da WebAssembly armazenados neles. Por enquanto, se você precisar de um componente específico, precisará do OCI URI certo. Como wassette é um código aberto projeto, você pode se envolver em seu Desenvolvimento no Github.
Com o WASSETTE inicialmente visando agentes focados em desenvolvedores, não há como não fazer parte de nenhuma plataforma de agente que use o MCP. Você pode usá -lo em uma plataforma de atendimento ao cliente, com componentes que estendem sua plataforma CRM em outros aplicativos ou em qualquer lugar que exact de funcionalidade que não seja fornecida pelos servidores MCP do núcleo que você está usando. É especialmente útil quando as funções necessárias são pequenas e não requerem muito código, mas ainda precisam ser seguras com acesso rigidamente controlado aos recursos.
É interessante ver uma ferramenta como essa no início da vida do moderno Agentes da IA. A combinação de código modular descoberta que é executado no seu contexto native, juntamente com a capacidade de adicionar rapidamente novas extensões, me lembra o trabalho que foi realizado em estruturas de agentes em desenvolvimento como Kaleida nos anos 90. Hoje, podemos construí -los em uma plataforma com uma caixa de areia native e não precisamos aprender um idioma totalmente novo. Com o WASSETTE, podemos desenvolver e implantar os recursos que precisamos ver em um servidor MCP, instalando -os apenas quando necessário.