开发与工程 ✓ Microsoft · 官方 azure-web-pubsubwebsocketreal-time-messagingpub-subtypescriptnode.jsexpress

Azure Web PubSub 实时通信技能

为 TypeScript 应用构建 WebSocket 实时消息、群组通信和通知功能。

FollowSkills 评估 · FSRS-2.0
不推荐
48/ 100 五分制 2.4 / 5
信任安全13 / 25 · 2.6/5

示例展示了 Microsoft Entra、托管身份和连接字符串等认证方式,并包含权限配置与连接管理;但未明确最小权限、敏感数据保护或用户确认要求,且将包含 access_token 的 token.url 直接 console.log,可能造成凭据泄露风险,因此扣分。

可靠稳定7 / 20 · 1.8/5

安装、服务端、客户端和 Express 路径结构清晰,异常与重连仅有简短提示;但 Express 示例引用未定义的 serviceClient 和 req.user,缺少输入校验、失败处理、版本兼容说明及可复现测试,静态证据不足,按上限保守评分。

适用触发10 / 15 · 3.3/5

名称、描述和触发场景明确,覆盖 WebSocket、发布订阅、群聊和实时通知;但未声明非适用范围、具体输入输出边界、浏览器与 Node.js 限制,也没有中文使用或中国大陆网络可达性说明,因此扣分。

规范维护8 / 15 · 2.7/5

文档按安装、认证、服务端、客户端、事件处理、类型和最佳实践分层,含 MIT、作者和版本元数据;但缺少变更记录、维护责任与更新路径、故障排查、已知限制和完整端到端示例,因此未满分。

有效结果6 / 15 · 2.0/5

示例覆盖令牌、广播、用户和连接发送、群组、连接管理、客户端事件与 Express 处理器,能够支持核心编码任务;但关键示例不完整且存在未定义变量,输出仍需较多人工核验和整合,静态评估不能证明可直接运行,因此扣分。

证据核验4 / 10 · 2.0/5

源文件提供固定修订上下文,仓库存在通用 CI、Vally 工作流和测试代码;但所给材料没有该技能专属 acceptance criteria、专属测试结果或第三方执行证据,无法独立复现关键路径,故仅给有限分数。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 不要在日志中输出 token.url 或任何包含 access_token 的完整 URL;应避免记录令牌并采用安全的密钥管理。
  • Express 协商示例中的 serviceClient 和 req.user 未定义,部署前必须补充认证中间件、服务客户端初始化、输入校验和错误响应。
  • 群组关闭、踢出连接和权限变更会产生外部影响;生产使用前应明确授权边界、审计和恢复策略。
  • 应根据实际 SDK 版本核对 API 签名、事件类型和包兼容性,并补充可运行测试。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 Azure Web PubSub TypeScript SDK 的开发者,涵盖服务端管理、客户端连接和 Express 事件处理。它提供身份验证、客户端访问令牌、广播、用户与连接定向消息、群组管理以及连接生命周期处理示例。内容也说明了 Microsoft Entra 凭据、自动重连、事件处理器注册和连接校验等实践。适合需要在 JavaScript 或 TypeScript 应用中加入聊天、频道通信或实时通知的团队。

指导开发者安装 @azure/web-pubsub、@azure/web-pubsub-client、@azure/identity 和 @azure/web-pubsub-express;配置 Web PubSub 连接字符串、端点及凭据环境变量;创建 WebPubSubServiceClient 和 WebPubSubClient;生成客户端访问令牌;向全部连接、指定用户、指定连接或群组发送消息;管理群组、连接和权限;注册 connected、disconnected、group-message、server-message 等事件处理器;通过 Express 中间件处理连接、用户事件及协商端点。

  1. TypeScript 后端开发者需要为聊天应用生成 WebSocket 客户端访问令牌并向用户或群组发送消息。
  2. 前端开发者需要让浏览器客户端连接 Azure Web PubSub、加入群组并接收实时群组消息。
  3. 产品团队需要实现按频道组织的群聊、主题通信或实时协作功能。
  4. 应用开发者需要向在线客户端推送实时通知,并根据用户、连接或 OData 条件筛选接收者。
  5. Express 应用需要在连接建立和自定义用户事件发生时执行授权与业务处理。

优缺点一览

优点
  • 覆盖服务端、客户端和 Express 事件处理器三类常见集成面。
  • 包含广播、用户消息、连接消息、群组、权限和连接关闭等具体 API 示例。
  • 提供连接字符串、Microsoft Entra Token Credential 和 AzureKeyCredential 三种认证示例。
  • 给出聊天、群组通信、实时通知和自定义事件处理的可复制 TypeScript 模式。
局限
  • 内容聚焦 SDK 集成,没有提供 Azure Web PubSub 资源创建或基础设施部署步骤。
  • 源材料未提供该单个技能的测试覆盖结果、错误重试策略或性能基准。
  • 未指定 SDK 或 Node.js 版本,采用前需要自行确认项目版本兼容性。
  • 示例依赖有效的 Azure Web PubSub 资源、端点或连接字符串以及相应凭据。

如何安装

安装整个技能集合:运行 npx skills add microsoft/skills,在向导中选择 azure-web-pubsub-ts。技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。在项目中安装运行时包:npm install @azure/web-pubsub @azure/identity;客户端使用 npm install @azure/web-pubsub-client;Express 事件处理器使用 npm install @azure/web-pubsub-express。源材料未提供该单个技能的独立安装命令或包版本。

如何使用

将技能加载到支持 Agent Skills 的编码代理后,可用类似“为我的 TypeScript 应用实现 Azure Web PubSub 群聊,包括服务端令牌协商、客户端自动重连、群组消息和 Express 连接鉴权”的提示触发。随后按技能示例创建服务端与客户端 SDK、设置 WEBPUBSUB_CONNECTION_STRINGWEBPUBSUB_ENDPOINT,并在调用 start() 前注册客户端事件处理器。生产环境可使用 ManagedIdentityCredential 或其他指定凭据。

常见问题

这个技能是否负责创建 Azure Web PubSub 资源?
不负责。它提供 SDK 使用、认证、消息、群组、连接管理和 Express 事件处理示例;源材料没有资源部署步骤。
本地开发和生产环境应使用什么认证方式?
示例建议本地开发使用 DefaultAzureCredential,生产环境使用 ManagedIdentityCredential 或其他指定凭据,并配置 AZURE_TOKEN_CREDENTIALS。
客户端是否支持断线重连?
最佳实践明确写出客户端默认自动重连,并提供 rejoin-group-failed 事件处理示例。
采用该技能需要承担哪些费用?
源材料未说明 Azure Web PubSub 或相关服务的费用,因此不能仅依据该技能判断成本。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills