用途
Stream Android 是一个用于在 Android 应用中构建和集成 Stream Chat、Video、Feeds 的技能路由器与执行流程。它针对 Jetpack Compose、Android Studio 和 Gradle 项目工作,包括 Stream 包的安装与接入。
该文件是单一入口点:负责意图分类、本地项目探测,以及 Android 应用中 Stream 工作的模块指针。规则集中在 RULES.md 中,每会话阅读一次。
主要能力
- 意图分类:在任何工具调用之前,仅根据用户输入判断所属轨道(Track)。
- 四条工作轨道:
- Track A — 新建应用(如“Build me a new Android app”“create a Compose app” + Stream 产品)。
- Track B — 已有应用集成(如“Add/integrate Stream into this app”)。
- Track C — 参考查询(如带 “docs”“documentation” 字样,或“How do I {X} in Compose/XML/Android?”)。
- Track D — 引导/安装配置(如“Install Stream packages”“set up Stream in Android Studio”,仅需安装与接线)。
- 歧义处理:若在构建/集成与参考查询之间不明确,会提一个简短问题并等待回答。
- 正交标志:
- 迁移标志:从 Sendbird 迁移时运行 sendbird-migration.md,检测集成形态并选择三条路径之一(UIKit → Stream Compose 内置屏幕;自定义 UI → 仅替换 SDK/状态层;XML UIKit → 在现有 fragment 中承载 Stream Compose),并保留应用架构与导航,仅改动 SDK 触点。其关键部分是 gap-handling 协议:对每个源屏幕,要么接入 Stream 内置等价物(GroupChannelInfoScreen/DirectChannelInfoScreen),要么对 Stream 未内置的屏幕(如频道创建)明确告知非开箱即用、给出公开 cookbook 链接并提供基于 cookbook 构建的选项,绝不静默丢弃或凭空创造屏幕。
- 样式深度标志:若请求携带目标外观(截图、Figma 画框,或“让聊天看起来像 WhatsApp / Telegram / Slack”),在编写 UI 代码前运行 design-matching.md。它将参考拆解为区域清单(header、composer、时间戳与已读回执位置、气泡形状/尾巴、频道列表行、日期分隔符、附件等),并按两条轴路由差异:主题 token(StreamDesign.Colors/Typography)或 ChatComponentFactory 槽位(结构)。文档提示的常见陷阱包括:覆盖复合槽位会静默丢失默认绘制的子功能;消息头尾部槽位默认是频道头像;composer 的行数/字段形状/对齐差异远大于图标差异;DM 列表中不应加 # 前缀、header 中不应标题为 “Channel”。匹配完成的判定是构建、植入触发每个区域的数据、在真实导航路径上逐区域比较并迭代。
使用方式
- Step 0:意图分类(强制首步,不可跳过)。
- Step 0.5:凭证、token 与种子数据(仅 Track A/B/D)。顺序为:意图分类 → Step 0.5 → 项目信号探测 → 轨道工作。按 credentials.md 从 dashboard 收集 Stream API key(或从用户处获取)、通过 Stream CLI 生成用户 token(或接受用户提供的),并运行产品特定设置(Chat:可选种子频道;Feeds:确认 feed groups;Video:无需,通话是临时的)。从 getstream env 输出接线 API key(如 BuildConfig.STREAM_API_KEY),并在代码片段中使用真实用户 token,永不使用占位字符串。
- 项目信号:只读本地探测,用于检测是否处于 Android Studio / Gradle 项目、Kotlin 模块或空目录,结果保存在会话上下文中,除非用户切换目录或项目形态明显变化。
- 模块映射:Track A/B 使用 builder.md + sdk.md + 相关参考文件;Track C 使用 sdk.md + 相关参考文件;Track D 使用 builder.md + sdk.md。
- 参考布局:实时文档通过 references/DOCS.md 中的 llms.txt 清单查找。AI runbook(LLM 助手、流式回复、代理)位于 ai-integration.md。共享 Android/Kotlin 模式在 sdk.md。设计匹配流程在 design-matching.md。产品与 UI 层细节位于 references/ 下,采用可扩展的扁平命名:参考为 references/<PRODUCT>-<UI_LAYER>.md,蓝图为 references/<PRODUCT>-<UI_LAYER>-blueprints.md。当前已提取模块包括 Chat+Compose、Chat+XML、Video+Compose、Feeds+Compose。Feeds 没有预构建 UI 组件,FEEDS-COMPOSE.md 覆盖无头数据 SDK(FeedsClient、FeedState、ActivityState),FEEDS-COMPOSE-blueprints.md 是由这些状态流驱动的自定义 Composable 脚手架。
适用场景
- 新建 Android 应用并集成 Stream 产品。
- 在已有 Android 应用中接入 Stream Chat/Video/Feeds。
- 查询 Stream Android SDK 的 API、组件或用法。
- 仅需安装与配置 Stream SDK。
- 从 Sendbird 迁移到 Stream Chat。
- 按参考设计还原聊天 UI。
- 在 Android 应用中集成 AI 助手、LLM 聊天与流式回复。
限制
- 所有操作规则集中在 RULES.md,每会话阅读一次。
- Track A/B/D 必须先完成凭证收集,之后才能运行项目信号命令。
- 未捆绑的产品/UI 层组合(如 Video XML、Feeds XML)会明确说明,而不是编造 API 细节。
- Feeds 无预构建 UI 组件。
- 若尚未有 Android 应用,会提示用户先在 Android Studio 中创建。
- 该资料未提供收费、价格、平台支持范围或效果信息,这些事实暂未提供。