开发与工程 ✓ 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
1 2 3 4 5 6
1信任安全12 / 25 · 2.4/5

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

2可靠稳定6 / 20 · 1.5/5

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

3适用触发8 / 15 · 2.7/5

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

4规范维护8 / 15 · 2.7/5

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

5有效结果6 / 15 · 2.0/5

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

6证据核验4 / 10 · 2.0/5

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

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

这个 Skill 能做什么,适合哪些场景?

该技能面向使用 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 状态码定位常见失败原因。

这个 Skill 有哪些优点和局限?

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

如何安装这个 Skill?

运行 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。安装技能集合的具体向导选项之外,源材料未说明其他专用安装步骤。

如何使用这个 Skill?

在已安装该技能的编码 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 CallingServer Java 遗留维护技能

帮助 Java 开发者维护旧版 CallingServer 代码并迁移到 Call Automation。

开发与工程 ✓ Microsoft · 官方

Azure 通信服务 Java 身份认证

为 Azure Communication Services Java 应用提供令牌认证、刷新与通信用户标识处理指导。

开发与工程 ✓ Microsoft · 官方

Azure 通信服务 SMS Java 技能

帮助 Java 应用通过 Azure 通信服务发送短信并处理投递结果。

开发与工程 ✓ Microsoft · 官方

Azure Event Grid Java 技能

帮助 Java 开发者使用 Azure Event Grid 构建事件发布、订阅与接收流程。

开发与工程 ✓ Microsoft · 官方

Azure 通信呼叫自动化 Java 技能

帮助 Java 开发者构建 IVR、呼叫路由、录音和语音交互工作流。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Java 技能

用 Java 查询 Azure Monitor 日志与资源指标。

开发与工程 ✓ Microsoft · 官方

Azure Batch Java 作业编排技能

帮助 Java 开发者在 Azure 上编排大规模并行与 HPC 批处理作业。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Java 技能

帮助 Java 开发者可靠地构建 Azure Blob Storage 文件存储功能。

开发与工程 ✓ Microsoft · 官方

Azure Web PubSub Java 技能

为 Java 实时应用提供 Azure Web PubSub 的消息推送、群组管理与访问令牌模式。

开发与工程 ✓ Microsoft · 官方

Azure AI 持久化智能体 Java SDK

帮助 Java 开发者构建、运行和管理带线程、消息与工具的持久化 Azure AI 智能体。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

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

开发与工程 ✓ Microsoft · 官方

Azure AI Vision Java 图像分析技能

帮助 Java 开发者快速构建图像描述、OCR、目标检测与智能裁剪应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Java 密钥管理

为 Java 编码代理提供 Azure Key Vault 与 Managed HSM 密钥管理和密码运算指导。

开发与工程 ✓ Microsoft · 官方

Azure Tables Java 开发技能

帮助 Java 开发者构建 Azure 表存储与 Cosmos DB 表 API 应用。

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 日志摄取

帮助 Java 应用通过 DCR 将自定义日志发送到 Azure Monitor。

开发与工程 ✓ Microsoft · 官方

Azure 文档智能 Java 技能

帮助 Java 开发者使用 Azure 文档智能提取和分类文档数据。

开发与工程 ✓ Microsoft · 官方

Azure AI VoiceLive Java 开发技能

帮助 Java 开发者构建基于 WebSocket 的实时双向 AI 语音对话。

开发与工程 ✓ Microsoft · 官方

Azure App Configuration Java 技能

指导 Java 应用集中管理配置、功能开关与发布快照。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Java 机密管理

帮助 Java 开发者安全存储、读取、轮换和恢复 Azure Key Vault 中的应用机密。

开发与工程 ✓ Microsoft · 官方

Azure AI Projects Java

帮助 Java 开发者管理 Azure AI Foundry 项目资源。

相关 Skills