# assistant_bid **Repository Path**: tian-chenfeng/assistant_bid ## Basic Information - **Project Name**: assistant_bid - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小荷健康 ## 写在前面: 这个项目我在年前就相似的技术栈做过一篇类似掘金文章系统的一个系统 基础架构类似于后端环境的搭建是我自己搭建的。后端拦截器,prismaORM数据库映射工具。前端路由的懒加载,shadcn的安装,别名的配置。 后面还想升级它的基础架构,就不做业务基础方面的升级了 比如说把它的内置框架从 express 升级成 Fastify ,把全局返回参数,全局异常控制、热重载等方面下手 再后来就是对接飞书 业务方面的话就是claude code 写的多了。下面是安装 ## 项目结构 ``` health-assistant/ ├── frontend/health/ # 前端 React 项目 ├── backend/ # 后端 NestJS 项目 ├── ARCHITECTURE.md # 技术架构文档 └── README.md # 本文档 ``` ## 环境要求 - Node.js >= 18.x - pnpm >= 8.x - DeepSeek API Key --- ## 后端启动 ### 1. 安装依赖 ```bash cd backend pnpm install ``` ### 2. 配置环境变量 编辑 `backend/.env` 文件,填入你的 DeepSeek API Key: ```env DATABASE_URL="file:./dev.db" JWT_ACCESS_SECRET=your_access_secret_key JWT_REFRESH_SECRET=your_refresh_secret_key JWT_ACCESS_EXPIRES_IN=15m JWT_REFRESH_EXPIRES_IN=7d DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx PORT=3000 ``` ### 3. 初始化数据库 ```bash pnpm prisma generate pnpm prisma db push pnpm prisma seed # 可选:初始化演示数据 ``` **演示账号:** demo@health.com / 123456 ### 4. 启动开发服务器 ```bash pnpm start:dev ``` 后端服务将在 `http://localhost:3000` 启动,API 路径前缀为 `/api` --- ## 前端启动 ### 1. 安装依赖 ```bash cd frontend/health pnpm install ``` ### 2. 配置环境变量 编辑 `frontend/health/.env` 文件: ```env VITE_API_BASE_URL=/api ``` ### 3. 启动开发服务器 ```bash pnpm dev ``` 前端服务将在 `http://localhost:5173` 启动 --- ## 功能清单 ### 已实现 - [x] 用户注册/登录 - [x] JWT 双 Token 认证(Access Token + Refresh Token) - [x] 首页健康文章列表 + Banner - [x] 文章详情页 - [x] AI 健康助手(DeepSeek 流式对话) - [x] 用户个人中心 - [x] 收藏/浏览历史 - [x] 健康档案管理 - [x] 用户设置页面 ### 待开发 - [ ] 文章评论 - [ ] 消息推送 - [ ] 生产环境部署 --- ## API 文档 ### 认证接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/auth/register | 用户注册 | | POST | /api/auth/login | 用户登录 | | POST | /api/auth/refresh | 刷新 Token | | POST | /api/auth/logout | 登出 | ### 文章接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/articles | 获取文章列表 | | GET | /api/articles/:id | 获取文章详情 | | POST | /api/articles/:id/collect | 收藏文章 | | DELETE | /api/articles/:id/collect | 取消收藏 | | GET | /api/articles/collections | 获取收藏列表 | | GET | /api/articles/history | 获取浏览历史 | ### AI 聊天接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/chat/stream | 流式对话 (SSE) | | GET | /api/chat/history | 获取聊天历史 | ### 用户接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | /api/users/profile | 获取用户资料 | | PUT | /api/users/profile | 更新用户资料 | | GET | /api/users/health-record | 获取健康档案 | | PUT | /api/users/health-record | 更新健康档案 | --- ## 技术栈 ### 前端 - React 19 + TypeScript - Vite 7 - TailwindCSS 4 - shadcn/ui (Radix UI) - React Router DOM 7 - Zustand (状态管理) - @ai-sdk/react - Axios ### 后端 - NestJS 11 - Prisma + SQLite - Passport JWT - LangChain + DeepSeek