SuperAPI AI 工具集

cometchat-flutter-v6-features

编程与开发

查看项目

更新于 10-21 20:28

技能介绍

用途

本技能用于在 CometChat Flutter v6 应用中启用某个具体功能,例如投票(polls)、贴纸(stickers)、协作白板/文档(collaborative whiteboard/document)、翻译(translation)、链接预览(link preview)、AI 智能回复(AI smart replies)等。它面向“打开某个能力”的请求,例如“添加投票”“启用贴纸”“打开翻译”“添加智能回复”“添加审核”“启用扩展”。

主要能力

  • 以 features.flutter-v6.json(技能包根目录)作为功能是否存在的唯一依据。用户请求的功能必须是其中的一个 id;若未列出,则说明该功能不存在,不得编造。
  • 根据功能类别与启用方式分支处理:
    • default / auto:默认已开启。检查 needs_stitching;若为 true,套件会渲染一个在宿主导航前无效的入口(如线程指示器、搜索框),需要接线或隐藏,不能留下死胡同。否则无需操作,可指向 ui_components 进行样式调整。
    • extension / dashboard-extension:仅需在 Dashboard 打开开关。确认开启后验证其出现位置(投票/贴纸/协作出现在输入框操作面板,链接预览/翻译/缩略图出现在消息气泡)。不编写注册代码。此类条目带有 auto_rendered_ui: true,其组件用于样式调整,而非手动挂载。
    • ai:Dashboard 开关(AI 功能可能需要在应用上配置 OpenAI key),且视图必须被呈现。需逐功能验证 v6 是自动渲染还是由宿主放置 CometChatAISmartRepliesView / CometChatAIConversationStarterView / CometChatAIConversationSummaryView。套餐限制通常未知,需验证而非断言。
    • package-install:calls 或 push,分别转向对应技能,不在此处重新推导。
    • dashboard-only(审核 moderation):完全在 Dashboard 配置,不生成任何审核 UI。CometChatMessageList 已渲染被屏蔽/审核内容,并已内置“举报消息”操作,手写会重复内置功能。
    • sdk-only(活动 campaigns、AI 智能体、高级审核):无套件组件,直接调用 Chat SDK,方法查阅核心技能的 docs-map.md 中的 SDK 文档。UI-Kit 优先,SDK 兜底。
  • 通过 SDK 发送消息时需自行发出事件。使用 CometChat.send*Message 而非 CometChatMessageComposer 发送的消息不会自动到达套件组件,因为 CometChat 不会通过实时监听器回显自己发送的消息。需在 onSuccess 中发出事件,示例代码见资料。
  • 仅接线条目中指定的 ui_components,属性从组件的 .md 对应文件获取。
  • 对标记 VERIFY 的条目(AI、notification-feed、campaigns、search dashboard-gating)必须在陈述启用步骤前对照实时文档确认。

使用方式

  1. 前置条件:核心技能已完成(安装、凭据、init→login→render)。本技能假定核心技能已就绪。
  2. 在 features.flutter-v6.json 中查找请求对应的 id。未列出则说明不存在。
  3. 根据类别与启用方式分支处理(见上)。
  4. 大多数扩展的正确做法是:在 Dashboard 打开开关,不写任何代码。在 v6 应用中写入 v5 风格的注册代码是缺陷,而非无害的空操作。若用户已有此类代码,属于迁移问题。
  5. 验证功能在运行中的应用确实生效(投票能发送、贴纸出现、翻译显示在操作面板),且所需的 Dashboard 开关已打开。渲染为空说明开关未开,而非代码问题。

适用场景

  • 用户希望在 Flutter v6 应用中开启某个 CometChat 功能。
  • 需要判断某功能是否默认开启、是否需要 Dashboard 配置、是否需要安装包或仅能通过 SDK 调用。
  • 需要避免 v5 扩展注册代码、重复挂载自动渲染组件、编造不存在功能等常见错误。

限制与注意事项

  • v6 已删除整个 v5 扩展架构:没有 UIKitSettings.extensions、CometChatUIKitChatExtensions、DataSource、ChatConfigurator、*ExtensionDecorator、CometChatUIKit.getDataSource()。Dashboard 启用的扩展会通过 MessageTemplateUtils 自动呈现(输入框操作面板、消息气泡),无需客户端注册代码。
  • 以下功能在 v6 中默认已开启,不应作为“添加功能”提供:reactions、mentions(含 @all)、quoted reply、threaded replies、read receipts、typing indicators、presence、mark-as-unread、report message、media sharing、voice notes。它们是核心消息功能,不是扩展。
  • 已弃用,不应建议:email-replies、e2e-encryption。
  • 常见陷阱:编写 v5 扩展注册代码;手动挂载 auto_rendered_ui 组件(审核视图、标记对话框、贴纸键盘);声称 oracle 中不存在的功能;硬编码 Dashboard 导航路径(会失效,需实时获取);将 reactions/mentions/threads 作为附加功能提供;在未打开 Dashboard 开关时渲染功能组件导致空白;假设 AI 功能在所有套餐可用(受套餐限制,需验证)。
  • 精确的 Dashboard 步骤来自功能的 docs_topic,需实时获取,因为 Dashboard 路径会失效。组件名称来自 catalogs/flutter-v6.json。
  • 完成构建后,以共享的三选项可选菜单结束并等待:① 添加另一个功能 · ② 自定义主题 · ③ 手动测试。