技术与产品取舍

原生的体验。
清楚的执行边界。

把手机上的小事办妥,需要的不只是模型。小咪把授权、确认、设备动作和结果核对,放进同一条可追溯的过程。

各自负责,边界清楚。

iOS 原生 App

SwiftUI 呈现对话和卡片。应用服务协调状态,SwiftData 保存本地数据,Providers 封装网络与系统能力。

EventKit / ActivityKit / Speech

服务端授权与执行协调

Supabase Edge Functions 承担准入、同意、审批、对话与主动评估。持久化事件和断点支持同一轮恢复。

catpaw-api / catpaw-proactive

账号与权威记录

Auth 管身份,Postgres 保留会话、记忆和执行记录。模型请求经过配置的路线与同意约束。

Auth / Postgres / RLS

界面不直接授予权限,也不能因流式输出结束就认定事情办成。外部系统动作由设备执行,最终按系统回执核对。

一轮对话,如何变成一次行动。

校验准入模型理解工具提议用户确认设备执行回报结果从断点继续

审批绑定内容

操作名与参数绑定到当次审批。危险或未知工具按更严格的规则处理;用户同意后,设备才调用日历或提醒等系统能力。

暂停不等于重来

等待确认时保留本轮断点。收到结果后继续原来的过程;结果未知先核对,不默认再次写入外部系统。

即时体验,有持久的依据。

流式文字

实时预览让文字尽快出现,持久化事件承担恢复依据。连接断开后按原轮次和事件序号继续,失效预览不能覆盖保存的正文。

生成式 UI

模型选择受控组件与字段,App 负责渲染、校验和保存状态。确认、表单、选择、列表、进度、地点、日程都有明确协议。

主动与记忆

信号经过规则预筛、去重、评估、打扰门控,才成为卡片或通知。记忆影响提前量,卡片同时说明来源;离线场景有本地规则兜底。

路由与恢复

只使用已配置且符合授权条件的模型路线。故障转移受输出阶段约束;已经输出文字或触发工具时,不悄悄整轮重发。

模型顺序和额度属于可变配置。早期 brief、演示 deck 与当前版本存在差异,本站不把某条历史路由固定写成现行保证,也不宣称供应商零留存。

复用成熟基础,保留自己的产品判断。

基础 / 参考采用的思路小咪的取舍
Apple 系统框架EventKit、ActivityKit、WidgetKit、Speech、MapKit使用原生系统能力;不另造一套日历和通知系统。
SupabaseAuth、Postgres、Edge Functions身份、权限和权威记录放在现有服务端。
OpenMuseTaskWorker、租约与断点、审批绑定语义保留 MIT 声明及受控引入;不迁移其 React Native 客户端。
CopilotKit / OpenDots / OpenBot审批、继续执行与工具结果语义借鉴协议,不把完整 Web 或 Intelligence 运行时当作 SwiftUI 底座。
OpenIntelligentUI / AG-UI受控组件注册、schema 与事件分层自己实现 Swift typed registry 和原生 SSE 契约,不允许模型随意写 UI 代码。

选型来源为 deck 的固定版本源码核读,不代表对这些项目做过运行性能比较,也不代表采用它们全部托管服务。

聚焦手机里的日常小事。

通用 Agent 可以走向云电脑、网页操作和复杂长任务。小咪当前选择的是 iPhone 上的日程、提醒、公开链接整理和可追溯回执。取舍来自使用场景,不是功能排名。

ChatGPT Pulse ↗

借鉴主动呈现与用户反馈的思路。小咪将来由说明放在具体提醒建议旁。

Gemini Live ↗

关注自然交互与应用连接。小咪保持明确的确认卡和 iOS 系统动作边界。

Apple Intelligence ↗

关注原生系统体验与权限。小咪使用 EventKit、实时活动和系统授权融入 iPhone。

Samsung Now Brief ↗

借鉴在合适时机呈现有用信息。小咪让用户能从建议接着确认并完成操作。

deck 附录还讨论了 Grok Bot、Meta Muse 与 OpenAI dots。相关比较保留在原始 deck 中,不将未经本次重新核实的第三方功能表当作当前竞争优势。查看原始比较。

面向开发者,继续往下看。

架构与源码

原生 App、维护后端与独立官网,各自构建,各自部署。

阅读架构说明 ↗

内容依据:提供的 deck 第 14-19、24-25 页,以及 GitHub 66478f1。描述技术设计,不替代真机、真实模型或端到端产品验收。