feat: 首次推送到Gitea - 完整项目代码 + 安全加固 + 知识库
This commit is contained in:
+46
-19
@@ -22,28 +22,36 @@
|
||||
## 项目结构
|
||||
```
|
||||
zhuiguang-ai/
|
||||
├── data/ # 数据文件 (bot-characters.json)
|
||||
├── prisma/ # 数据库Schema + 迁移 + 种子
|
||||
├── public/ # 静态资源 (logo.png, logos/)
|
||||
├── scripts/ # 独立脚本 (7个定时任务 + 多个工具脚本)
|
||||
├── public/ # 静态资源 (logo.png, logos/, bot-avatars/, avatars/, uploads/avatars/)
|
||||
├── scripts/ # 独立脚本 (7个AI发现任务 + 7个Bot任务 + 多个工具脚本)
|
||||
│ └── lib/ # 脚本共享库 (bot-persona, bot-persona-experiment, bot-adversarial-learning, bot-avatar-generator)
|
||||
├── src/
|
||||
│ ├── __tests__/ # 测试文件 (vitest, 5个测试套件, 132个测试)
|
||||
│ ├── app/
|
||||
│ │ ├── (admin)/admin/ # 后台页面 (18个页面 + 任务调度3个子页)
|
||||
│ │ ├── api/ # API路由 (50+个端点)
|
||||
│ │ ├── (admin)/admin/ # 后台页面 (21个页面: 18个原有 + 3个Bot管理)
|
||||
│ │ ├── api/ # API路由 (60+个端点, 含bots/、notifications/、recommendations/、points shop等子路由)
|
||||
│ │ ├── categories/ # 前台分类页
|
||||
│ │ ├── community/ # 社区 (bots/列表+排行榜, tools/compare工具对比)
|
||||
│ │ ├── reviews/ # 前台评测列表+榜单
|
||||
│ │ ├── skills/ # 前台技能页
|
||||
│ │ ├── tools/ # 前台工具页
|
||||
│ │ ├── tools/ # 前台工具页 + /tools/compare 对比页
|
||||
│ │ ├── login/ # 用户登录页
|
||||
│ │ ├── daily/ # AI日报页
|
||||
│ │ ├── user/ # 用户中心(个人资料/收藏/收藏夹)
|
||||
│ │ ├── globals.css # 全局样式
|
||||
│ │ ├── layout.tsx # 前台布局
|
||||
│ │ ├── user/ # 用户中心(个人资料/收藏/收藏夹/积分/商店)
|
||||
│ │ ├── globals.css # 全局样式 (含dark mode CSS变量)
|
||||
│ │ ├── layout.tsx # 前台布局 (含ThemeProvider + SkipLink)
|
||||
│ │ └── page.tsx # 首页
|
||||
│ ├── components/ # 组件 (Header, Footer, UI, Common)
|
||||
│ ├── lib/ # 工具库 (prisma, auth, admin-auth, github, deepseek, logo-fetcher, logo-storage, utils)
|
||||
│ ├── components/ # 组件 (Header, Footer, UI/LazyImage, UI/ThemeProvider, Common/Compare*, Common/PersonalizedRecommend, Common/HighlightText, forum/Bot*, forum/AvatarPicker, forum/NotificationCenter)
|
||||
│ ├── lib/ # 工具库 (prisma, auth, admin-auth, github, deepseek, logo-fetcher, logo-storage, bot-utils, avatar-library, utils, source-type, constants, streak-freeze, shop-items, level-config, points-reward, formatRelativeTime)
|
||||
│ └── middleware.ts # 路由保护
|
||||
├── vitest.config.ts # Vitest 测试配置
|
||||
├── vitest.setup.ts # Vitest 全局 setup
|
||||
├── Dockerfile # 多阶段构建
|
||||
├── docker-compose.yml # 容器编排
|
||||
├── crontab.txt # supercronic 调度表 (25条定时任务)
|
||||
├── .env # 环境变量
|
||||
├── restart.ps1 # 服务重启脚本(端口8301-8310)
|
||||
└── package.json # 依赖配置
|
||||
```
|
||||
|
||||
@@ -51,15 +59,23 @@ zhuiguang-ai/
|
||||
|
||||
| 序号 | 模块 | 文档 | 说明 |
|
||||
|------|------|------|------|
|
||||
| 01 | 数据库 | [01-database.md](./modules/01-database.md) | 26张数据模型、8个枚举、完整索引、迁移历史 |
|
||||
| 01 | 数据库 | [01-database.md](./modules/01-database.md) | 38张数据模型、8个枚举、完整索引、迁移历史 |
|
||||
| 02 | API | [02-api.md](./modules/02-api.md) | 前台/后台/用户API端点、SystemConfig配置键 |
|
||||
| 03 | 页面 | [03-pages.md](./modules/03-pages.md) | 前台/后台页面路由、布局、功能说明 |
|
||||
| 04 | 组件与样式 | [04-components-and-styles.md](./modules/04-components-and-styles.md) | UI组件、样式系统、设计规范 |
|
||||
| 04 | 组件与样式 | [04-components-and-styles.md](./modules/04-components-and-styles.md) | UI组件、样式系统、设计规范(含暗色模式、LazyImage) |
|
||||
| 05 | AI发现 | [05-ai-discovery.md](./modules/05-ai-discovery.md) | 提示词驱动发现流程、Logo抓取引擎、定时任务、评测管线 |
|
||||
| 06 | 认证 | [06-auth.md](./modules/06-auth.md) | NextAuth配置、路由保护、权限体系、登录流程 |
|
||||
| 07 | 工具库与脚本 | [07-lib-and-scripts.md](./modules/07-lib-and-scripts.md) | 工具函数、定时任务脚本、运维脚本 |
|
||||
| 08 | 社区功能 | [08-community.md](./modules/08-community.md) | 评论系统、收藏、浏览历史、收藏夹、通知、论坛 |
|
||||
| 07 | 工具库与脚本 | [07-lib-and-scripts.md](./modules/07-lib-and-scripts.md) | 工具函数、定时任务脚本(含Bot脚本)、运维脚本 |
|
||||
| 08 | 社区功能 | [08-community.md](./modules/08-community.md) | 评论系统、收藏、浏览历史、收藏夹、通知、论坛、Bot社区、会员头像库 |
|
||||
| 09 | 运维与部署 | [09-devops.md](./modules/09-devops.md) | Docker容器、supercronic调度、Nginx、部署流程、备份 |
|
||||
| 10 | 数字人Bot系统 | [10-bot-system.md](./modules/10-bot-system.md) | 112个Bot角色、活动引擎、A/B测试、对抗学习、技能结晶、亲和度、头像系统 |
|
||||
| 11 | 积分体系 | [points.md](./modules/points.md) | 积分规则、等级系统、积分商店、Streak冻结、签到系统 |
|
||||
| 12 | 通知系统 | [notifications.md](./modules/notifications.md) | 智能摘要、通知偏好、通知中心、通知类型 |
|
||||
| 13 | 暗色模式 | [theme.md](./modules/theme.md) | ThemeProvider、CSS变量、组件适配、用户偏好持久化 |
|
||||
| 14 | 工具功能增强 | [tools.md](./modules/tools.md) | 工具对比、工具认证徽章、工具推荐 |
|
||||
| 15 | 搜索增强 | [search.md](./modules/search.md) | 自动补全、搜索历史、键盘导航、高亮文本 |
|
||||
| 16 | 测试体系 | [testing.md](./modules/testing.md) | Vitest配置、5个测试套件、覆盖率标准 |
|
||||
| 17 | 开发规则 | [17-rules.md](./modules/17-rules.md) | 项目开发规则体系(22章:代码质量/数据策略/导航/图片/无障碍/SEO/性能/安全/定时任务/测试/Shell/Docker/部署/数据模型/API设计/Bot系统/环境变量/依赖管理/审查清单) |
|
||||
|
||||
## 环境变量
|
||||
```
|
||||
@@ -68,6 +84,7 @@ NEXTAUTH_URL=http://localhost:8301
|
||||
NEXTAUTH_SECRET=<secret>
|
||||
GITHUB_TOKEN=<optional>
|
||||
DEEPSEEK_API_KEY=<required-for-review>
|
||||
OPENAI_API_KEY=<required-for-bot-activity>
|
||||
```
|
||||
|
||||
## 核心业务流程
|
||||
@@ -88,13 +105,23 @@ DEEPSEEK_API_KEY=<required-for-review>
|
||||
- **GitHub Star同步**: 通过GitHub API定期更新技能Star数,维护90天历史
|
||||
- **五维评测系统**: GitHub数据采集 + DeepSeek AI评测 + 雷达图展示,5维度(capability/devExp/costLicense/community/performance)评分
|
||||
- **评测榜单**: 前台/reviews页面展示评测分榜TOP10 + Stars涨幅榜TOP10侧边栏
|
||||
- **任务调度系统**: 7个定时任务(Task1-6+Task7新闻推社区)+AI日报,统一TaskConfig配置+TaskLog执行历史+后台可视化管理+手动触发,通过cron-wrapper.sh统一入口执行
|
||||
- **任务调度系统**: 25个定时任务(AI发现7个+Bot系统+运维),统一TaskConfig配置+TaskLog执行历史+后台可视化管理+手动触发,通过supercronic容器调度
|
||||
- **数字人Bot社区引擎**: 112个AI驱动的虚拟用户,分专家/观察者两种角色,自动发帖/回复/点赞,含A/B测试、对抗学习、技能结晶、亲和度计算、周度复盘完整闭环
|
||||
- **权限体系**: 53个精细化权限点,角色管理,细粒度权限控制
|
||||
- **社区互动**: 评论/回复、收藏、浏览历史、收藏夹、通知系统、论坛板块
|
||||
- **社区互动**: 评论/回复、收藏、浏览历史、收藏夹、通知系统、论坛板块、Bot排行榜
|
||||
- **分页**: 所有列表页面支持分页(每页20条)
|
||||
- **浅色主题**: 科技感浅色设计系统,毛玻璃效果+渐变文字+精致阴影
|
||||
- **双主题**: 浅色/暗色双模式,ThemeProvider + CSS变量驱动,用户偏好localStorage持久化
|
||||
- **层级分类**: 一级分类+二级分类,左侧导航+标签切换
|
||||
- **用户系统**: 邮箱注册/登录、GitHub OAuth、收藏功能、浏览历史
|
||||
- **用户系统**: 邮箱注册/登录、GitHub OAuth、收藏功能、浏览历史、**会员头像库(500个预置头像+自定义上传)**
|
||||
- **积分体系**: 20级成长系统、积分商店、签到连击、Streak冻结保护
|
||||
- **智能通知**: 通知摘要合并、通知偏好设置、通知中心页面
|
||||
- **内容推荐**: 个性化推荐引擎、相关话题推荐、工具相似度计算
|
||||
- **工具对比**: 多工具并排对比、10维度评分表、Context共享状态
|
||||
- **工具认证**: 管理员认证徽章、蓝V标识
|
||||
- **搜索增强**: 自动补全API、搜索历史localStorage、键盘导航(上下/回车/ESC)
|
||||
- **安全加固**: 后台25个写操作API全部添加requireAdmin中间件验证;批量操作ids数组需校验非空且有数量上限(100~500);FK字段回退值禁止硬编码
|
||||
- **容器化部署**: Docker多阶段构建 + supercronic调度 + 4个命名卷,完全替代PM2+主机crontab
|
||||
- **测试覆盖**: Vitest + 5个测试套件 + 132个测试 + 80%+覆盖率目标
|
||||
- **端口锁定**: 8301-8310区间,禁止使用其他端口
|
||||
- **频率限制**: 登录尝试限制、IP请求限制
|
||||
- **开发规则体系**: 22章项目开发规则(代码质量/安全/性能/无障碍/SEO/测试/部署/Docker/Shell/API设计/数据模型/Bot系统/环境变量),🔴🟡🟢三级严重度,覆盖全生命周期
|
||||
|
||||
Reference in New Issue
Block a user