prd
秘书台 — 产品需求文档(PRD)
版本:v1.0 | 日期:2026-02-16 | 作者:AI 产品团队 | 状态:待评审
1. 产品概述
1.1 产品名称
秘书台
1.2 一句话定义
OpenClaw 的专属移动端前端 App —— 让老板在手机上随时随地和自己的 AI 秘书对话、派任务、看执行进度。
1.3 产品背景
OpenClaw 是一套运行在用户自己服务器上的 AI Agent 平台,具备强大的任务执行能力:操控浏览器、发社交媒体、管理日程、写代码、做网页等。但目前主要通过 Web 界面或命令行交互,对移动端极不友好。
中小企业老板——我们的核心目标用户——他们最常用的设备是手机。他们不懂技术,不会 SSH,不会配置服务器,但迫切需要一个"能真正干活的 AI 助手"。秘书台 就是为了解决这个缺口:
- 手机上丝滑的对话体验(流式输出、语音输入、图片发送)
- "一键部署"消除技术门槛(交 ¥10,填个 IP,全自动装好 OpenClaw)
- 管理多个 AI 秘书(多个 OpenClaw 实例)
- 实时展示子 Agent 执行进度(让老板知道 AI 在干啥)
1.4 目标用户
| 用户群体 | 占比 | 特征 |
|---|---|---|
| 中小企业老板 | 40% | 有管理需求,需要助手处理琐事,预算有限 |
| 个体户/电商卖家 | 30% | 一人多角色,需要自动化营销、客服 |
| 自由职业者 | 20% | 设计师、写手、咨询师,需要 AI 辅助创作 |
| 技术爱好者 | 10% | 已有 OpenClaw,想要移动端 |
共同特征:技术水平偏低("技术小白");手机是主要工作设备;对隐私敏感,希望数据可控;价格敏感,不愿高额月费。
1.5 核心价值主张
| 价值 | 说明 |
|---|---|
| 流式对话 | 实时逐字输出,像真人打字一样自然 |
| 真正能干活 | 不只聊天,能发小红书、管日程、做网页、发邮件 |
| 数据自主 | 所有对话、数据存在用户自己的服务器上 |
| 多秘书管理 | 一个 App 管理多个 OpenClaw 实例 |
| 零门槛部署 | ¥10 一键部署,完全不需要技术背景 |
1.6 与豆包/Kimi 的核心区别
| 维度 | 豆包/Kimi | 秘书台 |
|---|---|---|
| 本质 | 聊天机器人 | AI Agent 控制台 |
| 能力 | 回答问题、写文案 | 回答+执行任务(发帖、建站、管日程) |
| 数据 | 存在大厂服务器 | 存在用户自己服务器 |
| 定制 | 几乎不能 | 完全可定制(技能、人设、模型) |
| 可见性 | 黑箱 | 子 Agent 进度面板,实时透明 |
| 模型 | 只能用自家模型 | 可接入任何模型(通过 ycapi) |
| 价格 | 免费(有限)或包月 | ¥10 一次性部署费 + 按量付费 Token |
2. 用户角色与场景
2.1 王姐 —— 餐饮店老板
画像:38岁,二线城市川菜馆,20个员工,每天忙到晚上11点,手机处理一切事务,不懂任何技术术语。
痛点:想在小红书做推广不会写文案;员工排班手写出错;顾客投诉回复不及时;想做会员系统无从下手。
场景A — 上班路上发小红书:
王姐打开秘书台说:"帮我发一条小红书,推广新出的酸菜鱼套餐,两人份88元,附上这张照片。" 语音转文字发给 OpenClaw。子 Agent 面板显示:✅生成文案(3秒) → 🔄优化图片(进行中) → ⏳发布到小红书(等待中)。30秒后 AI 回复:"已发布!标题'老板娘力荐!酸菜鱼双人套餐88元',链接xxx。需要同步到抖音吗?"
场景B — 关店后排班:
"帮我排下周员工班表,小李周三请假。" AI 生成 Markdown 表格,确认后自动发到企业微信群。
解决:用说话做推广,排班自动化,每天节省2-3小时。
2.2 小陈 —— 电商卖家
画像:28岁,拼多多+1688两个店,一个人打理,每天50-100条客服消息,不会编程。
痛点:客服消息回不过来影响评分;商品文案优化请人太贵;竞品分析靠手动;数据报表手工做。
场景A — 碎片时间处理客服:
等公交时:"帮我看看拼多多有没有新客服消息,挑出需要我亲自回复的。" AI 通过浏览器自动化扫描,自动回复18条常见问题,5条需人工确认逐条展示。
场景B — 晚上优化商品:
发竞品截图:"帮我分析这个竞品卖点,优化我商品的标题和描述。" AI 通过图片识别分析,生成优化前后对比表。
解决:客服自动化80%,每天省3-4小时;文案专业优化省去外包费。
2.3 阿杰 —— 自由职业设计师
画像:32岁,前 UI 设计师自由接单,同时服务5-8个客户,会基本 HTML/CSS 不会后端。
痛点:项目多记不清进度;需要做展示页面不会后端;发票合同管理混乱。
场景A — 客户会议后:
语音记录:"刚和张总聊完,企业官网,深蓝+金色,预算2万,下周三初版,帮我记下来创建任务。" AI 创建结构化项目记录+日历提醒。
场景B — 快速建站:
"用上次模板给张总做落地页,深蓝金色配色,内容从他们官网抓。" 子 Agent 协作:抓取内容→生成HTML→部署预览。5分钟出链接。
解决:项目管理系统化;简单建站一句话搞定。
2.4 李总 —— 小公司 CEO
画像:45岁,20人贸易公司,70%时间在外面,只会用微信钉钉。
痛点:出差时不了解运营数据;审批邮件处理不及时;周报没时间写。
场景:
高铁上:"查这个月销售数据,关注华东区。" AI 连接 ERP 生成报告。 周五:"帮我写周报,主要内容:周一签了200万单子、华东增长15%、面试了两个人。" 2分钟完成,自动发邮件。
2.5 小美 —— 个体微商
画像:26岁,护肤品微商,500+客户微信,所有工作在手机上。
痛点:每天写朋友圈文案痛苦;客户跟进全靠记忆。
场景:
"帮我写3条今天的朋友圈,推美白精华、客户反馈、日常生活,风格接地气。" AI 生成3条文案,确认后复制粘贴。
3. 产品架构
3.1 整体架构图
┌──────────────────────────────────────────────────────┐
│ 用户的手机 │
│ ┌────────────────────────────────────────────────┐ │
│ │ 秘书台 App (Flutter) │ │
│ │ ┌─────────┬─────────┬─────────┬────────────┐ │ │
│ │ │ 对话界面 │秘书管理 │一键部署 │ 个人中心 │ │ │
│ │ └────┬────┴────┬────┴───┬─────┴─────┬──────┘ │ │
│ └───────┼─────────┼────────┼───────────┼─────────┘ │
└──────────┼─────────┼────────┼───────────┼─────────────┘
WSS │ REST│ HTTPS│ HTTPS│
▼ ▼ │ ▼
┌─────────────────────────┐ │ ┌────────────────────────┐
│ 用户的 OpenClaw 服务器 │ │ │ 秘书台后端(我们的) │
│ │ │ │ │
│ OpenClaw Core │ │ │ 用户账号系统 │
│ - AI Agent + 子Agent │ │ │ 部署任务队列 │
│ - 技能系统 │ │ │ 支付系统(微信¥10) │
│ - 浏览器控制 │ │ │ 返佣追踪 │
│ - 文件管理 │ │ └───────────┬────────────┘
└────────────┬────────────┘ │ │SSH(部署时)
▼ │ ▼
┌──────────────┐ │ ┌───────────────────┐
│ ycapi │◀──────┘ │ 用户新购的服务器 │
│ Token供应 │ └───────────────────┘
│ 多模型接入 │
└──────────────┘3.2 组件职责
| 组件 | 职责 | 技术栈 |
|---|---|---|
| 秘书台 App | UI、对话交互、本地缓存 | Flutter (Dart) |
| 用户 OpenClaw | AI 推理、任务执行、数据存储 | Node.js (已有) |
| 秘书台后端 | 账号、部署、支付 | Node.js + PostgreSQL + Redis |
| ycapi | Token 中转、多模型、计费 | 已有服务 |
4. 功能列表(按优先级)
P0 — MVP 必须有
4.1 用户系统
手机号注册/登录:输入手机号 → 短信验证码(60秒冷却) → 登录/自动注册。短信服务:阿里云SMS。验证码5分钟有效,每日每号限10次。
微信登录:跳转微信授权 → UnionID → 登录。首次需绑定手机号。
用户资料:昵称(默认"用户"+尾号4位)、头像、手机号、微信UnionID。
4.2 秘书配对
配对流程:
- 输入:服务器地址(IP/域名) + 端口(默认3000) + API密钥
- 连接测试:
GET https://{addr}:{port}/api/health+ Bearer Token,超时10秒 - 成功:获取秘书信息 → 保存配对 → 建立 WebSocket → 进入对话
- 失败:具体错误提示 + 重试/帮助按钮
二维码配对:OpenClaw Web 界面展示二维码(含地址+端口+临时Token),App扫码自动配对。有效期5分钟。
断线重连:指数退避(1s→2s→4s→8s→16s→每30s)。状态指示🟢🟡🔴。心跳30秒。Android前台服务保活,iOS推送唤醒。
4.3 对话界面(核心)
消息发送:
- 文字:多行输入框,支持表情
- 语音:长按录音 → 讯飞/百度语音转文字 → 可编辑后发送
- 图片:拍照/相册,最多9张,压缩上传至 OpenClaw
- 粘贴板:检测到内容时提示发送
流式输出(最关键体验):
WebSocket 协议:
→ {"type":"message","content":"帮我写文章","session_id":"xxx"}
← {"type":"stream_start","message_id":"msg_001"}
← {"type":"stream_chunk","content":"好的","message_id":"msg_001"}
← {"type":"stream_chunk","content":",我来","message_id":"msg_001"}
...
← {"type":"stream_end","message_id":"msg_001","usage":{"tokens":1234}}
渲染优化:
- StringBuffer 累积,每16ms(一帧)刷新UI
- Markdown 增量解析
- 代码块流式时纯文本,结束后语法高亮
- 自动滚动,用户上滑时暂停Markdown 渲染:标题H1-H3、粗体/斜体、列表、代码块(语法高亮+复制按钮)、行内代码、表格(横向滚动)、链接、图片(点击放大)、引用、分割线。Flutter 用 flutter_markdown + flutter_highlight。
消息交互:长按→复制/转发/收藏/删除;点击代码块复制;链接外部打开;图片全屏缩放;下拉加载历史。
历史记录:本地 SQLite 缓存最近1000条,完整历史在 OpenClaw 服务器。分页加载(每页50条)。API: GET /api/messages?session_id=xxx&before=msg_id&limit=50
会话管理:新建会话(+号);侧滑显示历史;AI自动生成标题可手动改;左滑删除(二次确认)。
4.4 子 Agent 进度面板
秘书台最大差异化功能 —— 让用户"看到 AI 在干什么"。
触发:AI回复含子Agent信息时,消息底部显示"🔧 查看执行详情(N个任务)",点击展开。
面板UI:
┌──────────────────────────────────────┐
│ 🔧 执行详情 ▼收起 │
├──────────────────────────────────────┤
│ ✅ 生成小红书文案 2.3秒 │
│ └─ 完成:已生成500字文案 │
│ │
│ ✅ 优化图片 4.1秒 │
│ └─ 完成:添加滤镜+文字水印 │
│ │
│ 🔄 发布到小红书 进行中... │
│ └─ 正在登录小红书账号... │
│ └─ ████████░░ 80% │
│ │
│ ⏳ 同步到抖音 等待中 │
└──────────────────────────────────────┘实时更新协议:
← {"type":"agent_start","agent_id":"a1","name":"生成文案","parent_msg":"msg_001"}
← {"type":"agent_progress","agent_id":"a1","progress":50,"detail":"正在撰写..."}
← {"type":"agent_complete","agent_id":"a1","duration_ms":2300,"result":"已生成500字文案"}
← {"type":"agent_error","agent_id":"a1","error":"登录失败"}详细日志:点击子Agent展开日志。分级:INFO(蓝)/WARN(黄)/ERROR(红)。错误时"重试"按钮。日志可长按复制。
4.5 一键部署
面向没有 OpenClaw 的新用户,从0到1完整引导。
7步流程:
步骤1:介绍页
"秘书台需要一台服务器来运行你的AI秘书。跟着教程,10分钟搞定!"
[开始部署] [已有OpenClaw,直接配对]
步骤2:购买服务器教程
推荐腾讯云轻量服务器(含推广链接→返佣)
最低:2核4G,¥50/月
图文教程 + 视频教程(嵌入播放器)
[我已购买,下一步]
步骤3:支付部署费
"一键部署服务费:¥10(一次性)"
"包含:自动安装OpenClaw + 配置AI模型 + 预装常用技能"
[微信支付 ¥10]
步骤4:填写服务器信息
服务器IP:[___________]
SSH端口(默认22):[_22_]
root密码:[___________] 👁
⚠️ 密码仅用于部署,完成后不保存
步骤5:部署中(实时进度)
✅ 连接服务器成功
✅ 安装 Docker 环境
🔄 下载 OpenClaw 镜像 (72%) ████████░░░░
⏳ 配置 AI 模型(ycapi)
⏳ 预装常用技能
⏳ 安全设置
步骤6:部署完成
🎉 你的AI秘书已就绪!
秘书名称:我的秘书
服务器:xxx.xxx.xxx.xxx:3000
[进入对话]
步骤7:自动配对,跳转对话界面部署失败处理:显示失败原因 + 常见问题FAQ + 人工客服入口 + 重试按钮。
4.6 多秘书管理
秘书列表:
┌──────────────────────────────────────┐
│ 我的秘书 [+ 添加]│
├──────────────────────────────────────┤
│ ┌────┐ │
│ │ 🤖 │ 工作秘书 🟢 在线 │
│ └────┘ 192.168.1.100:3000 │
│ 最后活跃:2分钟前 │
├──────────────────────────────────────┤
│ ┌────┐ │
│ │ 🏠 │ 生活助手 🔴 离线 │
│ └────┘ my-server.com:3000 │
│ 最后活跃:3小时前 │
├──────────────────────────────────────┤
│ ┌────┐ │
│ │ 📱 │ 电商客服 🟢 在线 │
│ └────┘ 10.0.0.5:3000 │
│ 最后活跃:刚刚 │
└──────────────────────────────────────┘功能:
- 点击秘书进入对话
- 长按:编辑名称/头像、删除
- 右上角"+":添加(手动配对 / 一键部署 / 扫码配对)
- 在线状态实时更新(心跳检测)
- 拖拽排序
P1 — 第二版
| # | 功能 | 说明 |
|---|---|---|
| 7 | 发送视频 | 拍摄/相册选择,压缩上传 |
| 8 | 发送文件 | PDF/Excel/Word,文件选择器 |
| 9 | 技能展示页 | 展示秘书能做什么(全免费),分类展示 |
| 10 | Token充值 | 跳转ycapi或App内支付,余额查询 |
| 11 | 推送通知 | 任务完成、提醒、秘书消息,FCM+厂商推送 |
| 12 | 语音播放 | AI回复可TTS播放,支持调速 |
| 13 | 暗色模式 | 跟随系统/手动切换 |
P2 — 第三版
| # | 功能 | 说明 |
|---|---|---|
| 14 | 语音实时对话 | 类似Siri,全双工语音交互 |
| 15 | 快捷指令 | 预设常用命令("查销售数据""写周报") |
| 16 | 秘书市场 | 分享/下载别人配置好的秘书模板 |
| 17 | 团队协作 | 多人共用一个秘书,权限管理 |
| 18 | 桌面端 | Windows/Mac(Flutter Desktop 或 Electron) |
5. 页面设计
5.1 启动页/引导页(首次打开,3屏)
┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ │ │ │ │ │
│ ┌──────────┐ │ │ ┌──────────┐ │ │ ┌──────────┐ │
│ │ 🤖 │ │ │ │ 🔧 │ │ │ │ 🔒 │ │
│ │ 插图1 │ │ │ │ 插图2 │ │ │ │ 插图3 │ │
│ └──────────┘ │ │ └──────────┘ │ │ └──────────┘ │
│ │ │ │ │ │
│ 你的专属AI秘书 │ │ 不只聊天,能干活 │ │ 数据在你自己服务器 │
│ │ │ │ │ │
│ 在手机上和AI秘书 │ │ 发小红书、排班、 │ │ 所有对话和数据 │
│ 对话,派任务, │ │ 做网页、写报告… │ │ 存在你的服务器上 │
│ 看执行进度。 │ │ 一句话搞定。 │ │ 安全可控。 │
│ │ │ │ │ │
│ ● ○ ○ │ │ ○ ● ○ │ │ ○ ○ ● │
│ │ │ │ │ │
│ [跳过] │ │ [跳过] │ │ [开始使用] │
└────────────────────┘ └────────────────────┘ └────────────────────┘5.2 登录/注册页
┌────────────────────────────┐
│ │
│ 秘书台 Logo │
│ 你的专属AI秘书 │
│ │
│ ┌──────────────────────┐ │
│ │ 🇨🇳 +86 │ 手机号 │ │
│ └──────────────────────┘ │
│ ┌──────────────────────┐ │
│ │ 验证码 │[获取验证码]│ │
│ └──────────────────────┘ │
│ │
│ ┌──────────────────────┐ │
│ │ 登录 / 注册 │ │
│ └──────────────────────┘ │
│ │
│ ─────── 或 ─────── │
│ │
│ ┌──────────────────────┐ │
│ │ 🟢 微信一键登录 │ │
│ └──────────────────────┘ │
│ │
│ 登录即同意《用户协议》 │
│ 和《隐私政策》 │
└────────────────────────────┘5.3 首页(秘书列表)
┌────────────────────────────┐
│ ≡ 秘书台 ⚙️ │
├────────────────────────────┤
│ │
│ ┌────────────────────────┐│
│ │🤖 工作秘书 🟢在线 ││
│ │ 192.168.1.100:3000 ││
│ │ 最后活跃:2分钟前 ││
│ └────────────────────────┘│
│ │
│ ┌────────────────────────┐│
│ │🏠 生活助手 🔴离线 ││
│ │ my-server.com:3000 ││
│ │ 最后活跃:3小时前 ││
│ └────────────────────────┘│
│ │
│ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │
│ │ + 添加新秘书 │ │
│ │ 手动配对│扫码│一键部署 │ │
│ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │
│ │
├────────────────────────────┤
│ 💬对话 🤖秘书 👤我的 │
└────────────────────────────┘5.4 对话页(核心页面)
┌────────────────────────────┐
│ ← 工作秘书 🟢 ⋮ │
├────────────────────────────┤
│ │
│ 2月16日 09:00 │
│ │
│ ┌──────────────────┐ │
│ │帮我发一条小红书, │ 👤 │
│ │推广酸菜鱼套餐88元 │ │
│ │[📷 图片] │ │
│ └──────────────────┘ │
│ │
│ 🤖 ┌──────────────────┐ │
│ │好的,我来帮你发布│ │
│ │小红书推广! │ │
│ │ │ │
│ │**文案**: │ │
│ │老板娘力荐!酸菜 │ │
│ │鱼双人套餐88元... │ │
│ │ │ │
│ │🔧 查看执行详情(3)│ │
│ └──────────────────┘ │
│ │
│ ┌──────────────────────┐ │
│ │ ✅生成文案 2.3s │ │
│ │ ✅优化图片 4.1s │ │
│ │ 🔄发布中... 80% │ │
│ └──────────────────────┘ │
│ │
├────────────────────────────┤
│ [🎤] 输入消息... [📷] ▶│
└────────────────────────────┘6. 非功能需求
6.1 性能
| 指标 | 目标 |
|---|---|
| App 冷启动时间 | < 3 秒 |
| 消息发送延迟 | < 500ms(到 OpenClaw 服务器) |
| 流式首字延迟 | < 1 秒 |
| 流式渲染帧率 | 60fps(每 16ms 刷新一次) |
| 本地消息数据库查询 | < 100ms |
| 图片压缩上传 | < 5 秒(3MB 原图) |
| WebSocket 重连 | < 5 秒(首次) |
| App 安装包大小 | < 50MB (Android APK) |
6.2 安全
| 措施 | 说明 |
|---|---|
| 传输加密 | 全链路 TLS/WSS |
| API 密钥存储 | Flutter secure_storage(iOS Keychain / Android EncryptedSharedPrefs) |
| SSH 密码 | 仅部署时使用,完成后立即销毁,不持久化 |
| 本地消息缓存 | SQLite 加密(sqlcipher) |
| 微信登录 | OAuth 2.0 标准流程,服务端校验 |
| 短信验证码 | 5分钟有效,每号每日限 10 次,IP 限流 |
| 后端 API | JWT + HTTPS,Token 刷新机制 |
6.3 可用性
| 指标 | 目标 |
|---|---|
| 秘书台后端可用性 | > 99.9% |
| 断线重连成功率 | > 99% |
| Android 最低版本 | Android 8.0 (API 26) |
| iOS 最低版本 | iOS 14.0 |
| 离线可用 | 可浏览历史消息,发送排队 |
6.4 可扩展性
| 场景 | 设计 |
|---|---|
| 用户增长 | 后端 PostgreSQL + Redis,支持水平扩展 |
| 多秘书 | 每秘书独立 WebSocket 连接 |
| 新消息类型 | 统一消息协议,type 字段可扩展 |
7. 技术方案
7.1 技术栈
| 层级 | 选择 | 理由 |
|---|---|---|
| 移动端 | Flutter 3.x (Dart) | 跨平台,一套代码 iOS+Android,性能好 |
| 后端 | Node.js + Express | 与 OpenClaw 技术栈一致 |
| 数据库 | PostgreSQL | 生产级关系型数据库 |
| 缓存 | Redis | Session、限流、部署任务队列 |
| 短信 | 阿里云 SMS | 国内覆盖好,价格低 |
| 支付 | 微信支付 JSAPI | 目标用户首选支付方式 |
| 推送 | FCM + 厂商通道 | 保证到达率 |
7.2 数据库 Schema
-- 用户表
CREATE TABLE users (
id SERIAL PRIMARY KEY,
phone VARCHAR(20) UNIQUE NOT NULL,
nickname VARCHAR(50),
avatar_url TEXT,
wechat_union_id VARCHAR(100) UNIQUE,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- 秘书(OpenClaw实例)配对表
CREATE TABLE secretaries (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(100) NOT NULL DEFAULT '我的秘书',
avatar VARCHAR(10) DEFAULT '🤖',
server_address VARCHAR(255) NOT NULL, -- IP/域名:端口
api_key_encrypted TEXT NOT NULL, -- AES加密存储
sort_order INTEGER DEFAULT 0,
is_online BOOLEAN DEFAULT FALSE,
last_active_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- 部署任务表
CREATE TABLE deployments (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
server_ip VARCHAR(45) NOT NULL,
ssh_port INTEGER DEFAULT 22,
status VARCHAR(20) DEFAULT 'pending', -- pending|running|success|failed
progress INTEGER DEFAULT 0,
current_step VARCHAR(100),
error_message TEXT,
payment_id VARCHAR(100),
created_at TIMESTAMPTZ DEFAULT NOW(),
completed_at TIMESTAMPTZ
);
-- 支付记录表
CREATE TABLE payments (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
amount_cents INTEGER NOT NULL, -- 1000 = ¥10
type VARCHAR(20) NOT NULL, -- 'deploy'
wechat_trade_no VARCHAR(100),
status VARCHAR(20) DEFAULT 'pending',
created_at TIMESTAMPTZ DEFAULT NOW(),
paid_at TIMESTAMPTZ
);
CREATE INDEX idx_secretaries_user ON secretaries(user_id);
CREATE INDEX idx_deployments_user ON deployments(user_id, status);7.3 WebSocket 消息协议
// 客户端 → 服务器
{ "type": "message", "content": "帮我写文章", "session_id": "sess_xxx", "attachments": [] }
{ "type": "ping" }
// 服务器 → 客户端
{ "type": "stream_start", "message_id": "msg_001" }
{ "type": "stream_chunk", "content": "好的", "message_id": "msg_001" }
{ "type": "stream_end", "message_id": "msg_001", "usage": { "tokens": 1234 } }
{ "type": "agent_start", "agent_id": "a1", "name": "生成文案", "parent_msg": "msg_001" }
{ "type": "agent_progress", "agent_id": "a1", "progress": 50, "detail": "正在撰写..." }
{ "type": "agent_complete", "agent_id": "a1", "duration_ms": 2300, "result": "已生成500字文案" }
{ "type": "agent_error", "agent_id": "a1", "error": "登录失败" }
{ "type": "pong" }7.4 后端 API 一览
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/auth/sms/send | 发送短信验证码 |
| POST | /api/auth/sms/verify | 验证码登录/注册 |
| POST | /api/auth/wechat | 微信登录 |
| GET | /api/user/profile | 获取用户资料 |
| PUT | /api/user/profile | 更新用户资料 |
| GET | /api/secretaries | 秘书列表 |
| POST | /api/secretaries | 添加秘书(手动配对) |
| PUT | /api/secretaries/:id | 编辑秘书 |
| DELETE | /api/secretaries/:id | 删除秘书 |
| POST | /api/secretaries/test | 测试连接 |
| POST | /api/deploy/pay | 创建部署支付订单 |
| POST | /api/deploy/start | 开始部署 |
| GET | /api/deploy/:id/status | 部署进度查询 |
| POST | /api/deploy/webhook | 微信支付回调 |
8. 部署架构
8.1 秘书台后端
┌───────────────────────────────────────┐
│ 负载均衡 (Nginx/Caddy) │
│ mishutai.ycapis.com │
└──────────────┬────────────────────────┘
│
┌──────────────▼────────────────────────┐
│ Node.js + Express (PM2) │
│ ├─ REST API │
│ └─ 部署任务 Worker │
└──┬──────────────┬─────────────────────┘
│ │
▼ ▼
PostgreSQL Redis
(用户/支付) (Session/队列/限流)8.2 端到端数据流
Flutter App ←WSS→ 用户的 OpenClaw 服务器 ←→ ycapi (Token供应)
│
└─HTTPS→ 秘书台后端 (账号/支付/部署)
│
└─SSH→ 用户新购服务器 (一键部署时)9. 里程碑与排期
| 里程碑 | 内容 | 预计周期 | 交付物 |
|---|---|---|---|
| M0:技术验证 | Flutter ↔ OpenClaw WSS 通信、流式渲染 POC | 1 周 | 可跑通的 Demo |
| M1:MVP 核心 | 手机号登录 + 秘书配对 + 对话界面(流式) + Markdown 渲染 | 3 周 | 内测版 APK |
| M2:子Agent面板 | 子 Agent 进度展示、语音输入、图片发送 | 2 周 | 差异化功能完成 |
| M3:一键部署 | 微信支付 + 部署流程 + 服务器自动化 | 2 周 | 新用户可从0到1 |
| M4:多秘书管理 | 秘书列表、切换、在线状态 | 1 周 | 多实例管理 |
| M5:测试与上线 | 兼容性测试、性能优化、应用商店提交 | 2 周 | 正式上线 |
总计:约 11 周
验收标准
- 手机号/微信登录流畅,3 秒内完成
- 流式输出无卡顿,首字延迟 < 1秒
- 子 Agent 面板实时更新
- 一键部署成功率 > 90%
- 断线自动重连,30 秒内恢复
- Android + iOS 双端可用
本文档用于指导秘书台 App 开发,如有疑问请联系范总确认需求。