Full summary
本视频分享了在移动设备上基于 Pi Durable(应为 Pine Durable,原文存在多处拼写错误如 'point durable'、'pdriable' 等)开发智能体(Agent)的实践体验。作者小毛头开发了名为 Mo 的 React Native 移动应用(基于 Expo),将 Pine Durable 核心逻辑本地运行,实现对话历史持久化、重复任务调度、URL 安装 Skill、以及通过 ExecutionEnv 接入设备文件系统(read/write/edit 工具)。项目揭示了框架与平台的分工:Pine Durable 负责模型调用、工具编排与状态管理;Expo 提供数据库、网络、文件系统、密钥存储等原生能力;应用层负责 UI、工作区分配、Skill 加载策略及用户状态表达。作者开源了可复用的适配包
pdurable-xbox-env,封装移动端执行环境。同时指出当前限制:无 Python/Shell 脚本支持、Skill 依赖不自动安装、检查点仅保存对话历史而非文件状态、后台长任务易被系统中断等,并探讨了本地前台服务 vs 远程 Host 的架构权衡。
1. 项目背景与目标
作者介绍自己为小毛头,说明本项目旨在体验 Pine Durable 在移动端构建 Agent 的开发流程,并探索移动设备作为 Agent 运行平台的能力边界。
2. Mo 应用概览
Mo 是一个基于 Pine Durable 开源的移动应用,已在 iOS 模拟器完成集成与任务测试,核心目标是验证对话、重复任务、Skill 安装及文件读写等基础功能在移动端的支持情况。
3. 架构分工:核心与平台
Mo 将 Pine Durable 核心逻辑嵌入手机 JavaScript 引擎(Hermes)运行;状态存于本地数据库;文件操作通过 Expo 接入设备接口;模型请求仍发往远程服务商。
4. 对话与检查点持久化
检查点仅保存对话历史,恢复时创建新绘画并初始化空工作区;原绘画文件保留,导致历史消息与实际文件状态可能不一致。
5. 重复任务机制
任务分‘运行’与‘等待’两阶段,使用稳定请求 ID 支持重试;中断后仅补发一次,不累积错失轮次;停止操作需区分调度与前台执行。
6. Skill 加载与限制
支持通过 HTTPS URL 下载并启用单个 Skill,但当前不支持 Python/Shell 脚本执行、依赖安装或配套文档下载,独立文本指令仍可用。
7. 认证方式探索
已实验接入 ChatGPT 订阅 API,支持设备码授权(浏览器授权 + 应用轮询)和回调方式(本地监听 + SecureStore 保存密钥)。
8. UI 与交互设计
界面保持简洁,消息流为主;通过长按消息实现重新发送;菜单与布局由应用控制,框架不耦合 UI。
9. 文件工具移动端适配
复用 Pine Durable 的 read/write/edit 工具,通过 ExecutionEnv 接入 Expo FileSystem;每个对话分配独立工作区(如 workspace/notes/todo.md),路径抽象屏蔽平台差异。
10. pdurable-xbox-env 开源包
作者开源该包,为 Expo 应用提供基于设备文件系统的 ExecutionEnv 实现,负责工作区创建、文件 I/O 及接口行为,使其他应用可复用此适配层。
11. 开发体验核心:职责分离
清晰划分框架能力(工具逻辑、状态管理)、平台适配(文件、网络、密钥)、应用规则(工作区分配、Skill 启用策略),便于定位问题与复用。
12. 移动端能力延伸方向
除文件外,搜索可连网络服务、语音连设备接口、终端任务选合适执行环境;每接入新功能都需观察接口复用性与应用补充点。
13. 后台长任务挑战
当前 Mo 主要在前台执行;切换应用或锁屏可能导致任务中断;虽状态可恢复,但持续执行需系统级支持(如 Android 前台服务、iOS Continued Processing)或转向远程 Host。
14. 开放讨论与结语
作者提出关键问题:用户更倾向本地强恢复,还是交由远程 Host 承载长任务?邀请观众分享后台实践、限制与方案,并预告后续内容。