开发与工程 ✓ Microsoft · 官方 azure-communication-servicesjava-sdkreal-time-chatchat-messagingread-receiptstyping-notificationsmaven

Azure Communication Chat Java

为 Java 开发者提供 Azure 实时聊天线程、消息与参与者管理的实现指南。

FollowSkills 评估 · FSRS-2.0
不推荐
44/ 100 五分制 2.2 / 5
信任安全12 / 25 · 2.4/5

技能明确使用 CommunicationTokenCredential 和用户访问令牌,并提示令牌过期;但未说明令牌应如何安全存储、不会记录或外传哪些聊天数据,也未要求对创建、删除线程、删除消息、添加或移除参与者等外部副作用进行用户确认,缺少回滚和最小权限说明,因此扣分。

可靠稳定6 / 20 · 1.5/5

覆盖客户端创建、线程、消息、参与者、回执、输入状态、分页和 HTTP 错误处理,且提供同步与异步示例;但主文档与 references 的依赖版本分别为 1.6.0 和 1.6.4,部分示例缺少必要导入(如 ChatAsyncClient、OffsetDateTime、Context),异常场景、重试、刷新令牌和 API 兼容性验证不足,因此静态可靠性受限。

适用触发8 / 15 · 2.7/5

目标用户、Java/Azure Communication Services 场景和触发短语较清楚,覆盖常见聊天功能;但未声明不适用场景、输入输出边界、服务配置前提、区域可达性或中文使用指导,且依赖 Azure 外部服务,因此扣分。

规范维护8 / 15 · 2.7/5

具备 front matter、MIT 许可证、版本字段、安装说明、分节示例、参考文件、错误处理和最佳实践;但版本信息不一致,没有变更日志、维护责任和更新路径,安全限制、常见问题和渐进式引用说明也不充分,因此扣分。

有效结果6 / 15 · 2.0/5

示例直接覆盖聊天应用的核心 CRUD 和实时交互任务,具有较高参考价值;但代码片段存在版本和导入不一致,缺少完整可构建项目、认证配置、服务端前提及关键边界处理,使用者仍需较多校正,故未超过静态上限并扣分。

证据核验4 / 10 · 2.0/5

技能文件和 references 提供了可审计的代码与错误码材料,仓库还展示了通用评估基础设施;但提供的材料没有该技能专属的提交测试、CI 覆盖或第三方执行结果,无法静态证明关键 API 示例可复现,因此扣分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 使用前应统一 azure-communication-chat 版本,并逐段核对当前 SDK API、导入和异步客户端类型。
  • 不要把用户访问令牌硬编码或打印到日志;应补充安全存储、刷新、撤销和最小权限指导。
  • 创建或删除线程、删除消息、修改参与者会产生不可逆或外部可见影响,应在执行前确认并说明缺少回滚机制。
  • 发送 HTML 和聊天内容可能引入内容注入、隐私和数据驻留风险;技能未提供过滤、编码或数据流边界说明。
  • 核心能力依赖 Azure Communication Services,需确认账户、权限、网络区域和中国大陆可达性。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 Azure Communication Services Chat Java SDK 构建实时聊天应用的开发者。它覆盖聊天线程创建与删除、消息发送与查询、消息更新与删除、参与者管理、已读回执和输入状态通知。内容包含 Maven 依赖、同步与异步客户端创建、分页、错误处理、消息类型和令牌管理建议。它适合已经使用 Azure Communication Services、需要 Java 示例代码的项目;但它不是完整应用模板,也未提供测试套件或部署流程。

指导开发者添加 com.azure:azure-communication-chat:1.6.0 Maven 依赖,使用 CommunicationTokenCredential 创建 ChatClient 或异步客户端,并连接 Azure Communication Services 端点。它提供创建、查询、更新和删除聊天线程的代码,演示发送文本或 HTML 消息、分页读取消息、获取单条消息、更新和删除消息。它还演示列出、添加和移除参与者,设置共享历史时间,发送和查询已读回执,发送输入状态通知,以及读取或更新线程主题。它说明如何根据 HTTP 状态码处理未授权、禁止访问和线程不存在等错误,并列出环境变量和令牌刷新、分页、系统消息过滤等最佳实践。

  1. 使用 Java 和 Azure Communication Services 构建项目讨论聊天室的后端开发者,可用它创建线程、添加 Alice 和 Bob 等参与者并发送消息。
  2. 需要企业聊天消息列表的 Java 开发者,可用它读取分页消息、识别发送者和时间,并处理已编辑或已删除消息。
  3. 开发已读状态和输入提示功能的团队,可参考已读回执与 typing notification 的调用方式。
  4. 需要控制新参与者可见历史范围的开发者,可在添加参与者时设置 shareHistoryTime。
  5. 需要排查聊天 API 认证或资源访问问题的开发者,可按 401、403 和 404 状态码定位常见失败原因。

优缺点一览

优点
  • 覆盖聊天线程、消息、参与者、已读回执和输入状态等核心操作。
  • 提供同步和异步客户端创建、分页和 HTTP 错误处理示例。
  • 示例直接对应 Azure Communication Chat Java SDK 类和 Maven 坐标。
  • 仓库采用 MIT 许可证,并处于持续开发和维护中。
局限
  • 内容依赖 CommunicationTokenCredential 和有效 Azure Communication Services 端点,未覆盖令牌签发或完整身份系统。
  • 未提供完整应用架构、前端实现、部署流程或测试套件。
  • 技能只聚焦 Java 聊天 SDK,不能代表仓库中其他技能的能力。
  • 源材料未证明示例已在特定 Java 版本、操作系统或生产环境中测试。

如何安装

运行 npx skills add microsoft/skills,在安装向导中选择 azure-communication-chat-java。README 说明技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/;该技能原始路径为 .github/plugins/azure-sdk-java/skills/azure-communication-chat-java/SKILL.md。安装技能集合的具体向导选项之外,源材料未说明其他专用安装步骤。

如何使用

在已安装该技能的编码 Agent 中输入类似“用 Java 和 Azure Communication Services Chat SDK 创建聊天线程、发送消息并实现已读回执”的请求。实现项目还需要加入 com.azure:azure-communication-chat:1.6.0 Maven 依赖,配置 AZURE_COMMUNICATION_ENDPOINTAZURE_COMMUNICATION_USER_TOKEN,并提供有效的 CommunicationTokenCredential。

常见问题

这个技能是否会自动创建 Azure Communication Services 资源?
不会。它提供客户端和聊天操作示例,但未说明资源创建、部署或令牌签发流程。
使用它需要什么权限或凭据?
ChatClient 需要 CommunicationTokenCredential,示例使用用户访问令牌;访问 Azure 端点还需要相应的有效服务配置。
消息读取失败时如何排查?
技能示例将 401 解释为令牌问题、403 解释为用户不在聊天线程中、404 解释为线程不存在。
它适合生产应用吗?
它可作为 SDK 集成参考,但生产应用仍需自行补充令牌刷新、身份管理、持久化、监控和测试。

同仓库的其他 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