Skip to content

whjwjx/ForeAct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ForeAct - AI 驱动的个人成长助手

React FastAPI Python TypeScript License

看见当下的长远影响,把宏大目标落地为每日小行动


✨ 核心功能

🔮 行为未来预测

通过 AI 分析你的日常行为,推演不同时间周期下的正向趋势和潜在风险:

  • 多周期预测: 3天、1周、1月的趋势推演
  • 风险预警: 识别关键风险项,给出轻/中/重度预警
  • 微调建议: 提供微小、可执行的优化建议

🎯 目标逆向拆解

将宏大目标逆向拆解为每日可执行的小行动:

  • 现状诊断: 分析日程、空闲时间、执行力
  • 逆向拆解: 拆解为今日必做、每周重点、需规避的行为
  • 动态迭代: 根据每日完成情况自动修正计划

🛠️ 技术栈

层级 技术
前端 React 18 + TypeScript + Vite
后端 FastAPI (Python)
数据库 SQLite
AI 服务 OpenAI GPT-4 API
UI 组件 Tailwind CSS

🚀 快速开始

环境要求

  • Python 3.11+
  • Node.js 18+
  • OpenAI API Key

1. 克隆项目

git clone https://github.com/yourusername/foreact.git
cd foreact

2. 配置后端

cd backend

# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置你的 OPENAI_API_KEY 和 SECRET_KEY

.env 示例:

DATABASE_URL=sqlite:///./foreact.db
SECRET_KEY=your-secret-key-here
OPENAI_API_KEY=sk-your-openai-api-key

3. 启动后端服务

python run.py

后端服务默认运行在 http://localhost:8000

4. 配置并启动前端

cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端服务默认运行在 http://localhost:5173


📁 项目结构

foreact/
├── backend/                 # FastAPI 后端
│   ├── app/
│   │   ├── api/            # API 路由 (auth, todo, schedule, inbox, note, habit, data)
│   │   ├── models/         # SQLAlchemy 数据模型
│   │   ├── schemas/        # Pydantic 数据验证
│   │   ├── services/       # 业务逻辑服务 (ai_service)
│   │   ├── core/           # 核心配置 (config, database, security, logging)
│   │   ├── utils/          # 工具函数 (responses)
│   │   └── main.py         # 应用入口
│   ├── requirements.txt    # Python 依赖
│   ├── run.py              # 启动脚本
│   └── test_ai.py          # AI 测试脚本
│
├── frontend/               # React 前端
│   ├── src/
│   │   ├── components/     # 可复用组件 (Button, Card, Input, Modal, Layout, Toast 等)
│   │   ├── pages/          # 页面组件 (Login, Register, Dashboard, Todo, Schedule 等)
│   │   ├── hooks/          # 自定义 React Hooks (useAuth)
│   │   ├── services/       # API 服务封装
│   │   └── types/          # TypeScript 类型定义
│   ├── package.json        # Node.js 依赖
│   └── vite.config.ts      # Vite 配置
│
├── STANDARDS/              # 开发规范文档
├── AGENTS.md               # AI 交互规范
└── README.md               # 本文件

📚 API 文档

启动后端服务后,访问 http://localhost:8000/docs 查看完整的 Swagger API 文档。

核心 API 端点

方法 端点 描述
POST /api/auth/register 用户注册
POST /api/auth/login 用户登录
GET /api/todo 获取待办事项列表
POST /api/todo 创建待办事项
PUT /api/todo/{id} 更新待办事项
DELETE /api/todo/{id} 删除待办事项
GET /api/schedule 获取日程列表
POST /api/schedule 创建日程
PUT /api/schedule/{id} 更新日程
DELETE /api/schedule/{id} 删除日程
GET /api/inbox 获取收件箱列表
POST /api/inbox 添加收件箱条目
PUT /api/inbox/{id} 更新收件箱条目
DELETE /api/inbox/{id} 删除收件箱条目
GET /api/note 获取笔记列表
POST /api/note 创建笔记
PUT /api/note/{id} 更新笔记
DELETE /api/note/{id} 删除笔记
GET /api/habit 获取习惯列表
POST /api/habit 创建习惯
PUT /api/habit/{id} 更新习惯
DELETE /api/habit/{id} 删除习惯
GET /api/data/predictions 获取行为预测
GET /api/data/stats 获取统计数据

🎨 产品调性

设计理念

从被动记录升级为主动干预
从通用模板升级为个性定制

语气风格

  • 🌿 温和理性: 不批判、不指责、不制造焦虑
  • 📊 客观务实: 基于数据说话,给出具体建议
  • 💪 鼓励支持: 强调进步而非完美,认可每一步小行动

文案示例

场景 ❌ 不推荐 ✅ 推荐
预测负面结果 "你这样下去会废掉!" "如果持续当前习惯,预计效率会下降 10-15%"
建议调整 "你必须每天早起!" "尝试比平时早睡 15 分钟,观察明日精力状态"
任务未完成 "你怎么又没完成!" "今天的任务有点挑战,我们可以明天再试"
目标达成 "还行吧,不够完美" "你完成了今天的小目标,继续保持这个节奏"

🗺️ 开发路线图

✅ MVP (当前)

  • 用户注册/登录
  • 行为录入(手动打卡)
  • 基础行为预测(周维度)
  • 目标创建与查看
  • 每日任务生成与查看
  • 任务状态更新

📅 即将推出

  • 日历同步
  • 多周期预测(3天/1周/1月)
  • 目标现状诊断
  • 动态计划迭代
  • 行为数据统计

🔮 未来规划

  • 行为周报/月报
  • 习惯养成体系
  • 数据趋势可视化
  • 深度定制方案(会员)

🤝 贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证。


🙏 致谢

  • 设计灵感来源于 Atomic Habits 微习惯理论
  • UI 设计参考现代极简风格

Made with ❤️ by ForeAct Team

About

看见当下的长远影响,把宏大目标落地为每日小行动

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors