docs: refresh codebase map

This commit is contained in:
2026-04-20 18:59:15 +08:00
parent 5b64422dfb
commit ab3f8fecc3
9 changed files with 1396 additions and 709 deletions
+220
View File
@@ -0,0 +1,220 @@
# AgentPark n8n Dataflow
这份文档回答两个问题:
1. 这 8 条生产流程分别负责什么。
2. 数据怎样从外部源头进入 AgentPark,再进入数据库、API 和页面展示。
## 范围
当前纳入范围的 8 条生产流程:
1. `Topic项目计划新增`
2. `每日Github Trending项目计划新增`
3. `项目分析入库(多源)`
4. `GitHub Star 每日刷新`
5. `项目描述向量化`
6. `RAG项目搜索`
7. `前沿信号聚合(多源+AI Agent过滤)`
8. `项目标签重置`
不在这 8 条内,但已登记在仓库上下文中的旁路流程:
- `AI对话网关(Agent Park`
## 系统边界
当前体系不是“单仓库闭环”,而是三层:
- 外部数据源层:GitHub Search API、GitHub Trending、Hacker News、Reddit、arXiv、Product Hunt、Hugging Face
- n8n 编排层:抓取、去重、AI 过滤、标签重置、向量化、信号结构化
- AgentPark 应用层:Postgres/Prisma、Next.js API、页面组件
还有一个明确存在但当前仓库里没有实现代码的外部服务边界:
- `Discovery Task Service`
- `GET/POST/PATCH /api/discovery/tasks`
- `POST /api/discovery/check-duplicates`
## 核心实体
- `projects`
- `external_links`
- `tags`
- `project_tags`
- `signals`
- `projects.embedding`
## 总流图
```mermaid
flowchart TD
subgraph Sources["External Sources"]
GHSearch["GitHub Search API"]
GHTrend["GitHub Trending"]
GHRepo["GitHub Repository API"]
HN["Hacker News"]
Reddit["Reddit"]
Arxiv["arXiv"]
PH["Product Hunt"]
HF["Hugging Face"]
Silicon["SiliconFlow Embeddings"]
end
subgraph N8N["n8n Workflows"]
W1["1 Topic项目计划新增"]
W2["2 每日Github Trending项目计划新增"]
W3["3 项目分析入库(多源)"]
W4["4 GitHub Star 每日刷新"]
W5["5 项目描述向量化"]
W6["6 RAG项目搜索"]
W7["7 前沿信号聚合"]
W8["8 项目标签重置"]
end
subgraph Discovery["External Discovery Service"]
Dedupe["/api/discovery/check-duplicates"]
Tasks["/api/discovery/tasks"]
Complete["/api/discovery/tasks/:id/complete"]
end
subgraph App["AgentPark App + DB"]
DBProjects["projects"]
DBLinks["external_links"]
DBTags["tags / project_tags"]
DBSignals["signals"]
APIProjects["/api/projects"]
APISearch["/api/search/ai"]
APISignals["/api/signals"]
APITagReset["/api/tags/reset-projects"]
UIProjects["Projects pages"]
UISignals["Signals page"]
UIHome["Home rankings"]
end
GHSearch --> W1
GHTrend --> W2
W1 --> Dedupe
W2 --> Dedupe
Dedupe --> Tasks
Tasks --> W3
W3 --> Complete
Complete --> DBProjects
Complete --> DBLinks
Complete --> DBTags
DBProjects --> W5
Silicon --> W5
W5 --> DBProjects
DBProjects --> W6
Silicon --> W6
W6 --> APISearch
APISearch --> UIProjects
DBProjects --> W4
DBLinks --> W4
GHRepo --> W4
W4 --> DBProjects
DBProjects --> UIHome
DBProjects --> UIProjects
HN --> W7
Reddit --> W7
Arxiv --> W7
PH --> W7
HF --> W7
W7 --> DBSignals
W7 --> Dedupe
DBSignals --> APISignals
APISignals --> UISignals
DBTags --> W8
DBProjects --> W8
W8 --> APITagReset
APITagReset --> DBTags
APITagReset --> UIProjects
```
## 主链路拆解
### 1. 项目发现链路
- `Topic项目计划新增`
- `每日Github Trending项目计划新增`
职责:
- 从 GitHub 搜索结果和 Trending 列表中找候选项目
- 先走 discovery 去重
- 再用 LLM 做保留/丢弃判断
- 最后把可入库项目写进 discovery 任务队列
### 2. 项目入库链路
- `项目分析入库(多源)`
职责:
- 轮询 discovery 任务队列
- 任务置为 `IN_PROGRESS`
- 浏览器/AI 收集事实
- 生成标准化项目内容、外链、标签候选
- 调用 completion 接口完成入库
- 失败时置为 `FAILED`
### 3. 项目检索链路
- `项目描述向量化`
- `RAG项目搜索`
职责:
- 生成并更新 `projects.embedding`
- 通过 webhook 对用户查询生成向量
- 在 Postgres 中进行向量相似度搜索
- 返回项目 ID 与相似度
### 4. Signals 展示链路
- `前沿信号聚合(多源+AI Agent过滤)`
职责:
- 从 6 类外部源抓取内容
- 规则过滤、去重、AI 结构化
- 写入 `signals`
- 从保留信号中提取 GitHub 仓库,回流 discovery
### 5. 标签治理链路
- `项目标签重置`
职责:
- 拉取标签池和项目列表
- 按 5 类标签做归类
- 调用标签重置接口更新项目标签
### 6. Star 刷新链路
- `GitHub Star 每日刷新`
职责:
- 读取项目 GitHub 链接
- 调 GitHub API 获取仓库信息
- 更新 `githubStars``githubStarsUpdatedAt`
## 当前“就绪状态”定义
现在仓库已经具备:
- 8 条生产流程的仓库内登记
- 代码触点与 workflow 的映射关系
- 从“源头 -> n8n -> DB/API -> 页面”的主链路图
仍然不在当前仓库闭环的内容:
- discovery task service
- n8n credentials / secrets / runtime env