2026-05-25: 等级体系升级(20级)+论坛二级分类+会员空间
This commit is contained in:
@@ -79,19 +79,6 @@ AI发现模块是追光AI的核心功能,采用"提示词+JSON粘贴导入"模
|
||||
- `downloadLogo(url, filename): Promise<string>` — 下载Logo到 `/public/logos/` 目录
|
||||
- 返回本地路径如 `/logos/filename.png`
|
||||
|
||||
## 脚本
|
||||
|
||||
### discover-skills.mjs
|
||||
- 独立运行的AI技能发现脚本
|
||||
- 遍历20个技能分类,每类调用DeepSeek API推荐10个GitHub开源项目
|
||||
- 通过 `/api/admin/pending-skills/batch` 批量导入
|
||||
- 每分类间隔3秒避免限流
|
||||
- 自动排除已收录技能
|
||||
|
||||
### import-tools-batch1.mjs / import-tools-batch2.mjs
|
||||
- 硬编码的AI工具数据导入脚本
|
||||
- 通过 `/api/admin/pending/batch` 批量导入
|
||||
|
||||
## 自动化评测流程
|
||||
|
||||
### 架构概览
|
||||
@@ -105,14 +92,6 @@ Prisma → Skill记录 + SkillReview记录 + ReviewGenerationLog日志
|
||||
前端 → /api/skills/[slug]/review → SkillReviewCard雷达图展示
|
||||
```
|
||||
|
||||
### 评测脚本 (scripts/auto-review.mjs)
|
||||
- 搜索关键词: ai agent, llm framework, rag, prompt engineering
|
||||
- 每日限制: 8个项目 (DAILY_LIMIT可配置)
|
||||
- 最低Star数: 500
|
||||
- 去重: 通过sourceUrl检查是否已存在
|
||||
- 综合分校验: 自动计算五维均分,偏差>0.3时修正
|
||||
- 评测状态: 初始为DRAFT,需手动或通过脚本改为PUBLISHED
|
||||
|
||||
### 五维评测维度
|
||||
| 维度 | 字段 | 说明 |
|
||||
|------|------|------|
|
||||
@@ -125,8 +104,57 @@ Prisma → Skill记录 + SkillReview记录 + ReviewGenerationLog日志
|
||||
### 评测标签分类
|
||||
LLM框架, Agent框架, RAG, 提示工程, 多模态, 代码助手, 模型训练, 数据工程, 部署工具, 评测工具, 安全对齐, 其他
|
||||
|
||||
### 发布评测脚本 (scripts/publish-reviews.mjs)
|
||||
- 将DRAFT状态评测改为PUBLISHED
|
||||
- 同时将对应Skill状态从draft改为published
|
||||
## 定时任务自动化(Task调度系统)
|
||||
|
||||
## 踩坑记录
|
||||
### 架构概览
|
||||
```
|
||||
Crontab(6个定时) → 脚本执行(Node.js .mjs) → 外部API调用(GitHub/DeepSeek/网站)
|
||||
↓
|
||||
Prisma → Tool/Skill/PendingTool/PendingSkill/DailyReport 写入
|
||||
↓
|
||||
TaskLog表记录执行结果(status/duration/result/error)
|
||||
↓
|
||||
后台管理 /admin/tasks → 查看配置/状态/历史/手动触发
|
||||
```
|
||||
|
||||
### 7个任务总览
|
||||
|
||||
| # | 任务 | 脚本 | Cron | 依赖外部API | 产量 |
|
||||
|---|------|------|------|------------|------|
|
||||
| Task1 | 发现AI工具 | task1-discover-tools.mjs | 06:00 | DeepSeek + RSS抓取 | 不定 |
|
||||
| Task3 | 工具巡检 | task3-check-tools.mjs | 03:00 | 网站GET请求 | 全部Tool+PendingTool |
|
||||
| Task4 | 发现AI技能 | daily-discover.mjs | 05:00 | GitHub API + DeepSeek | ≤30/天 (stars≥1000) |
|
||||
| Task5 | 更新星值 | task5-update-stars.mjs | 01:00 | GitHub API | 全部GitHub技能 |
|
||||
| Task6 | 评测热门 | task6-review-hot.mjs | 04:00 | GitHub API + DeepSeek | 2个/天 |
|
||||
| - | AI日报 | daily-news.mjs | 07:30 | RSS多源 + DeepSeek | 1篇/天 |
|
||||
|
||||
### TaskLog 统一记录
|
||||
所有任务脚本统一在末尾写入TaskLog:
|
||||
```javascript
|
||||
await prisma.taskLog.create({
|
||||
data: { taskKey: "taskX-xxx", taskName: "任务名", status: "completed",
|
||||
startedAt, finishedAt, duration, result, error }
|
||||
});
|
||||
```
|
||||
失败时在 catch 块中写入 status: "failed" 的日志。
|
||||
|
||||
### 后台可视化
|
||||
- `/admin/tasks` — 6个任务卡片,显示启用状态/Cron/最近执行/手动运行
|
||||
- `/admin/tasks/logs` — 全部执行历史,按任务筛选,可展开查看结果详情
|
||||
- `/admin/tasks/[taskKey]` — 单任务详情,统计成功率/失败率/平均耗时
|
||||
|
||||
## 质量过滤
|
||||
|
||||
### isValidAIProject()
|
||||
- 关键词过滤: `book/guide/tutorial/awesome/interview/notes/handbook/cheatsheet/roadmap/curated-list` 等
|
||||
- 语言过滤: 纯Markdown/HTML文档Repo(Stars<5000)自动拒绝
|
||||
- 主题过滤: 有GitHub Topics的Repo必须包含AI相关Topic(ai/llm/rag/agent/gpt等)
|
||||
|
||||
## AI日报新闻源
|
||||
- **36kr** RSS (https://36kr.com/feed) — 国内科技资讯
|
||||
- **IT之家** RSS (https://www.ithome.com/rss/) — 国内科技资讯
|
||||
- **开源中国** RSS (https://www.oschina.net/news/rss) — 开源动态
|
||||
- **HackerNews** API — 海外AI/技术热点
|
||||
- **Google News** RSS — 海外新闻(国内服务器可能无法访问)
|
||||
- 流程: 搜索真实新闻 → AI关键词过滤 → 近2天筛选 → DeepSeek整理格式 → 入库发布
|
||||
- **严禁让DeepSeek直接生成新闻内容**(会编造假新闻),必须基于真实新闻素材整理
|
||||
|
||||
Reference in New Issue
Block a user