用途
m365-agents-ts 是一份面向 TypeScript/Node.js 的技能资料,主题为 Microsoft 365 Agents SDK。其目标是帮助开发者构建面向 Microsoft 365、Teams 和 Copilot Studio 的企业级智能体,涵盖 Express 托管、AgentApplication 路由、流式响应,以及 Copilot Studio 客户端集成。
主要能力
资料展示的能力包括:
- 使用 Express 托管智能体(startServer)。
- 使用 AgentApplication 进行消息与会话事件路由,例如 onConversationUpdate、onMessage、onActivity。
- 结合 Azure OpenAI(通过 @ai-sdk/azure 与 ai 的 streamText)实现流式响应,包括反馈循环、AI 生成标签、敏感度标签和分段文本推送。
- 处理 invoke 活动并返回 InvokeResponse。
- 通过 CopilotStudioClient 以 Direct to Engine 方式连接 Copilot Studio,进行对话启动与提问。
- 通过 CopilotStudioWebChat 创建连接并渲染 WebChat。
使用方式
安装命令:
npm install @microsoft/agents-hosting @microsoft/agents-hosting-express @microsoft/agents-activity npm install @microsoft/agents-copilotstudio-client
环境变量包括:PORT、AZURE_RESOURCE_NAME、AZURE_API_KEY、AZURE_OPENAI_DEPLOYMENT_NAME、TENANT_ID、CLIENT_ID、CLIENT_SECRET,以及 Copilot Studio 相关的 COPILOT_ENVIRONMENT_ID、COPILOT_SCHEMA_NAME、COPILOT_CLIENT_ID、COPILOT_BEARER_TOKEN。
资料提示,在实现前应使用 microsoft-docs MCP 核对 AgentApplication、startServer 和 CopilotStudioClient 的最新 API 签名,并在 npm 上确认包版本。
核心工作流为 Express 托管的 AgentApplication:通过 agent.onConversationUpdate 处理成员加入并发送欢迎语,通过 agent.onMessage 处理消息并回显,最后调用 startServer(agent)。
流式响应部分使用 streamText 与 azure 模型,设置 feedback loop、AI 生成标签与敏感度标签,并通过 queueInformativeUpdate 与 queueTextChunk 推送文本,在 finally 中调用 endStream。
invoke 处理使用 Activity.fromObject 构造 InvokeResponse 并经 sendActivity 发送。
Copilot Studio 客户端部分使用 CopilotStudioClient,传入 settings(environmentId、schemaName、clientId)与 tokenProvider,调用 startConversationAsync 与 askQuestionAsync。WebChat 集成使用 CopilotStudioWebChat.createConnection,并通过 window.WebChat.renderWebChat 渲染。
适用场景
适用于需要构建面向 Microsoft 365、Teams、Copilot Studio 的企业级 TypeScript/Node.js 智能体的场景,包括 Express 托管、消息路由、流式回复、invoke 活动处理,以及与 Copilot Studio 的集成。
限制
资料明确说明:本目录内容不包含支撑路径 references/acceptance-criteria.md,该文件属于外部前置条件而非随附文件。依赖该路径的步骤应视为不可用,需向原始出处索取或确认已安装;在所需文件存在前,不应运行相关命令或声称已执行引用流程,也不应伪造缺失脚本或把同名无关文件当作等价物。资料还提示:仅在任务与上述范围明确匹配时使用该技能;输出不应替代针对具体环境的验证、测试或专家审查;若缺少必需输入、权限、安全边界或成功标准,应停止并请求澄清。此外,资料未提供该技能自身的收费、价格与平台支持信息。