---
date: "2026-06-01"
topic: geo-launch-readiness
---

## Summary

GEO 平台变现闭环代码已全部落地（Plan 003），但从未端到端运行过。本需求定义一个"部署+验证"冲刺：先将系统部署到类生产环境，再在部署环境中验证完整变现闭环（注册→诊断→健康分→付费墙→支付→解锁），直到新用户可完成全链路操作。

## Problem Frame

Plan 003 完成了 9 个实施单元的代码编写——诊断数据采集、免费健康分页面、Onboarding 重设计、支付集成、AI 内容生成、效果归因、邮件集成、契约测试、E2E 烟雾测试。但这些代码从未作为完整系统运行过。后端服务能否启动、前端能否构建、数据库迁移能否执行、前后端联调是否通畅——全部未知。在代码从未跑过的状态下，任何单点修复都是盲目的；只有让系统先跑起来，才能发现真正的阻塞问题。

## Key Decisions

**部署优先于功能验证。** 本地跑通不等于可上线。部署问题（数据库迁移、环境变量、CORS、静态资源）往往是上线前最大的意外。先解决部署，再在部署环境中验证流程，一步到位。

**支付用 mock 模式验证。** 真实微信/支付宝 SDK 接入涉及商户审核、证书配置，是独立的长期工作。本次验证用 mock 支付确认付费墙逻辑正确即可，真实支付接入作为后续计划。

**阻塞驱动，不追求完美。** 遇到问题修到能继续往下走即可，不做全面重构或优化。目标是跑通闭环，不是打磨每个细节。

## Requirements

**部署就绪**

R1. 后端服务可在 Docker Compose 环境中启动，所有 API 端点可访问

R2. 前端构建产物可被部署并提供页面访问

R3. 数据库迁移可从空库执行到最新版本，所有表和索引正确创建

R4. 环境变量配置完整，第三方服务密钥缺失时优雅降级为 mock 模式

**核心流程可跑通**

R5. 新用户可完成注册并登录，获得有效 JWT

R6. 登录用户可创建品牌，触发诊断，获得非零健康分

R7. 免费用户访问付费功能时触发付费墙，显示升级提示

R8. 用户可发起支付（mock 模式），支付完成后配额刷新、付费功能解锁

R9. 公开健康分页面无需注册即可访问，输入品牌名可生成报告

**端到端验证**

R10. 完整变现闭环可在部署环境中走通：注册→诊断→健康分→付费墙→支付→解锁

**代码质量（2026-06-01 复盘新增）**

R11. Dockerfile 健康检查端点与实际 API 端点一致（当前 `/api/health` 不存在，应为 `/health`）

R12. 测试环境配置完整，`.env.test` 包含必需的 JWT_SECRET

R13. 前端页面统一使用 API 客户端，认证 token 正确传递（reports、lifecycle/new 页面绕过了统一客户端）

## Key Flows

- F1. 完整变现闭环验证
  - **Trigger:** 新用户访问平台
  - **Steps:** 注册账号 → 登录 → 创建品牌 → 触发诊断 → 查看非零健康分 → 尝试付费功能 → 触发付费墙 → 发起 mock 支付 → 支付完成 → 付费功能解锁
  - **Outcome:** 用户完成从获客到付费的完整链路
  - **Covers:** R5, R6, R7, R8, R10

- F2. 公开健康分获客路径
  - **Trigger:** 未注册用户访问公开健康分页面
  - **Steps:** 输入品牌名 → 系统生成 GEO 健康分报告 → 显示关键指标和问题 → 引导注册查看完整报告
  - **Outcome:** 用户被引导进入注册流程
  - **Covers:** R9, R10

## Scope Boundaries

**In scope:**
- Docker Compose 部署配置
- 数据库迁移执行
- 核心流程端到端验证
- 阻塞问题修复

**Deferred for later:**
- 真实微信/支付宝 SDK 接入
- CI/CD 流水线
- 性能优化和压力测试
- 生产环境域名和 HTTPS
- 完整测试覆盖

**Outside this sprint:**
- UI 打磨和视觉优化
- 新功能开发
- 代码重构

## Dependencies / Assumptions

- PostgreSQL 15 + pgvector 扩展可用（Docker 容器已配置）
- Redis 7 可用（会话和缓存）
- 第三方 API 密钥（DeepSeek、OpenAI 等）可能未配置，系统需支持 mock 降级
- LLM API 调用成本可控（诊断和内容生成会消耗 token）

## Outstanding Questions

**Resolved:**
- Docker Compose 配置已完整，包含 db (PostgreSQL 15) + redis (Redis 7) + backend (FastAPI) + frontend (Next.js) 四个服务，开发和生产两套配置均就绪
- 数据库迁移策略：使用 `create_all` + `stamp head`（KTD2）
- 前端部署方式：独立容器，开发模式用 `npm run dev`，生产模式用 standalone `node server.js`
- pgvector 扩展安装：通过 init-db.sh 从源码编译安装（KTD3）
- 验证方式：本地裸跑优先，Docker 部署后续（KTD6）

**Open:**
- 前端 reports 和 lifecycle/new 页面绕过统一 API 客户端，是否在本次修复？（当前标记为 deferred）
