一个极简温暖的 AI 日记应用,帮助你记录生活、获得鼓励和灵感。
- 📝 日记记录 - 简洁的编辑器,随时记录生活点滴
- 🤖 AI 总结 - 自动生成日记内容摘要
- 💝 暖心鼓励 - 根据内容给予正向反馈
- 💡 灵感提问 - 不知道写什么时,AI 为你生成引导性问题
- 🔐 安全私密 - Firebase 认证,数据隔离
复制环境变量模板并填入你的配置:
cp .env.local.example .env.local编辑 .env.local 文件:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# DeepSeek API
DEEPSEEK_API_KEY=your_deepseek_api_key
DEEPSEEK_BASE_URL=https://api.deepseek.com- 访问 Firebase Console
- 创建新项目
- 启用 Authentication(邮箱/密码登录)
- 启用 Firestore Database
- 复制配置到
.env.local
npm installnpm run dev- 安装 Vercel CLI:
npm install -g vercel- 部署:
vercel-
设置环境变量(在 Vercel 控制台):
- 所有
.env.local中的变量
- 所有
-
重新部署:
vercel --prod- 前端: Next.js 14 + TypeScript + TailwindCSS
- UI: 自研组件 + Lucide 图标
- 后端: Next.js API Routes
- 数据库: Firebase Firestore
- 认证: Firebase Authentication
- AI: DeepSeek API
src/
├── app/ # Next.js App Router
│ ├── (auth)/ # 认证页面
│ │ └── login/ # 登录/注册页
│ ├── (dashboard)/ # 主应用页面
│ │ ├── diary/[id]/ # 日记详情页
│ │ ├── edit/[id]/ # 编辑日记页
│ │ ├── new/ # 新建日记页
│ │ └── page.tsx # 首页(日记列表)
│ ├── layout.tsx # 根布局
│ └── globals.css # 全局样式
├── components/
│ ├── ui/ # UI 组件
│ │ ├── Button.tsx
│ │ ├── Input.tsx
│ │ └── Textarea.tsx
│ └── DashboardLayout.tsx
├── contexts/
│ └── AuthContext.tsx # 认证上下文
└── lib/
├── ai/ # AI 服务
│ └── deepseek.ts
├── firebase/ # Firebase 配置
│ ├── auth.ts
│ ├── config.ts
│ └── firestore.ts
└── utils.ts
- 总结日记: 调用 DeepSeek API 生成 100 字以内的摘要
- 鼓励话语: 根据日记内容给予温暖鼓励
- 灵感问题: 生成 5 个引导性问题帮助记录
- 所有日记数据存储在 Firebase Firestore,与用户 UID 绑定
- 建议在生产环境配置 Firestore 安全规则
- API Key 应妥善保管,不要提交到版本控制
MIT