# Unified Agent Operating System — Lean MVP PRD

> **版本：** v1（首次生成）
> **生成时间：** 20260512-1454
> **评分：** 30/40
> **Source：** real-estate-ai-tools__scored-demand__20260511-0910.md

---

## 1. Problem & User

**Target User：** 独立房产经纪人和小型团队（< 10人），已在尝试 AI 工具，但每个场景用一个不同工具（ChatGPT 写文案、Zapier 做自动化、Google Sheets 追踪），结果更忙了，不是更轻松。

**Core Pain：** 没有统一的 AI 工作台。一个房源地址要分别打开三个工具才能产出：listing 文案 + 社交媒体帖子 + 客户跟进邮件。没有人力，也没有时间去手动搭建这些自动化。

**User Quote：** "People Don't Need More AI Tools — They Need Focus"

---

## 2. Target Outcome & KPIs

**Primary Outcome：** 经纪人输入一个房源地址或客户备注，5分钟内同时获得 listing 文案、社交帖子和跟进邮件三件套，无需切换工具。

| KPI | 目标值 |
|-----|--------|
| 输入地址到三件套全部生成 | < 2 分钟 |
| 每周人均工作流运行次数 | > 3 次 |
| 7日留存 | > 40% |
| 免费→付费转化 | > 8% |

---

## 3. MVP Scope（In）

- 联系人 + 房源的轻量 CRUD（非全功能 CRM）
- 5个预设 AI 工作流：
  1. Listing Pack（listing 文案 + social post + open house flyer 文本）
  2. Open House Follow-Up Email（按买家类型生成个性化邮件）
  3. New Lead Nurture Draft（初次接触欢迎序列，3封）
  4. Social Post Pack（Instagram / Facebook / LinkedIn 各一版）
  5. CRM Update Draft（将会议备注转化为 CRM 更新文本）
- 工作流运行历史：存档所有生成结果，支持复制/导出
- 可选 Follow Up Boss 集成：API Key 输入后，拉取联系人数据 + 推送生成的备注
- Stripe 计费：$29/mo（solo，每月30次工作流），$79/mo（团队，5人，无限次）

---

## 4. Out of Scope

- 原生 IDX 网站建设
- 完整 CRM 替代（不做 pipeline 管理、交易追踪）
- 语音转文字会议记录
- 自动邮件发送（只生成草稿，不代发）
- 超过 5 个工作流模板（MVP 阶段固定）
- 除 Follow Up Boss 外的 CRM 集成

---

## 5. User Flow（Happy Path）

**注册后 5 分钟 Aha Moment 路径：**

1. 用户注册 → 引导页展示"从一个地址生成所有营销材料"的演示动图
2. **Step 1 — 选择工作流**：点击"Listing Pack"
3. **Step 2 — 填写输入**：输入房源地址、3个亮点（hardwood floors / updated kitchen / quiet street）
4. **Step 3 — 一键运行**：约 15 秒后三件套同时出现（listing 文案 / Instagram 帖子 / open house 文本）
5. **⚡ Aha Moment（第2分钟）**：三个输出框并列显示，用户直接点击复制 Instagram 帖子粘贴到手机
6. 感受到"10分钟的工作缩到2分钟"——效率价值立刻兑现
7. 运行历史自动存档，下次可直接复用

**付费墙触发：** 第 **5次工作流运行** 后触发 paywall + 邮件序列。

---

## 6. Functional Requirements（P0）

**F1 — 工作流引擎**
- 5个预设工作流，每个有固定输入字段（2-4个）和对应 prompt 模板
- 输入 → LLM 调用 → 结构化输出（每个工作流3个输出块）
- 运行时间 < 20 秒

**F2 — Listing Pack 工作流**
- 输入：address、highlights（最多5个）、property_type（买/租/卖）
- 输出：Public Remarks（400字）+ Instagram Post（150字+emoji）+ Open House Text（100字）

**F3 — 跟进邮件工作流**
- 输入：contact_name、showing_notes、next_step
- 输出：即时跟进邮件（Open House Follow-Up）+ 3封 Lead Nurture 序列标题+正文

**F4 — CRM Update Draft 工作流**
- 输入：粘贴会议备注（自由文本）
- 输出：结构化 CRM 更新（联系人状态/意向/下一步/截止日期）

**F5 — 轻量联系人 + 房源管理**
- 联系人 CRUD：name / phone / email / type / notes
- 房源 CRUD：address / status / assigned_contacts
- 支持在工作流中选择已有联系人/房源自动填入字段

**F6 — Follow Up Boss 集成（可选）**
- 用户输入 FUB API Key → 拉取联系人列表 → 工作流输出可一键 POST 为 FUB 备注/Activity

**F7 — 运行历史**
- 每次工作流运行存档：时间戳 + 输入 + 输出
- 支持复制和删除

**F8 — 计费**
- 免费：5次工作流运行
- Stripe Checkout + 运行次数计数 paywall

**F9 — Onboarding**
- 3步引导：创建房源 → 选择 Listing Pack → 看到三件套输出
- 无需配置，开箱即用

---

