v0.11.1: 权限体系重构 + AI管线优化 + 内容整理
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# AI发现模块
|
||||
|
||||
## 概述
|
||||
AI发现模块是追光AI的核心功能,采用"提示词+JSON粘贴导入"模式,用户复制页面内嵌的提示词发给AI助手,获取JSON后粘贴到页面导入,不调用任何外部AI API。
|
||||
|
||||
## 架构
|
||||
```
|
||||
页面内嵌提示词模板(含排除列表) → 用户复制发给AI助手 → AI返回JSON → 粘贴到页面 → API去重导入 → PendingTool/PendingSkill → 管理员审核 → Tool/Skill
|
||||
```
|
||||
|
||||
## 五大操作指令
|
||||
|
||||
### 探索AI工具 (`/admin/discover-tools`)
|
||||
1. 选择分类(20个工具分类)
|
||||
2. 复制提示词(自动注入排除列表)
|
||||
3. 粘贴AI返回的JSON到输入框
|
||||
4. 点击导入按钮,API自动去重导入待审核列表
|
||||
5. 可选:批量抓取Logo
|
||||
|
||||
### 检测AI工具 (`/admin/check-tools`)
|
||||
1. 选择范围(已发布/待审核)
|
||||
2. 一键检测+抓取Logo
|
||||
3. 系统自动逐一GET请求检测网站可访问性
|
||||
4. 同时自动抓取缺失Logo,记录成功方法名
|
||||
5. 展示Logo抓取方法统计(按成功次数排序)
|
||||
6. 失效工具可一键删除
|
||||
|
||||
### 探索AI技能 (`/admin/discover-skills`)
|
||||
1. 选择分类(20个技能分类)
|
||||
2. 复制提示词(自动注入排除列表)
|
||||
3. 粘贴AI返回的JSON到输入框
|
||||
4. 点击导入按钮,API自动去重导入待审核列表
|
||||
|
||||
### 更新Skill技能 (`/admin/update-skills`)
|
||||
1. 选择范围(已发布/待审核)
|
||||
2. 一键更新Star
|
||||
3. 系统自动从GitHub/Gitee/GitCode API获取最新星级
|
||||
4. 展示Star变化表格(上升/下降/不变)
|
||||
|
||||
### AI新闻发现 (`/admin/discover-news`)
|
||||
1. 复制新闻发现提示词
|
||||
2. 粘贴AI返回的JSON到输入框
|
||||
3. 点击导入按钮,自动生成今日AI日报
|
||||
4. 新闻6大分类:产品发布/融资投资/技术突破/政策法规/开源项目/行业事件
|
||||
5. 每条新闻含热度评分(1-100)
|
||||
|
||||
## Logo抓取引擎 (`src/lib/logo-fetcher.ts`)
|
||||
|
||||
### 核心API
|
||||
- `fetchLogo(websiteUrl, html?): Promise<string>` — 返回Logo URL
|
||||
- `fetchLogoWithMethod(websiteUrl, html?): Promise<{url, method}>` — 返回Logo URL + 成功方法名
|
||||
|
||||
### 抓取策略(按优先级,共10种)
|
||||
1. **HTML Link图标**: 解析 `<link rel="icon/apple-touch-icon">` 标签
|
||||
2. **OG/Twitter图片**: 解析 `<meta property="og:image">` 标签
|
||||
3. **HTML Manifest**: 解析 `manifest.json` 中的icons数组
|
||||
4. **HTML img标签**: 查找class/alt含"logo"的img标签
|
||||
5. **Header区域Logo**: 解析header/nav区域内的img标签
|
||||
6. **SVG Logo**: 查找内联SVG logo
|
||||
7. **常见路径**: 尝试 /apple-touch-icon.png, /logo.png, /favicon.ico 等
|
||||
8. **Favicon服务**:
|
||||
- favicon.im
|
||||
- Google Favicons (sz=128/64)
|
||||
- Clearbit
|
||||
- DuckDuckGo
|
||||
- Favicon Grabr (API解析)
|
||||
- Icon Horse (API解析)
|
||||
9. **Brandfetch品牌库**: 通过Brandfetch API获取品牌Logo
|
||||
10. **截图兜底**: 通过截图服务获取网站截图
|
||||
|
||||
### 配置项
|
||||
- `enabledMethods`: 启用的抓取方法
|
||||
- `commonPaths`: 常见图标路径列表
|
||||
- `faviconServices`: Favicon服务列表
|
||||
- `minFileSize`: 最小文件大小(默认50字节)
|
||||
- `requestTimeout`: 请求超时(默认10秒)
|
||||
|
||||
### Logo本地存储 (`src/lib/logo-storage.ts`)
|
||||
- `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` 批量导入
|
||||
|
||||
## 自动化评测流程
|
||||
|
||||
### 架构概览
|
||||
```
|
||||
GitHub API (octokit) → 搜索热门仓库 → 获取README
|
||||
↓
|
||||
DeepSeek API (openai兼容) → 五维评测生成 → JSON解析+校验
|
||||
↓
|
||||
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
|
||||
|
||||
### 五维评测维度
|
||||
| 维度 | 字段 | 说明 |
|
||||
|------|------|------|
|
||||
| 场景与能力 | capability | 场景覆盖度和核心能力 |
|
||||
| 开发体验 | devExp | 安装、文档、API易用性 |
|
||||
| 成本与许可 | costLicense | 硬件成本、API定价、许可证风险 |
|
||||
| 社区健康 | community | Issue响应、PR频率、生态 |
|
||||
| 性能稳定 | performance | 运行效率、稳定性、输出质量 |
|
||||
|
||||
### 评测标签分类
|
||||
LLM框架, Agent框架, RAG, 提示工程, 多模态, 代码助手, 模型训练, 数据工程, 部署工具, 评测工具, 安全对齐, 其他
|
||||
|
||||
### 发布评测脚本 (scripts/publish-reviews.mjs)
|
||||
- 将DRAFT状态评测改为PUBLISHED
|
||||
- 同时将对应Skill状态从draft改为published
|
||||
|
||||
## 踩坑记录
|
||||
Reference in New Issue
Block a user