用途:把任意 AIAgent 暴露为 AG-UI 协议服务端,并让远程客户端通过服务器发送事件(SSE)消费。AG-UI 标准化了消息、工具调用、文本增量、状态更新与错误的传输格式,便于前端、移动端和 CLI 客户端与兼容的智能体服务器互通。
主要能力:SDK 包含两部分——Microsoft.Agents.AI.Hosting.AGUI.AspNetCore 提供 app.MapAGUI(endpoint, agent) 扩展,将 AIAgent 转为基于 SSE 的 AG-UI 服务端端点;Microsoft.Agents.AI.AGUI 提供 AGUIChatClient,连接 AG-UI 端点并把流以 AgentResponseUpdates 形式经常规 AIAgent API 呈现。支持前端工具(客户端注册的 AIFunctionFactory 工具由服务端模型调用、客户端本地执行并回传结果,用于生成式 UI 与浏览器侧动作)和后端工具(服务端执行,客户端只看到文本增量)。
使用方式:服务端安装 Microsoft.Agents.AI.Hosting.AGUI.AspNetCore 等包,调用 builder.Services.AddAGUI() 和 app.MapAGUI(AgentName, "/"),可配合 .WithInMemorySessionStore() 做会话存储;客户端安装 Microsoft.Agents.AI 与 Microsoft.Agents.AI.AGUI,用 AGUIChatClient(httpClient, serverUrl) 后 .AsAIAgent(...) 创建智能体并 RunStreamingAsync 流式消费。需要 .NET 10 SDK、Azure OpenAI 部署(或兼容 IChatClient 的模型)以及 az login。后端也可选用默认 DefaultAzureCredential;AG-UI HTTP 通道本身是普通 HTTP/SSE,生产环境需自加认证中间件。AOT 场景需用 JsonSerializerContext 声明所有跨线类型。
限制:资料显示当服务端 AIAgent 基于 GitHub Copilot CLI 的 CopilotClient.AsAIAgent 构建时,CLI 工具列表在 SessionConfig 时冻结,客户端通告的前端工具不会被合并进运行中的 Copilot 会话,模型可能凭空声称已调用工具而不派发 FunctionCallContent;此时需用非 AG-UI 的并行 HTTP 路由提供可机器校验的证据。直接添加 GitHub.Copilot.SDK 作为 PackageReference 会因 CopilotCliVersion 未设置导致还原失败,应使用框架包。收费与价格信息暂未提供。