## 7. Minimal Data Model

```
users (id, email, plan, workflow_run_count, stripe_customer_id, fub_api_key)
contacts (id, user_id, name, phone, email, type, notes)
listings (id, user_id, address, status, property_type)
workflow_runs (id, user_id, workflow_type, inputs_json, outputs_json, created_at)
```

---

## 8. API / Integration Notes

| 服务 | 用途 | 备注 |
|------|------|------|
| OpenAI API (GPT-4o) | 5个工作流的文本生成 | 每次运行约 0.03 USD |
| Follow Up Boss API | 联系人拉取 + 备注推送 | 用户提供 API Key，无 OAuth |
| Stripe | 订阅计费 | Checkout Session + Webhook |
| Supabase | DB + Auth | 单一后端依赖 |
| Resend | 付费墙邮件序列 | 触发 / +1天 / +3天 |

---

## 9. Acceptance Criteria

- [ ] Listing Pack 工作流从点击"运行"到三件套全部出现 < 20 秒
- [ ] 所有5个工作流各自输出格式正确（字数/段落/emoji 按规格）
- [ ] Follow Up Boss API Key 输入后，联系人列表成功加载
- [ ] 工作流运行历史正确存档，支持复制
- [ ] 第5次运行后 paywall 触发，Stripe Checkout 完成后立即解锁
- [ ] 用户注册后 5 分钟内完成第一次工作流 Aha Moment（人工测试）

---

## 10. Delivery Plan

### M1 — 数据层 + 工作流引擎（Day 1 上午，约 5 小时）

**创建/修改文件：**
- `prisma/schema.prisma` — users / contacts / listings / workflow_runs 表
- `lib/workflow-engine.ts` — 工作流调度：输入 → prompt 模板 → OpenAI → 结构化输出
- `lib/workflows/listing-pack.ts` — Listing Pack prompt 和输出解析
- `lib/workflows/followup-email.ts` — 跟进邮件工作流
- `lib/workflows/crm-update.ts` — CRM Update Draft 工作流
- `app/api/workflows/run/route.ts` — 运行工作流 API

**Exit Criteria：**
- POST /api/workflows/run?type=listing-pack 返回3个输出块，格式正确
- 单元测试：5个工作流 prompt 模板各自返回结构化 JSON

### M2 — Dashboard UI + 联系人/房源管理（Day 1 下午 - Day 2 上午，约 8 小时）

**创建/修改文件：**
- `app/dashboard/page.tsx` — 工作流选择首页（5个工作流卡片）
- `app/workflows/[type]/page.tsx` — 工作流运行页（输入表单 + 输出展示）
- `components/WorkflowOutput.tsx` — 三列并排输出 + 复制按钮
- `app/contacts/page.tsx` — 联系人列表 + CRUD
- `app/listings/page.tsx` — 房源列表 + CRUD
- `app/history/page.tsx` — 运行历史列表
- `app/onboarding/page.tsx` — 3步引导流

**Exit Criteria：**
- 端到端：创建房源 → 选 Listing Pack → 填地址 → 看到三件套输出
- Onboarding 流无中断可完成，首次运行 Aha Moment 达成

### M3 — FUB 集成 + 计费 + 上线（Day 2 下午，约 5 小时）

**创建/修改文件：**
- `lib/follow-up-boss.ts` — FUB API 封装（GET contacts / POST note）
- `app/settings/integrations/page.tsx` — API Key 配置 + 测试连接
- `lib/stripe.ts` — Checkout Session + Webhook
- `app/api/billing/route.ts` — 计费 API
- `middleware.ts` — 工作流运行次数 paywall

**Exit Criteria：**
- FUB API Key 配置后，联系人列表加载成功；工作流输出一键推送为 FUB 备注
- 第5次运行后 paywall 正确触发；Checkout 完成后立即解锁
- 新用户从注册到 Aha Moment < 5 分钟（人工验证）

---

## 11. Risks & Mitigations

| 风险 | 缓解 |
|------|------|
| 用户期望更多工作流，感觉功能少 | Onboarding 明确定位"5个精选工作流，覆盖最高频场景"；路线图展示 upcoming 模板 |
| FUB API 权限或速率限制 | FUB 集成设为可选，MVP 核心不依赖；API 错误时友好提示 |
| 竞品（kvCORE / Lofty）功能更全 | 主打"5分钟上手、无需迁移"vs 竞品数周配置周期 |
| 工作流生成结果质量不稳定 | 每个工作流有固定 JSON schema，失败时返回默认模板而非空白 |

---

## 12. Chargeability Rationale

**免费版价值：** 5次工作流运行覆盖2-3个房源，用户亲历"一个地址生成三件套"的效率提升，形成肌肉记忆。

**付费版扩展：** 解锁每月无限运行次数、团队坐席、FUB 集成、历史存档超过30天。

**付费墙时机：** 第5次运行——用户刚刚建立工作流依赖，最不愿意失去这个快捷方式，$29/月换每月节省数小时时间。

**一句话：** 每节省1小时的文案时间，$29/月只是代理一小时人力成本的零头。
