项目简介
最近,Github上开源了一个能够自动生成网站信息的导航站系统 --------- AigoTools。只需要输入收录网站的地址,就能够自动对网站进行截图,然后爬取网站信息并通过大模型处理网站信息。基于这个系统,可以轻松部署具有上万网址的导航站。非常适合开发者部署第一套自己的导航站或者垂直领域的导航站。
Github:
```
https://github.com/someu/aigotools.git
```
下面我们分析下这个项目网站管理的核心功能以及如何快速上手部署使用。
核心功能
用户浏览
AigoTools 具有完善的网站管理和相关的功能,例如语义化搜索功能、分类管理、用户提交以及自动化爬取收录等。进入网站后,可以看到一个很简洁的首页,包含了一个标语、搜索框、推荐分类、推荐站点和最新提交站点。
AigoTools 支持语言化搜索,例如用户搜索"i want write an article",可以将与之相关的网站都搜索出来。
进入网站详情页,可以看到网站内容的详细信息。包括了网站的描述、网站的特点、使用案例、网站内容相关链接、分类、使用人群、价格和相关搜索等。通过这个页面,可以了解到目标网站功能的大部分内容。
网站添加和录入
AigoTools支持两种网站添加的途径:用户提交和管理员添加。用户提交的网站首先会进入审核列表,当管理员通过审核后,才会加入到网站中。新增的网站初始状态并没有详细信息,管理员在后台下发爬去任务后,网站会进入爬取队列,由爬取服务去收录网站信息。
同时AigoTools还有一个非常实用的功能,它可以批量网站爬取,这无疑会大大简化收录的速度。
分类管理
AigoTools 还具有二级网站分类管理的功能,可以在后台进行分类的增删改查,同时还具有一级分类和二级分类。
快速上手
AigoTools 包含导航站主体(packages/aigotools
)和收录服务(packages/crawler
)两个部分,可以通过docker-compose
一键部署。
前置准备
部署前,需要做两个前置操作:
-
前往 https://clerk.com/ 创建 application,并添加一个用户作为登录管理后台的管理员。
-
申请好
OpenAI apiKey
和jina apiKey
,它们会在收录网站时使用。
部署
- 克隆仓库
```
git clone https://github.com/someu/aigotools.git
```
```
cd aigotools
```
- 配置环境变量 拷贝
packages/aigotools
和packages/crawler
下的.env
为.env.prod
,然后修改两个配置文件。
```
cp packages/aigotools/.env packages/aigotools/.env.prod
```
```
cp packages/crawler/.env packages/crawler/.env.prod
```
- 启动项目
```
docker-compose up -d
```
项目亮点
-
项目基于nextjs和nestjs开发,导航站主体和爬取服务分离,如果不需要爬取服务,可以直接将导航站主体部署在vercel上,非常的方便快捷。
-
基于大模型的网站信息处理,该项目使用了jina来读取网站信息,openai来总结网站信息和自动分类。项目里分别有信息总结和分类处理的提示词,使用gpt4-o模型来总结网站信息。
-
爬取服务基于bulljs做队列管理,能轻松处理上万导航站的爬取任务。
-
该项目的UI偏简洁,作者还开源设计稿,我们可以基于设计稿再做调整开发自己的站点。
项目地址
Github仓库:
```
https://github.com/someu/aigotools.git
```
体验网站:
```
https://www.aigotools.com/
```