chore: 初始化仓库结构

- 建立 monorepo 结构:app/ + server/ + docs/
- 纳入全部需求/架构/开发计划文档
- 新增 docs/PROGRESS.md 功能状态总览
- 新增 docs/decisions/ ADR 决策记录(001-004)
- 新增根目录 README.md 含 AI 阅读指引
- 新增 .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 16:39:16 +08:00
co-authored by Claude Sonnet 4.6
commit a1561c7d43
17 changed files with 1093 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"Bash(git config *)",
"Bash(git add *)"
]
}
}
+36
View File
@@ -0,0 +1,36 @@
# 依赖
node_modules/
.pnp
.pnp.js
# 构建产物
dist/
build/
.next/
out/
# 环境变量(含 API Key,绝不提交)
.env
.env.local
.env.*.local
# 系统文件
.DS_Store
Thumbs.db
desktop.ini
# 编辑器
.vscode/
.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
# 日志
*.log
npm-debug.log*
# Capacitor
android/
ios/
+37
View File
@@ -0,0 +1,37 @@
# 🌱 人生目标 App
> 帮助用户管理人生目标树、每日/每周复盘并通过 AI 教练保持方向感的个人成长应用。
## 目录结构
```
life_goals/
├── app/ — React 前端(PWA → Capacitor)
├── server/ — 后端 API(Phase 4 账号体系阶段启动)
└── docs/ — 项目文档
```
## 快速了解项目
| 我想了解… | 去哪里看 |
|-----------|---------|
| 当前开发进度 | [docs/PROGRESS.md](./docs/PROGRESS.md) |
| 重要决策的来龙去脉 | [docs/decisions/](./docs/decisions/) |
| 需求和功能边界 | [docs/02-需求分析/](./docs/02-需求分析/) |
| 技术选型和架构 | [docs/03-架构设计/](./docs/03-架构设计/) |
| 迭代路线图 | [docs/05-开发计划/](./docs/05-开发计划/) |
| 完整文档目录 | [docs/README.md](./docs/README.md) |
## 给 AI 的阅读指引
1. 先读 `docs/PROGRESS.md` — 了解当前阶段和各功能状态
2. 读 `docs/decisions/` — 了解重要决策的背景和原因
3. 按需读对应的需求 / 架构文档
## 当前阶段
**Phase 0 已完成** — MVP 包含目标树 + 每日复盘 + AI 教练
**Phase 1 待开发** — 每周复盘 + 体验提升
技术栈:React · Claude AI API · localStorage
创建日期:2026-05-24
+42
View File
@@ -0,0 +1,42 @@
# app — React 前端
> 人生目标 App 的前端代码,目标是 PWA(Phase 2)后续打包为 Capacitor 原生 App(Phase 3)。
## 当前状态
📋 **待初始化** — 代码目前以 Claude Artifact 形式存在(`life-goals.jsx`),Phase 2 时迁移至此目录并引入 Vite 构建工具。
## 技术栈(规划)
| 项目 | 技术 |
|------|------|
| 框架 | React + Vite |
| 样式 | Inline CSS + CSS Variables |
| 存储 | localStorage(PWA)/ SQLite(Capacitor) |
| AI 接口 | Anthropic API(Phase 4 前直连,之后走 server 代理) |
| 打包 | Capacitor(Phase 3) |
## 启动方式(初始化后)
```bash
cd app
npm install
npm run dev
```
## 目录结构(初始化后规划)
```
app/
├── public/
│ ├── manifest.json — PWA 配置
│ └── icons/
├── src/
│ ├── components/ — GoalNode / ScoreRing / CheckIn 等
│ ├── pages/
│ ├── services/ — callAI() / storage 封装
│ └── main.jsx
└── package.json
```
> 详见 [架构设计文档](../docs/03-架构设计/技术选型与数据结构.md)
@@ -0,0 +1,75 @@
# 📋 需求收集 — 用户访谈与原始需求
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a6818eaaafcab80e853ad2)
## 需求背景
**前期用户:产品作者本人(自用工具)。** 后续验证有市场价值后再面向外部用户推广。
核心动机是**防止迷失方向**——在日常忙碌中不忘初心,能随时看到自己的目标并检查是否偏离。通过每日和每周的复盘节奏,持续记录感受与总结,并在偏离时及时纠正。
---
## 访谈记录
### 基本信息收集(2026-05-24)
| 问题 | 用户回答 |
|------|---------|
| 主要使用者? | 产品作者本人,前期纯自用 |
| 复盘节奏? | **每日**复盘为主 + **每周**检查和复盘;偶尔会漏记 1-2 天,属正常情况 |
| 每天检查目标的场景? | 晚上睡前,用于复盘当天 |
| 复盘内容? | 今日对齐度评分(1-10 分)+ 记录感受和总结 + AI 点评 |
| 每周复盘内容? | 回顾本周目标完成情况,总结规律,纠正偏离方向 |
| AI 的角色? | 全部都要:分析冲突、主动追问、梳理模糊目标、点评反思 |
| 数据存储要求? | 跨设备同步(需要账号/持久化) |
| 偏离感知方式? | 每天打分 + 每周汇总,低分或连续低分触发 AI 提醒 |
| 目标树的清晰程度? | 人生主目标很清晰,子目标需要拆解 |
| 界面语言? | 中文 |
| 视觉风格? | 可视化优先(图表、树形图、进度环) |
| 开发推进方式? | 先做目标树 + 每日打分两个核心模块(MVP) |
---
## 原始需求描述(用户原话)
> 我现在需要编写个 app 用来检查自己人生目标,包含了主目标、年目标、月目标、周目标和天目标。人生目标是一棵树,最上面的是人生主要目标,枝干是 1 年期到 3 年期的重要目标,枝干下面的叶子是周目标或月目标,叶子上的脉络是每天的目标。
>
> 为了不会突然忘记或迷失自己的目标,需要记录下来,然后每天检查自己是否偏离,如果偏离了,就要纠正偏离的方向。
>
> 其中可以加入 AI 来整理和预测。
---
## 核心痛点
1. **迷失感** — 日常繁忙容易忘记长期目标
2. **断层感** — 每天的行动和人生目标之间缺乏连接
3. **模糊感** — 知道大方向,但子目标不够具体
4. **无反馈** — 没有机制判断自己是否在正确轨道上
5. **沉淀缺失** — 感受和总结散落在脑子里,没有系统记录,难以回顾规律
---
## 用户使用场景(User Story)
### 每日场景
- 作为用户,我想在**每晚睡前**打开 App,回顾今天的行动是否推进了我的目标
- 作为用户,我想给今天打一个 **1-10 分的对齐度评分**,写下今天的**感受和总结**
- 作为用户,我想让 **AI 教练点评**我的复盘,指出偏离并给出纠正建议
- 作为用户,如果某天**忘记打卡**(偶尔 1-2 天),App 不应报错或惩罚,历史记录有空白即可
### 每周场景
- 作为用户,我想每周做一次**周复盘**,回顾本周目标完成情况和主要感受
- 作为用户,我想在周复盘中看到**本周每日评分趋势**,发现规律
- 作为用户,我想让 AI 基于本周数据,帮我**识别偏离模式**并给出下周调整建议
### 初始化场景(面向外部用户)
- 作为新用户,我想在第一次打开时**选择一个模版**快速搭建目标树,而不是面对空白页不知所措
- 作为新用户,我想根据自己的人生阶段(职业发展 / 创业 / 学习 / 健康 / 家庭)**选择对应的模版**,预填适合我的目标结构
- 作为新用户,我也可以选择**空白开始**,自己从零搭建目标树
### 通用场景
- 作为用户,我想随时看到**完整目标树**,从人生目标到周目标一目了然
- 作为用户,我想随时向 AI 提问,**梳理和拆解**模糊的目标
- 作为用户,我希望数据**跨设备同步**,手机和电脑都能访问
@@ -0,0 +1,137 @@
# 🔍 需求分析 — 功能优先级与边界
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a681d08067c046a637acdd)
## 目标用户
| 阶段 | 用户 | 说明 |
|------|------|------|
| 前期(当前) | 产品作者本人 | 自用,快速验证功能价值 |
| 中期 | 早期外部用户 | PWA 上线后逐步开放 |
| 后期 | 付费会员 | 账号体系稳定后商业化 |
---
## 功能优先级矩阵
| 功能 | 用户价值 | 实现难度 | 优先级 |
|------|---------|---------|-------|
| 目标树管理(增删改查) | 极高 | 中 | P0 - MVP |
| 每日评分 + 感受记录 | 极高 | 低 | P0 - MVP |
| AI 教练点评 | 高 | 中 | P0 - MVP |
| AI 对话教练 | 高 | 中 | P0 - MVP |
| 历史复盘与趋势图 | 高 | 中 | P0 - MVP |
| 漏打卡容错(历史空白不报错) | 高 | 低 | P0 - MVP |
| **每周复盘** | 高 | 中 | P1 |
| 跨设备数据同步 | 高 | 高 | P4(账号体系阶段) |
| 目标完成进度 checkbox | 中 | 低 | P1 |
| 目标提醒通知 | 中 | 高 | P2 |
| 目标树导出分享 | 中 | 中 | P2 |
| **初始化模版**(通用模版 + 人生方向模版) | 高 | 低 | P2(PWA 上线时) |
| 精品付费模版库 | 中 | 低 | P5(会员阶段) |
| 拖拽排序 | 低 | 高 | P6 |
---
## MVP 范围确认(P0)
### 模块一:目标树管理
**目标:** 用户能够建立和维护自己的人生目标树
**功能明细:**
- 支持 5 个层级:人生 / 年度 / 月度 / 周 / 日
- 点击文字内联编辑
- 点击 + 按钮添加子目标(自动分配下一层级)
- 点击 ✕ 删除节点(包括子树)
- 展开 / 折叠子树
- 层级配色区分:金色→橙色→蓝色→绿色→紫色
**验收标准:**
- 用户能在 3 分钟内建立一棵包含 5+ 节点的目标树
- 数据刷新后仍然保持
### 模块二:每日复盘
**目标:** 用户每晚进行目标对齐度复盘,记录感受与总结
**功能明细:**
- 1-10 分评分环(可视化进度环)
- 自由文字输入框:记录当天感受、总结、偏离情况
- 提交后 AI 自动读取目标树 + 近期复盘记录 → 生成点评和纠偏建议
- 每天只能提交一次(已提交状态展示)
- 历史复盘列表(近 14 天)
- **漏打卡容错:** 某天无记录显示为空白,不报错、不惩罚,不影响其他日期
**验收标准:**
- 提交后 3 秒内返回 AI 点评
- 评分 ≤4 显示红色,5-7 黄色,≥8 绿色
- 连续漏记 2 天后,下次打开时 AI 主动提示
### 模块三:每周复盘(Phase 1)
**目标:** 用户每周做一次整体回顾,发现规律、纠正偏离
**功能明细:**
- 显示本周每日评分趋势柱状图
- 汇总本周感受和总结关键词
- 提交本周总体反思文字
- AI 基于本周数据生成:偏离模式分析 + 下周调整建议
**验收标准:**
- 每周日(或用户手动触发)可进行周复盘
- AI 周报建议与每日点评在语气和内容上有明显区别(宏观 vs 微观)
### 模块五:初始化模版(Phase 2)
**目标:** 外部用户首次使用时快速搭建目标树,降低启动门槛
**触发时机:** 首次打开 App 且目标树为空时,进入模版选择页
**模版类型:**
| 模版 | 预填重点 | 适合人群 |
|------|---------|---------|
| 🗂️ 通用模版 | 纯结构 + 占位符,用户自填内容 | 所有人,默认推荐 |
| 🚀 职业发展 | 职位目标、技能成长、收入提升 | 上班族、想晋升/转型者 |
| 💼 创业/副业 | 产品目标、用户规模、收入里程碑 | 创业者、斜杠青年 |
| 📚 学习提升 | 技能掌握、证书考取、输出成果 | 学生、自学者 |
| 💪 健康生活 | 运动习惯、饮食、睡眠、心理状态 | 关注身心健康者 |
| 👨‍👩‍👧 家庭生活 | 家庭关系、子女教育、家庭财务 | 已婚有子女者 |
| 🌱 自由探索 | 最轻结构,留白最多 | 目标还不清晰者 |
**初始化流程:**
```
首次打开(目标树为空)
↓
欢迎页:选择启动方式
├── 从模版开始 → 选择模版 → 预览内容 → 一键载入 → 进入编辑
└── 空白开始 → 直接进入空目标树
```
**验收标准:**
- 用户从选择模版到完成初始化不超过 1 分钟
- 载入模版后可自由编辑所有内容,模版只是起点
> 💡 **付费扩展:** Phase 5 会员阶段提供精品行业模版库(更细分、更专业的模版),作为付费内容之一。
### 模块四:AI 对话教练
**目标:** 用户能随时与 AI 就目标进行对话
**功能明细:**
- AI 上下文包含:完整目标树 + 近 7 天复盘记录 + 最近一次周复盘
- 支持任务:拆解目标、分析冲突、预测偏离风险
- 对话历史在单次会话内保持
---
## 不在范围内(MVP)
- 多用户 / 团队功能
- 账号体系(MVP 阶段免登录,Phase 4+ 引入)
- 外部日历同步
- 目标分享 / 导出
- 移动端原生 App(Phase 3 Capacitor 阶段)
- 每周复盘模块(Phase 1 引入,MVP 仅做每日)
- 初始化模版(Phase 2 PWA 上线时引入,自用阶段无需)
@@ -0,0 +1,207 @@
# 🏗️ 架构设计 — 技术选型与数据结构
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a6813c88b1f89d0df5b12b)
## 技术选型
| 维度 | 选择 | 理由 |
|------|------|------|
| 框架 | React (JSX) | 组件化、状态管理成熟,适合复杂交互 |
| 样式 | Inline CSS + CSS Variables | 无需构建工具,展开即用 |
| 存储 | Artifact Storage API | 跨设备持久化,免登录 |
| 备用存储 | localStorage | 离线备用,与 Storage API 双写 |
| AI 接口 | Anthropic API /v1/messages | 直接调用,无需后端 |
| AI 模型 | claude-sonnet-4-20250514 | 性价最优,响应快 |
| 字体 | Noto Serif SC | 中文手写书感,与"人生"主题匹配 |
---
## 数据结构设计
### 目标树 — `GoalTree`
```javascript
{
root: {
id: "root",
text: "我的人生主目标",
level: "life", // life | year | month | week | day
children: ["id1", "id2"],
expanded: true
},
nodes: {
"id1": {
id: "id1",
text: "年度目标 A",
level: "year",
children: ["id3"],
expanded: true
}
// ...
}
}
```
**设计决策:**
- 使用 flat 结构(nodes 字典)而非嵌套对象,方便增删改
- children 存 id 数组,保持顺序
- level 自动推断:父节点 level 的下一级
### 每日复盘 — `Checkins`
```javascript
{
"2026-05-24": {
score: 8,
note: "今天完成了...",
aiReply: "AI 点评内容..."
}
// 以日期为 key
}
```
**设计决策:**
- 以日期字符串为 key,天然去重
- AI 点评随复盘存储,无需单独请求
---
## 模块划分
```
App
├── GoalNode — 目标树节点(递归组件)
├── ScoreRing — SVG 圆形评分环
├── CheckIn — 每日复盘输入表单
├── History — 历史复盘列表 + 柱状图
├── Advisor — AI 对话界面
└── callAI() — Anthropic API 封装函数
```
## 数据流
```
用户输入
↓
React State (useState)
↓
localStorage (备用)
↓↑
Artifact Storage API (主存储,跨设备)
```
## AI 调用流
```
用户提交复盘
↓
收集目标树全文 + 近期复盘记录
↓
构建 System Prompt (教练角色 + 目标上下文)
↓
Anthropic /v1/messages
↓
返回点评文字 → 显示 + 存储
```
---
## 性能考虑
- AI 请求只在用户主动提交时触发,不自动定时
- 目标树数据小,本地状态即可实时更新,无需节流
- Storage API 异步写入,不阻塞 UI
---
## 移动端打包策略
采用**两阶段**路线,先低成本验证市场,再投入打包成本。
### 阶段一:PWA(需求验证)
> 目标:以最小改动让用户在手机上"安装"并使用,验证产品市场价值。
| 项目 | 说明 |
|------|------|
| 方式 | 浏览器打开后「添加到主屏幕」 |
| 改动 | 加 `manifest.json` + Service Worker 即可 |
| 存储 | 沿用 localStorage(Artifact Storage API 不适用独立部署) |
| 限制 | iOS Safari 对 PWA 支持有限;无法上架应用商店 |
| 验证指标 | 用户留存、复盘频率、AI 功能使用率 |
### 阶段二:Capacitor 原生打包(正式发布)
> 触发条件:PWA 阶段验证产品有市场价值后启动。
| 项目 | 说明 |
|------|------|
| 工具 | Capacitor(@capacitor/android + @capacitor/ios) |
| 构建工具 | 需引入 Vite(当前无构建工具) |
| 存储替换 | Artifact Storage API → `@capacitor-community/sqlite` 或 localStorage |
| Android | Android Studio 打包 APK/AAB,可上架 Google Play |
| iOS | Xcode(需 Mac)打包 IPA,需 Apple 开发者账号($99/年) |
**存储迁移注意:** 当前 Artifact Storage API 是 Claude 平台专属,独立打包后必须替换,localStorage 备用数据可作为迁移来源。
---
## 账号体系与云同步策略
### 核心决策
产品分三个阶段演进:
| 阶段 | 登录 | 存储 | 目标 |
|------|------|------|------|
| **① 开发调试期** | 免登录 | 本地 | 稳定核心功能,快速迭代 |
| **② 用户增长期** | 可选注册登录 | 本地(默认)/ 服务端(登录后) | 沉淀用户数据,建立留存 |
| **③ 商业化期** | 登录必要 | 服务端 | 开展会员收费功能 |
> 设计原则:先让用户体验到价值,再引导注册沉淀数据,最后以数据和高级功能驱动付费。
### 存储模式对比
| 模式 | 触发条件 | 存储位置 | 跨设备同步 |
|------|---------|---------|-----------|
| 游客模式(默认) | 打开即用 | 本地 SQLite / localStorage | ❌ |
| 登录模式(可选) | 用户主动注册 / 登录 | 服务端 DB + 本地缓存 | ✅ |
### 数据迁移策略(游客 → 登录)
用户注册时,需处理本地已有数据的合并:
```
用户首次登录
├── 服务端无数据 → 直接上传本地数据 ✅ 无冲突
├── 服务端有数据 → 提示用户选择合并策略 ⚠️ 需 UI 设计
│ ├── 以服务端为主(覆盖本地)
│ ├── 以本地为主(覆盖服务端)
│ └── 按节点时间戳合并(推荐)
└── 已登录换设备 → 拉取服务端数据,正常同步 ✅ 无冲突
```
### AI 调用迁移(引入后端时)
当前 AI 调用在**前端直接请求 Anthropic API**,API Key 暴露在客户端。引入后端后需同步迁移:
```
当前(无后端):
客户端 ──→ Anthropic API ⚠️ API Key 暴露
引入后端后:
客户端 ──→ 自有服务端 ──→ Anthropic API ✅ Key 安全,可做用量控制
```
**后端引入时机:** 与账号体系同步实现,无需提前单独做。
### 架构演进路线
```
Phase 2 PWA Phase 3 Capacitor Phase 4+ 账号体系
──────────── ───────────────── ─────────────────
localStorage → 本地 SQLite → 本地 SQLite(游客默认)
↕ 可选登录同步
服务端 DB + 账号 API
AI 调用走服务端代理
```
@@ -0,0 +1,111 @@
# 🎨 UI 设计 — 视觉规范与交互流程
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a681e2955befd8a352ff48)
## 设计理念
**主题:** 深夜导航仪 — 让用户每晚打开就有"回到指挥中心"的仪式感
**设计关键词:**
- 深色底 (`#0a0e1a`),星空感
- 温暖金色 (`#f5c542`) 为主强调色
- 可视化优先:SVG 圆形进度环、层级树形图、柱状趋势图
- 中文宋体(Noto Serif SC)增强人文感
---
## 颜色规范
| 用途 | 颜色 | Hex |
|------|------|-----|
| 主强调色 / 人生目标层 | 金色 | `#f5c542` |
| 年度目标层 | 橙色 | `#f0884a` |
| 月度目标层 | 蓝色 | `#4aabf0` |
| 周目标层 | 绿色 | `#7dd87a` |
| 日目标层 | 紫色 | `#c47af5` |
| 高分指示 | 绿色 | `#7dd87a` |
| 中分指示 | 黄色 | `#f5c542` |
| 低分指示 | 红色 | `#f04a4a` |
| 页面背景 | 深山蓝黑 | `#0a0e1a` |
| 卡片背景 | 半透明白 | `rgba(255,255,255,0.04)` |
| 边框 | 深蓝灯光 | `#1e2535` |
---
## 页面布局
### Header
- 左:项目标题"人生罗盘"+ 当日日期
- 右:今日评分小圆环(未复盘时显示虚线圈)
### 底部 Tab 导航(固定 4 项)
```
🌳 目标树 | ✦ 每日复盘 | 📊 历史 | ◈ AI 教练
```
### 内容区域各 Tab 布局
#### 🌳 目标树
```
[提示文字] 点击文字编辑 · 点击 + 添加子目标
[根节点] 人生—金色左边框
└ [年度] 橙色左边框
└ [月度] 蓝色左边框
└ [周] 绿色左边框
└ [日] 紫色左边框
[层级说明色色块]
```
#### ✦ 每日复盘
```
[ScoreRing 大圈 90px] [评分按钮 1-10]
[文字反思输入框 4行]
[提交复盘 · AI 点评] 按钮
[金色边框卡片] AI 教练点评内容
```
#### 📊 历史
```
[近期评分趋势柱状图]
[复盘卡片列表]
[ScoreRing 52px] [日期 + 反思文字 + AI 摘要]
```
#### ◈ AI 教练
```
[对话气泡流]
右对齐:用户消息(金色渐变)
左对齐:AI 回复(半透明卡片)
[输入框] + [→ 发送] 按钮
```
---
## 交互状态设计
| 状态 | 表现 |
|------|------|
| 空默认 | 虚线圈 + 灰色"今日" |
| 已评分未提交 | 圆环点亮 + 评分按钮选中状态 |
| 提交中 | 按钮显示"AI 分析中…" |
| 已完成 | AI 点评卡片展示 + "已保存"标识 |
| 编辑目标 | 节点文字变为 input,回车或失焦保存 |
| 删除确认 | 直接删除(MVP 简化,后续添加 confirm) |
---
## 响应式设计
- 最大内容宽度:600px(在手机和桌面均可用)
- 评分按钮在小屏时自动换行(flex-wrap)
- 导航 Tab 固定底部(Header)
@@ -0,0 +1,128 @@
# 🚀 开发计划 — MVP 范围与迭代路线图
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a681c78158fa7cb91f2840)
## MVP 范围(当前阶段)
### 包含功能
- 目标树管理(增删改、层级展示、内联编辑)
- 每日 1-10 分复盘 + 文字反思
- AI 教练自动点评(基于目标树 + 历史复盘)
- AI 对话教练(随时提问)
- 历史复盘列表 + 评分趋势图
- Artifact Storage 持久化
### 不包含
- 账号体系(MVP 阶段免登录;Phase 4+ 作为可选功能引入)
- 目标提醒通知
- 导出分享
---
## 迭代路线图
### Phase 0 — MVP(已完成 ✅)
| 功能 | 状态 |
|------|------|
| 目标树增删改查 | ✅ 已完成 |
| 5 层级树形结构 | ✅ 已完成 |
| 每日 1-10 分评分环 | ✅ 已完成 |
| AI 复盘点评 | ✅ 已完成 |
| AI 对话教练 | ✅ 已完成 |
| 历史复盘 + 柱状图 | ✅ 已完成 |
| Artifact Storage 持久化 | ✅ 已完成 |
| 金色深色视觉风格 | ✅ 已完成 |
### Phase 1 — 提升体验
| 功能 | 状态 | 优先级 |
|------|------|-------|
| **每周复盘模块**(本周趋势 + 总结 + AI 周报建议) | 待开发 | P1 |
| 目标完成度 checkbox | 待开发 | P1 |
| 目标提要展示(hover) | 待开发 | P1 |
| 每周目标自动归档 | 待开发 | P1 |
| AI 主动提示(连续漏记 2 天 / 连续低分) | 待开发 | P1 |
### Phase 2 — PWA 验证(跨平台第一步)
> 策略:先以 PWA 形式让用户在手机上使用,验证产品市场价值,再决定是否投入原生打包。
| 功能 | 状态 | 优先级 |
|------|------|-------|
| 手机端响应式布局优化 | 待开发 | P2 |
| PWA manifest(可添加到主屏幕) | 待开发 | P2 |
| Service Worker 离线缓存 | 待开发 | P2 |
| **初始化模版**(通用模版 + 6 类人生方向模版) | 待开发 | P2 |
| 目标树导出图片 | 待开发 | P2 |
| 目标完成年度总结 | 待开发 | P2 |
**验证指标:** 用户留存率、复盘频率、AI 功能使用率 — 达标后进入 Phase 3。
### Phase 3 — Capacitor 原生打包(市场验证通过后)
> 触发条件:Phase 2 验证产品有市场价值。替换 Artifact Storage API → SQLite,引入 Vite 构建工具。
| 功能 | 状态 | 优先级 |
|------|------|-------|
| 引入 Vite 构建工具 | 待开发 | P3 |
| 存储迁移(localStorage → SQLite) | 待开发 | P3 |
| Capacitor 接入 + Android APK 打包 | 待开发 | P3 |
| iOS IPA 打包(需 Mac + 开发者账号) | 待开发 | P3 |
| 上架 Google Play / App Store | 待开发 | P3 |
### Phase 4 — 账号体系 + 云同步(功能稳定后)
> 触发条件:核心功能稳定、有稳定用户基础后引入。账号是后续会员收费的前置条件。
| 功能 | 状态 | 优先级 |
|------|------|-------|
| 用户注册 / 登录(邮箱 或 Google/Apple 一键登录) | 待开发 | P4 |
| 服务端数据存储与云同步 | 待开发 | P4 |
| 游客数据迁移到账号(首次登录合并) | 待开发 | P4 |
| AI 调用迁移至服务端(保护 API Key) | 待开发 | P4 |
| 多设备数据同步 | 待开发 | P4 |
### Phase 5 — 会员收费
> 触发条件:有登录用户基础,账号体系稳定后启动。
| 功能 | 状态 | 优先级 |
|------|------|-------|
| 免费 / 付费功能分层设计 | 待开发 | P5 |
| 会员订阅(月付 / 年付) | 待开发 | P5 |
| 付费功能(更多 AI 对话次数、高级分析报告、**精品行业模版库**) | 待开发 | P5 |
| 支付接入(支付宝 / 微信支付 / Stripe) | 待开发 | P5 |
### Phase 6 — 社交 / 高级
| 功能 | 状态 | 优先级 |
|------|------|-------|
| 目标拖拽排序 | 待开发 | P6 |
| 目标分享卡片 | 待开发 | P6 |
| 多用户 / 好友查看 | 待开发 | P6 |
---
## 里程碑
| 时间 | 里程碑 |
|------|-------|
| 2026-05-24 | MVP 完成,包含目标树 + 复盘 + AI 教练 |
| Phase 1 | 完善体验:checkbox、主动提示、目标孵化 |
| Phase 2 | PWA 上线,验证市场需求与用户留存 |
| Phase 3 | 市场验证通过,Capacitor 打包 APK,上架应用商店 |
| Phase 4 | 引入账号体系 + 云同步,沉淀用户数据,为收费做准备 |
| Phase 5 | 开启会员订阅,功能分层,接入支付 |
| Phase 6 | 社交分享功能 |
---
## 当前已交付 Artifact
- 文件:`life-goals.jsx`
- 框架:React JSX
- 存储:Artifact Storage API + localStorage 双备份
- AI:Anthropic claude-sonnet-4-20250514
@@ -0,0 +1,47 @@
# ✅ 测试计划 — 验收标准与测试用例
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a68195a725d1a9eb00ebe4)
## 验收标准
### 目标树模块
| # | 测试用例 | 预期结果 |
|---|---------|---------|
| 1 | 创建根节点并编辑文字 | 文字即时保存 |
| 2 | 点击"+"添加子目标 | 层级自动推断为下一级 |
| 3 | 删除带子节点的年度目标 | 子树一并删除 |
| 4 | 折叠年度目标子树 | 子节点隐藏 |
| 5 | 层级颜色是否匹配规范 | 金色=人生,橙=年,蓝=月,绿=周,紫=日 |
| 6 | 刷新页面后树结构依然存在 | Storage 持久化有效 |
| 7 | 3 分钟内建立 5+ 节点的树 | 流畅度测试 |
### 每日复盘模块
| # | 测试用例 | 预期结果 |
|---|---------|---------|
| 1 | 点击评分 8,输入反思,提交 | 3 秒内返回 AI 点评 |
| 2 | 评分 3 分的颜色 | 圆环显示红色 |
| 3 | 评分 6 分的颜色 | 圆环显示黄色 |
| 4 | 评分 9 分的颜色 | 圆环显示绿色 |
| 5 | 已提交时再次进入复盘 Tab | 显示已保存内容,无法重复提交 |
| 6 | 历史 Tab 显示连续 7 天记录 | 柱状图正确渲染 |
### AI 教练模块
| # | 测试用例 | 预期结果 |
|---|---------|---------|
| 1 | 问"我的目标之间有没有冲突?" | AI 应引用目标树内容作答 |
| 2 | 问"帮我把月目标拆解成具体行动" | AI 返回可执行行动清单 |
| 3 | 多轮对话后 AI 能否记住上文 | 同一会话内上下文连贯 |
---
## AI 点评质量标准
AI 点评需要同时达到:
- ✅ 指出今天行动与哪个目标最对齐 / 最偏离
- ✅ 给出明天可立即执行的建议(1 个具体行动)
- ✅ 不超过 150 字
- ✅ 语气真诚干练,不泛泛鼓励
+67
View File
@@ -0,0 +1,67 @@
# 📊 项目进度总览
> 最后更新:2026-05-24
> 当前阶段:**Phase 1 待开发**
---
## 功能状态一览
| 功能 | 阶段 | 状态 | 备注 |
|------|------|------|------|
| 目标树增删改查 | Phase 0 | ✅ 完成 | |
| 5 层级树形结构 | Phase 0 | ✅ 完成 | |
| 每日评分环(1-10 分) | Phase 0 | ✅ 完成 | |
| 每日感受 + 文字记录 | Phase 0 | ✅ 完成 | |
| AI 复盘点评 | Phase 0 | ✅ 完成 | |
| AI 对话教练 | Phase 0 | ✅ 完成 | |
| 历史复盘 + 柱状图 | Phase 0 | ✅ 完成 | |
| 漏打卡容错 | Phase 0 | ✅ 完成 | 空白显示,不报错 |
| 金色深色视觉风格 | Phase 0 | ✅ 完成 | |
| **每周复盘模块** | Phase 1 | 📋 待开发 | 本周趋势 + AI 周报 |
| 目标完成度 checkbox | Phase 1 | 📋 待开发 | |
| 目标提要展示(hover) | Phase 1 | 📋 待开发 | |
| AI 主动提示(连续漏记/低分) | Phase 1 | 📋 待开发 | |
| 手机端响应式优化 | Phase 2 | 📋 待开发 | |
| PWA(可添加到主屏幕) | Phase 2 | 📋 待开发 | |
| Service Worker 离线缓存 | Phase 2 | 📋 待开发 | |
| 初始化模版(通用 + 6 类方向) | Phase 2 | 📋 待开发 | 外部用户上线时 |
| 目标树导出图片 | Phase 2 | 📋 待开发 | |
| Vite 构建工具引入 | Phase 3 | 📋 待开发 | |
| 存储迁移(localStorage → SQLite) | Phase 3 | 📋 待开发 | |
| Capacitor Android APK | Phase 3 | 📋 待开发 | |
| Capacitor iOS IPA | Phase 3 | 📋 待开发 | 需 Mac + 开发者账号 |
| 账号注册 / 登录 | Phase 4 | 📋 待开发 | 功能稳定后启动 |
| 云同步 + 多设备 | Phase 4 | 📋 待开发 | |
| AI 调用迁移至服务端 | Phase 4 | 📋 待开发 | 保护 API Key |
| 会员订阅(月付 / 年付) | Phase 5 | 📋 待开发 | 有用户基础后 |
| 支付接入 | Phase 5 | 📋 待开发 | |
| 精品行业模版库(付费) | Phase 5 | 📋 待开发 | |
| 目标分享卡片 | Phase 6 | 📋 待开发 | |
| 多用户 / 好友查看 | Phase 6 | 📋 待开发 | |
---
## 状态标签说明
| 标签 | 含义 |
|------|------|
| ✅ 完成 | 已开发并验证 |
| 🚧 开发中 | 当前正在开发 |
| 📋 待开发 | 已规划,未启动 |
| ⏸️ 暂缓 | 暂时搁置 |
| ❌ 取消 | 已决定不做 |
---
## 里程碑
| 里程碑 | 目标 | 状态 |
|--------|------|------|
| Phase 0 MVP | 目标树 + 每日复盘 + AI 教练 | ✅ 2026-05-24 完成 |
| Phase 1 | 每周复盘 + 体验提升 | 📋 待开发 |
| Phase 2 | PWA 上线,验证市场需求 | 📋 待开发 |
| Phase 3 | Capacitor 打包 APK,上架应用商店 | 📋 待开发 |
| Phase 4 | 账号体系 + 云同步 | 📋 待开发 |
| Phase 5 | 会员订阅,接入支付 | 📋 待开发 |
| Phase 6 | 社交分享功能 | 📋 待开发 |
+37
View File
@@ -0,0 +1,37 @@
# 🧭 人生目标 App — 项目文档
> 一款帮助用户管理人生目标树、每日复盘并通过 AI 教练保持方向感的个人成长应用。
## 文档目录
### 快速入口
| 文档 | 用途 |
|------|------|
| [PROGRESS.md](./PROGRESS.md) | 📊 所有功能当前状态,**最常看** |
| [decisions/](./decisions/) | 📒 重要决策的背景和原因(ADR) |
### 完整文档
| # | 阶段 | 文档 |
|---|------|------|
| 01 | 需求收集 | [用户访谈与原始需求](./01-需求收集/用户访谈与原始需求.md) |
| 02 | 需求分析 | [功能优先级与边界](./02-需求分析/功能优先级与边界.md) |
| 03 | 架构设计 | [技术选型与数据结构](./03-架构设计/技术选型与数据结构.md) |
| 04 | UI 设计 | [视觉规范与交互流程](./04-UI设计/视觉规范与交互流程.md) |
| 05 | 开发计划 | [MVP 范围与迭代路线图](./05-开发计划/MVP范围与迭代路线图.md) |
| 06 | 测试计划 | [验收标准与测试用例](./06-测试计划/验收标准与测试用例.md) |
### 决策记录(ADR)
| 编号 | 决策 |
|------|------|
| [ADR-001](./decisions/001-monorepo单仓库结构.md) | Monorepo 单仓库管理 app / server / docs |
| [ADR-002](./decisions/002-PWA优先验证市场.md) | PWA 优先验证市场,再做 Capacitor 原生打包 |
| [ADR-003](./decisions/003-本地优先免登录.md) | 本地优先存储,账号为可选功能 |
| [ADR-004](./decisions/004-初始化模版系统.md) | 提供初始化模版降低新用户门槛 |
---
**创建日期:** 2026-05-24
**当前阶段:** MVP 开发完成
**技术栈:** React · Claude AI API · Artifact Storage
> 来源:[Notion 原始文档](https://www.notion.so/36a401dc38a681f3975ccebf80a49d27)
@@ -0,0 +1,33 @@
# ADR-001 采用 Monorepo 单仓库管理 app / server / docs
**状态:** 已采纳 ✅
**日期:** 2026-05-24
---
## 背景
项目包含前端(app)、后端(server,Phase 4 启动)、文档(docs)三部分,需要决定是用一个 git 仓库还是多个仓库管理。
## 决策
所有代码和文档放在同一个 git 仓库,采用 monorepo 结构:
```
life_goals/
├── app/
├── server/
└── docs/
```
## 原因
- **小团队 / 个人项目**:管理一个仓库比同步多个仓库负担小得多
- **前后端强耦合**:同一个功能(如账号体系)需要同时改 app 和 server,monorepo 可以一个 commit 完成
- **AI 协作友好**:AI 在同一仓库内能同时看到代码和文档,理解更准确
- **文档即代码**:需求变更和代码变更在同一条时间线,不会出现文档滞后
## 影响
- `server/` 目前为占位目录,Phase 4 再填充内容
- 如未来 server 需要被多个产品复用,再考虑拆出独立仓库
@@ -0,0 +1,27 @@
# ADR-002 PWA 优先验证市场,再做 Capacitor 原生打包
**状态:** 已采纳 ✅
**日期:** 2026-05-24
---
## 背景
App 需要在手机上使用,面临两个选择:直接打包成原生 App,或先做 PWA 验证需求。
## 决策
**Phase 2 先做 PWA**,让用户在手机浏览器「添加到主屏幕」使用。确认产品有市场价值后,**Phase 3 再用 Capacitor 打包** Android APK / iOS IPA。
## 原因
- PWA 只需加 `manifest.json` + Service Worker,改动极小
- Capacitor 打包需要引入 Vite、替换存储方案、配置 Android Studio / Xcode,成本高
- 先用 PWA 以最低成本验证:用户留存率、复盘频率、AI 功能使用率
- 验证有价值后再投入打包成本,避免过早优化
## 影响
- Artifact Storage API 是 Claude 平台专属,PWA 独立部署后需替换为 localStorage
- iOS Safari 对 PWA 支持有限,是已知限制,PWA 阶段接受
- Capacitor 打包触发条件:Phase 2 验证指标达标
@@ -0,0 +1,33 @@
# ADR-003 本地优先存储,账号为可选功能
**状态:** 已采纳 ✅
**日期:** 2026-05-24
---
## 背景
App 需要数据持久化,需要决定是否强制登录,以及何时引入账号体系。
## 决策
采用三阶段演进:
| 阶段 | 登录 | 存储 |
|------|------|------|
| 开发调试期(当前) | 免登录 | 本地 |
| 用户增长期(Phase 2-3) | 可选注册 | 本地(默认)/ 服务端(登录后) |
| 商业化期(Phase 4+) | 登录必要 | 服务端 |
## 原因
- **降低启动门槛**:打开即用,无需注册,用户转化率更高
- **先验证价值**:让用户先体验到产品价值,再引导注册,信任成本低
- **账号是收费前置**:Phase 5 会员收费需要账号体系,Phase 4 作为前置建设
- **参考案例**:Obsidian、Bear 等 Local-First 应用均采用此模式
## 影响
- 游客首次登录时需处理本地数据迁移(按时间戳合并为推荐策略)
- 引入后端时,Anthropic API 调用需同步迁移至服务端(保护 API Key)
- 换设备 / 清缓存会丢失游客数据,这是已知限制,通过引导注册解决
@@ -0,0 +1,33 @@
# ADR-004 提供初始化模版降低新用户门槛
**状态:** 已采纳 ✅
**日期:** 2026-05-24
---
## 背景
外部用户首次打开 App 时,面对空白目标树不知道如何填写,容易流失。
## 决策
**Phase 2 PWA 上线时**引入初始化模版系统:
- **通用模版**:纯结构 + 占位符,适合所有人
- **6 类人生方向模版**:职业发展 / 创业副业 / 学习提升 / 健康生活 / 家庭生活 / 自由探索
- 用户也可选择「空白开始」
**Phase 5 会员阶段**提供精品行业模版库作为付费内容。
## 原因
- 新用户看到结构示例后能快速理解产品价值
- 模版是起点,用户可自由编辑,不构成约束
- 自用阶段(当前)无需此功能,Phase 2 面向外部用户时引入
- 免费模版 vs 付费精品模版形成分层,支撑商业化
## 影响
- Phase 2 开发时需新增「欢迎页 + 模版选择」流程
- 模版内容需要打磨文案,覆盖主流人群
- 精品模版定价和内容在 Phase 5 决策
+35
View File
@@ -0,0 +1,35 @@
# server — 后端 API
> 人生目标 App 的后端服务,**Phase 4(账号体系)阶段启动开发**,当前目录为占位。
## 当前状态
📋 **待启动** — Phase 4 触发条件:核心功能稳定 + 有稳定用户基础。
## 负责的功能(Phase 4+)
- 用户注册 / 登录(邮箱 + Google / Apple 一键登录)
- 数据云端存储与多设备同步
- **Anthropic API 代理**(保护 API Key,替代前端直连)
- 游客本地数据迁移至账号
- Phase 5:会员订阅 + 支付接入
## 技术栈(待定,Phase 4 决策)
| 项目 | 候选 |
|------|------|
| 运行时 | Node.js |
| 框架 | Express / Fastify / Hono |
| 数据库 | PostgreSQL / Supabase |
| 认证 | JWT + OAuth2 |
| 部署 | 待定 |
## 启动方式(开发后)
```bash
cd server
npm install
npm run dev
```
> 详见 [架构设计文档](../docs/03-架构设计/技术选型与数据结构.md)