前言
欢迎来到 AutoHunter 部署与使用指南!本文旨在为安全研究人员和开发者提供一份详尽的 AutoHunter 系统部署手册。AutoHunter 是一个自动化 SRC 漏洞挖掘系统,集成了 FOFA 资产测绘与 LLM 多 worker 自主挖掘/审核/情报沉淀功能,能够显著提升漏洞挖掘效率。
无论你是安全新手还是经验丰富的渗透测试人员,本指南都将帮助你快速搭建并运行 AutoHunter 系统。我们将从最基础的 Docker 部署开始,逐步深入到本地源码部署、环境变量配置、常见问题排查等各个环节,确保你能够顺利启动并使用这个强大的自动化工具。
在开始之前,请确保你已经准备好以下资源:
- 一个可用的 FOFA 账号(或 Hunter 等其他网络空间测绘引擎的 API Key)
- AI 大模型的 API Key(如 DeepSeek、通义千问等)
- 基本的命令行操作知识
- Python 3.9+ 和 Node.js 16+ 环境(如果选择本地源码部署)
让我们开始吧!
下载资源

如何部署
要将 AutoHunter 部署到本地电脑,推荐优先使用 Docker 方式 (最省心,环境隔离好),其次是 本地源码运行。以下是具体步骤:
一、Docker 部署(推荐)
项目根目录包含 Dockerfile,说明支持容器化部署,这是最简单的方式。
-
安装 Docker Desktop
- Windows/Mac:前往官网下载并安装 Docker Desktop。
- Linux:使用包管理器安装
docker.io和docker-compose。
-
克隆项目代码
git clone https://github.com/StanleyNull/AutoHunter.git cd AutoHunter -
配置环境变量
-
复制
.env.example为.envcp .env.example .env -
编辑
.env文件,填入你的 API Key、数据库地址、FOFA Token 等必要配置。
-
-
构建并启动容器
docker compose up --build -d若无
docker-compose.yml,可手动构建镜像并运行:docker build -t autohunter . docker run -d --name autohunter -p 8000:8000 --env-file .env autohunter -
访问服务
- 前端页面:
http://localhost:8000(端口根据实际配置调整) - 后端 API:通常在
http://localhost:8000/api或类似路径
- 前端页面:
二、本地源码部署(适合开发者调试)
-
安装依赖环境
- Python ≥ 3.9(项目语言占比76%)
- Node.js ≥ 16(前端 Vue 项目)
- PostgreSQL / MySQL(根据
.env配置选择数据库)
-
克隆并进入项目

git clone https://github.com/StanleyNull/AutoHunter.git cd AutoHunter -
安装 Python 依赖

pip install -r requirements.txt -
安装前端依赖并构建

cd frontend npm install npm run build cd .. -
配置环境变量
- 同 Docker 部署步骤,复制并编辑
.env文件。 - (这步不清楚的可以看翻到后面,我写了两种方法)
- 同 Docker 部署步骤,复制并编辑
-
初始化数据库
解释: 这条命令会自动检测数据库变化并更新表结构。如果看到类似 INFO alembic.runtime.migration Context impl SQLiteImpl 或 Running upgrade 的字样且没有报错,就说明成功了。(若有报错,可往后翻,有详细解决办法)
python manage.py migrate # Django 项目
# 或
alembic upgrade head # Flask + SQLAlchemy 项目
- 启动服务
AutoHunter 是前后端分离的架构,你需要分别启动后端和前端。请打开两个终端窗口(或者在一个终端里分步操作):
- 启动后端 (核心服务)
这一步负责调用 AI 和 FOFA 接口。(若报错,往后翻,有详细解决方法)
-
确保终端路径在
E:\desktop\AutoHunter(项目根目录)。 -
输入以下命令并回车:
uvicorn main:app --reload
-
成功标志 :看到类似
Uvicorn running on http://127.0.0.1:8000的绿色字样,且没有红色报错。 -
启动前端 (网页界面)
这一步让你能通过浏览器访问工具。
现在打开浏览器,访问前端终端里显示的那个地址(通常是 http://localhost:5173),你应该就能看到 AutoHunter 的登录或主界面了!
🚀 开始使用

-
不要关闭上面的后端终端,新开一个终端窗口。
-
先进入前端文件夹:
cd frontend -
启动开发服务器:
npm run dev -
成功标志 :看到
Local: http://localhost:5173/(端口号可能是 5173 或 3000)。
✅ 你现在可以做的下一步操作:
点击顶栏「新建」按钮 (截图中右上角"任务"按钮旁边应该有个"+"或"新建"入口)
(我上面那个夜间模式的截图是还没认证的)要在令牌输入一开始.env文件中设置的密码认证了才会显示,(若存在疑问,可以往后翻,有详细解决步骤)
,尝试创建第一个漏洞挖掘任务。 观察控制台 :按 F12 打开浏览器开发者工具 → 切换到 Network(网络)标签页 → 点击"新建"或任何按钮时,看是否有请求发送到 http://127.0.0.1:8001。
-
如果看到 200 状态码 → 前后端通信正常!
-
如果看到红色报错(如 CORS、404、500)→ 别慌,往后翻,我帮你定位问题。
# 问题 原因 解决 1 看不到「新建任务」按钮 未认证, authRoleRef !== 'full'输入令牌登录 2 FOFA 报「不符合规范」 FOFA 账号是注册用户,无 API 配额(0/0) 换用 Hunter 等其他免费引擎 3 API 请求 404 Vite 代理端口写错(8000),且该端口上跑的是别的程序 改用 18800 端口 4 API 请求 500 后端跑在 8000,Vite 代理指向 18800(空端口) 统一端口为 18800
测试后端接口 :打开 http://127.0.0.1:8001/docs,看看 FastAPI 自动生成的 Swagger 文档里有没有 /tasks 或 /create 之类的接口,可以手动点"Try it out"测试一下。
💡 小提醒:
- 若你右上角显示"未认证",说明系统可能有登录/权限机制。如果点击"新建"没反应或提示需要登录,你可能需要先注册或登录一个账号(看有没有"登录"或"注册"按钮)。
- 如果"新建"按钮点不动,也可能是前端还没绑定事件,或者后端接口还没写好------这时候就要看控制台报错了。
第二种本地源码方式如何部署环境变量
"复制并编辑 .env 文件"听起来很专业,其实操作非常简单。你可以把它理解为**给软件填写"账号密码"和"设置"**的过程。
因为项目作者不能把他的私人密钥公开,所以他提供了一个模板文件 (.env.example)。你需要把这个模板复制一份,改个名字,然后填入你自己的信息,程序才能跑起来。
以下是针对 Windows 和 Mac 用户的"保姆级"操作教程:
第一步:找到文件
在你克隆下来的 AutoHunter 文件夹里,你会看到两个长得很像的文件:
.env.example(这是模板,不要直接改它).gitignore等其它文件
第二步:复制并重命名(二选一)
方法 A:使用命令行(最快,推荐)
如果你已经打开了终端(Terminal / CMD / PowerShell)并且停留在项目目录下,直接运行这一行命令:
-
Windows (PowerShell):
copy .env.example .env -
Mac / Linux:
cp .env.example .env运行完后,文件夹里会多出一个叫
.env的新文件。
方法 B:手动操作(鼠标流)
- 在文件夹里右键点击
.env.example。 - 选择"复制"。
- 在空白处右键"粘贴"。
- 把新生成的文件重命名为
.env(注意:Windows 可能会提示你"如果改变文件扩展名可能会导致文件不可用",点击是 ;如果看不见.example后缀,请确保文件名就是.env而不是.env.txt)。
第三步:编辑内容(填空)
-
打开文件 :右键点击刚才生成的
.env文件,选择用记事本 (Windows)或 文本编辑(Mac)打开。推荐用 VS Code 打开,会有颜色高亮,看着不累。 -
填写信息 :你会看到类似下面的内容:

-
怎么填?
这个 .env 文件虽然看起来很长,但其实你只需要关注最前面的几个核心配置,后面的大部分参数保持默认即可。
-
根据文件开头的注释提示,我为你整理了**"三步极简配置法"**:
第一步:配置 AI 大模型(必填)
这是整个系统的大脑,不填这个程序无法运行 。
找到文件开头的
【必填】AI / LLM 通道区域,默认已经帮你选好了 DeepSeek,你只需要填入你的 API Key:
-
我是用的阿里云的api,操作步骤网站上写的很详细了,我就不多说了



💡 提示:如果你没有 Key,可以去 DeepSeek 开放平台注册获取。如果你用的是其他模型(如通义、Kimi),请修改对应的 BASE_URL 和 MODEL。
第二步:配置 FOFA 测绘 Key(强烈推荐)
这个工具是用来自动搜集目标资产的,如果不填,你只能手动录入目标,会失去很多自动化功能。

找到
【推荐】FOFA 网络空间测绘 Key区域:
# 👉 【在这里填入你的 FOFA Key】 FOFA_KEY=你的FOFA_Key 下面的保持留空即可 FOFA_BASE_URL= FOFA_ALLOWED_HOSTS=💡 提示:去 FOFA 官网 (fofa.info) 登录个人中心(或者直接访问 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统),复制你的 API Key 填进去。

第三步:配置访问控制令牌(保护你的控制台)
为了防止别人偷偷访问你的本地服务,强烈建议设置一个访问密码。
找到
【强烈建议】访问控制令牌区域:# 👉 【在这里填入一个足够长的随机字符串作为密码】 AUTOHUNTER_API_TOKEN=MySuperSecretPassword123! 下面两个只读和观摩权限,本地自己用可以留空 AUTOHUNTER_READ_TOKEN= AUTOHUNTER_OBSERVER_TOKEN=🛑 剩下的需要改吗?
完全不需要!
文件里剩下的
服务监听、内置应用层 WAF、Worker 挖掘预算、并发与线程池等几百行参数,作者已经为你调好了默认值,直接保持原样,千万不要去动它们。
第四步:保存
-
填好后,直接按
Ctrl + S(Windows) 或Command + S(Mac) 保存,然后关掉文件。 -
确保文件名是
.env(不要变成.env.txt)。 -
确认无误后,你就可以回到上面
-
打开终端执行
python manage.py migrate开始启动啦!
初始化数据库常见问题
问题1:
这个错误是因为 Alembic 找不到迁移脚本的配置路径,通常发生在项目结构不完整或配置文件缺失时。

1. 检查项目根目录是否存在 alembic.ini 文件
- 打开你的 AutoHunter 项目文件夹(就是
E:\desktop\AutoHunter)。 - 确认根目录下有一个名为
alembic.ini的文件。如果没有,说明项目初始化不完整,需要从源码重新拉取或手动创建。
2. 检查 alembic 文件夹是否存在
- 在根目录下,应该有一个名为
alembic的文件夹(注意不是alembic.ini)。 - 这个文件夹里必须包含
env.py和versions/子文件夹。如果缺少,说明迁移环境未初始化。
✅ 修复方法
如果上述文件缺失,你需要重新初始化 Alembic 环境:
# 在项目根目录执行
alembic init alembic
这会创建 alembic.ini 和 alembic/ 文件夹。
然后再次运行:
alembic upgrade head
⚠️ 特别注意
- 不要手动删除
alembic文件夹:它包含数据库版本历史,删了会导致数据丢失。 - 如果项目是克隆的 Git 仓库 :检查
.gitignore是否误忽略了alembic/versions/,导致迁移文件未下载。 - Windows 路径问题 :确保项目路径中没有中文或特殊字符(如
E:\desktop\AutoHunter是安全的,但E:\桌面\AutoHunter可能出问题)。
完成以上步骤后,数据库初始化就能正常进行了。
问题2:
这个错误是因为 Alembic 在尝试连接数据库时,找不到你配置的数据库驱动(dialect)。从报错 sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:driver 来看,问题出在 alembic.ini 文件里的数据库连接字符串配置不正确。
按上述步骤还是报错

问题原因
Alembic 依赖 SQLAlchemy 来连接数据库。SQLAlchemy 需要知道你要连的是什么数据库(比如 SQLite、MySQL、PostgreSQL),以及用什么驱动去连。你的配置里写的是 driver,这不是一个真实的数据库类型,所以 SQLAlchemy 找不到对应的"方言包"来翻译指令。
解决方法
你需要打开项目根目录下的 alembic.ini 文件,找到 sqlalchemy.url 这一行,把它改成正确的数据库连接地址。
如果你用的是 SQLite(推荐新手使用)若不知道自己用的是什么,那大概率就是这个
这是最简单的方案,不需要安装额外的数据库软件。把 sqlalchemy.url 改成:
sqlalchemy.url = sqlite:///./app.db
这会在你当前目录下创建一个名为 app.db 的 SQLite 数据库文件。
如果你用的是 MySQL
你需要先安装 MySQL 驱动:
pip install pymysql
然后把 sqlalchemy.url 改成:
sqlalchemy.url = mysql+pymysql://用户名:密码@localhost:3306/数据库名
如果你用的是 PostgreSQL
你需要先安装 PostgreSQL 驱动:
pip install psycopg2-binary
然后把 sqlalchemy.url 改成:
sqlalchemy.url = postgresql+psycopg2://用户名:密码@localhost:5432/数据库名
修改后再次执行
保存 alembic.ini 文件后,回到终端重新运行:
alembic upgrade head
如果配置正确,这次就不会报错了,数据库表结构会自动创建成功。
启动服务常见问题
后端问题1:
这个错误 Could not import module "main" 意思是:Uvicorn 在当前目录下找不到名为 main.py 的文件。

这通常是因为你运行命令的目录不对,或者项目的主入口文件名字不叫 main.py。请按以下步骤排查:
确认主入口文件名
- 打开你的项目文件夹
E:\desktop\AutoHunter。 - 仔细看一眼根目录下的文件列表。
- 找找看有没有叫
main.py的文件?- 如果没有 :找找有没有叫
app.py、server.py或者run.py的文件?如果有,把启动命令里的main换成那个文件名(例如:uvicorn app:app --reload)。 - 如果有:请继续看下一步。
- 如果没有 :找找有没有叫
确认当前终端路径
虽然你的截图显示路径是 E:\desktop\AutoHunter,但有时候终端的"视觉路径"和"实际工作目录"不一致。
请在当前终端输入以下命令并回车,强制刷新一下路径:
cd E:\desktop\AutoHunter
然后再重新运行启动命令:
uvicorn main:app --reload
检查文件是否被隐藏或后缀名错误
有时候 Windows 会隐藏已知文件类型的扩展名。
- 你可能看到了一个叫
main的文件,但它实际可能是main.txt或者main.py.txt。 - 解决方法 :在文件夹上方的菜单栏点击"查看",勾选"文件扩展名",确保那个文件确实叫
main.py。
若找不到.py文件(如图所示)根目录下确实没有 main.py,但是有一个 app 文件夹。

最后发现在app文件夹里有

现在,请回到你的终端(PowerShell),输入下面这个绝对正确的命令
uvicorn app.main:app --reload
💡 命令解析
app(第一个):代表项目根目录下的app文件夹。main:代表文件夹里的main.py文件。:app(第二个):代表代码里定义的那个 FastAPI 实例变量名(通常都叫 app)。
执行后观察:
如果看到绿色的 Uvicorn running on http://127.0.0.1:8000,就说明后端启动成功了!
后端问题2:
若还是报错:端口被占用 和模块导入路径错误。

🔧 第一步:解决 WinError 10013(端口被占)
这个错误 以一种访问权限不允许的方式做了一个访问套接字的尝试,99% 的情况是因为 8000 端口被其他程序占用了(比如之前的 Uvicorn 进程没关干净,或者微信、其他开发工具占了)。
✅ 解决方法:换一个端口启动
在终端里输入以下命令,把端口从 8000 改成 8001:
uvicorn app.main:app --reload --port 8001
如果 8001 也被占了,就换 8002、8080 等,直到成功为止。
🛠️ 进阶:找出并杀掉占用端口的进程(可选)
如果你想彻底解决,可以查一下谁占了 8000 端口:
netstat -ano | findstr :8000
你会看到一个 PID(比如 12345),然后用任务管理器或命令杀掉它:
taskkill /PID 12345 /F
📦 第二步:解决 Attribute "app" not found(模块导入错误)
这个错误 Error loading ASGI app. Attribute "app" not found in module "app",说明你运行的命令 uvicorn app:app --reload 是错的------它试图把整个 app 文件夹当作一个模块,但里面没有直接定义一个叫 app 的变量。
✅ 正确命令(再次强调)
你必须指定到具体的文件:
uvicorn app.main:app --reload
app.main→ 进入app文件夹,找到main.py:app→ 在main.py里找那个叫app的 FastAPI 实例
🚀 最终推荐启动命令(一步到位)
结合上面两点,最稳妥的启动方式是:
uvicorn app.main:app --reload --port 8001
执行后,如果看到绿色的 Uvicorn running on http://127.0.0.1:8001,就说明后端成功了!
认证令牌常见问题
问题一:看不到「新建任务」和「设置」按钮
现象:页面显示「还没有任务」,顶部导航栏没有「新建」按钮。
根本原因 :前端有访问控制,App.vue:175-178 代码中写了:
<router-link v-if="authRoleRef === 'full'" to="/create" ...>
<span>新建</span>
</router-link>
只有当用户的认证角色为 full 时,这两个按钮才会渲染。没有令牌 = 未认证 = 角色为 null = 按钮被隐藏。
解决:在顶部导航栏点击「令牌」按钮,输入 .env文件自己设置的密码即可。
问题二:FOFA 报「不符合规范」
现象:在任务中使用 FOFA 引擎搜索时,返回错误提示。
根本原因 :FOFA 账号类型为「注册用户」(免费账号),API 配额为 0/0。FOFA 当前政策是:注册账号仅能通过 Web 界面使用,API 接口需要付费会员或单独购买 API 点数。截图显示:
身份权限: 注册用户
API查询次数余额: 0/0
API数据返回额度: 0/0

这不是账号密码错误,是账号类型本身就没有 API 调用权限。
解决 :改用其他免费有 API 的引擎。已在 .env 第 65 行配置了 Hunter(奇安信)的 Key:HUNTER_KEY=ff.。。。。(自己的API)。创建任务时把引擎选为「Hunter」即可。

问题三:修改 .env 后令牌仍然无效
现象 :修改了 AUTOHUNTER_API_TOKEN 为**。。。(.env文件自己设置的的密码)**,前端输入后提示令牌无效。
根本原因:有两个叠加问题:
- 后端进程在启动时通过
app/config.py:10-24的_load_dotenv()加载.env文件到os.environ,之后每次令牌校验(app/security.py:48-49)都是从内存的环境变量读取。修改文件后必须重启后端进程才能生效,光刷新浏览器没用。 - 浏览器本地还缓存了旧令牌:之前访问过的令牌被存储在
localStorage和cookie (ah_api_token)中,每次请求都会自动带上旧令牌,导致即使.env正确,请求中发出去的还是旧令牌。
解决 :后端重启 + 浏览器清缓存(localStorage.clear() + 删除 cookie)。
问题四:API 请求返回 404({"detail":"Not Found"})
现象 :所有 /api/* 请求(/api/auth/status、/api/tasks、/api/settings 等)均返回 404。
根本原因 :vite.config.js:13 中 Vite 代理配置的端口写错了:
"/api": { target: "http://localhost:8000", ... }

端口 8000 上运行的不是 AutoHunter 后端,而是一个 Acunetix 漏洞扫描系统 。访问 http://localhost:8000/docs 可以看到那是一个完全不同的 Swagger 文档(路由是 /api/v1/configuration、/api/v1/plugins 等)。所以 Vite 把前端请求转发到了 Acunetix 的后端,Acunetix 不认识 AutoHunter 的 /api/auth/status 等路由,返回 404。
解决:将 Vite 代理端口改为 AutoHunter 实际运行的端口(18800)。但最初改好后又出现了问题五。
问题五:API 请求返回 500(Internal Server Error)
现象 :把 Vite 代理改到 18800 后,请求返回空的 500 错误(响应体为空,Content-Type 为 text/plain)。
根本原因 :之前为了修复问题四,临时把 Vite 代理从 8000 改成了 18800,但后端仍然跑在 8000 端口(uvicorn app.main:app --reload --port 8000)。所以请求被转发到了 18800 端口,而那个端口上没有任何服务在监听 → 空连接 → 500 错误。
解决 :将后端也改为 18800 端口启动:uvicorn app.main:app --reload --port 18800,同时 Vite 代理保持 18800。前后端端口统一后问题消失。
若F12之后
-
点击「响应」标签(在「标题」旁边)
-
里面的内容(错误堆栈)是空的
说明后端在返回响应之前就崩溃了。这不是令牌问题,是后端本身的问题。 -
-
确认后端是否在运行
curl -s http://localhost:18800/health
或(在powershel里)
curl.exe -s http://localhost:18800/health -
-
如果返回
{"ok": true}--- 后端在跑 -
如果连接失败 --- 后端根本没启动
-
也在浏览器里测试一下:访问
http://localhost:8000/docs(FastAPI 自带的 Swagger 文档),看看能不能打开。这样能确认后端是否真的正常启动了。 -
若浏览器访问显示:

则localhost:8000上跑的根本不是 AutoHunter 的后端 ,而是另一个 Acunetix 漏洞扫描系统的后端(看/docs里的路由:/api/v1/configuration、/api/v1/plugins这些)。
所以你现在有两个选择:
方案一:让 AutoHunter 跑在别的端口(推荐)
在 AutoHunter 后端的终端里,先按 Ctrl+C 停掉当前的 uvicorn,然后用一个不同的端口重新启动:
cd e:\desktop\AutoHunter
uvicorn app.main:app --reload --port 18800
然后把 Vite 代理也改成 18800:
但这样你就需要停掉现在跑在 8000 端口的东西。你可以先看看:
netstat -ano | findstr :8000
然后把 Vite 代理改回 8000,确保前端代理到正确的后端。
第一步:停掉当前后端,改用 18800 端口启动
在后端终端 (跑 uvicorn 的那个)按 Ctrl+C 停掉,然后执行
cd e:\desktop\AutoHunter
uvicorn app.main:app --reload --port 18800
第二步:重启 Vite 前端
在前端终端 (跑 npm run dev 的那个)按 Ctrl+C 停掉,然后执行:
cd e:\desktop\AutoHunter\frontend
npm run dev
第三步:验证后端
在浏览器访问 http://localhost:18800/docs ,应该能看到 AutoHunter 的 Swagger 文档(而不是之前的 Acunetix)。
第四步:清除浏览器缓存并登录
在浏览器控制台执行:
localStorage.clear();
document.cookie = 'ah_api_token=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/';
location.reload();
然后在令牌输入框粘贴之前.env文件,你自己填入的密码
再检查一下后端运行情况:

同时请在另一个终端执行:
curl.exe -s http://localhost:18800/health

显示这样就是没问题啦,再重新启动一下服务,浏览器刷新一下

功能都完整就可以开始漏洞扫描啦!
💡 常见问题(避坑指南)
- 我看不到
.env.example文件?- 有些系统会隐藏以
.开头的文件。请在文件夹上方点击"查看",勾选"隐藏的项目"。
- 有些系统会隐藏以
- 保存后变成了
.env.txt?- 这是 Windows 新手的经典坑。记事本默认会加个
.txt后缀。你需要开启Windows的"显示文件扩展名"功能,把后面的.txt删掉,确保它就叫.env。
- 这是 Windows 新手的经典坑。记事本默认会加个
- Key 从哪里来?
- 这个项目主要依赖 FOFA (网络空间测绘)和 LLM(大模型,如 ChatGPT/DeepSeek)。你需要去 FOFA 官网注册获取 Key,以及去大模型服务商后台获取 API Key,填进去才能工作。
注意事项
- API Key 安全 :切勿将真实密钥提交到 Git,
.env文件应加入.gitignore。 - 端口冲突 :若 8000 端口被占用,可在
.env或启动命令中修改。 - 日志与调试 :查看容器日志
docker logs autohunter,或本地运行时观察终端输出。 - 更新代码 :定期
git pull获取最新修复和功能。
🚀 每日启动标准流程
以后每次启动这个项目,你都需要同时运行两个服务(后端和前端)。
为了让你操作更熟练,我把标准流程整理成了"傻瓜式"步骤。建议你在桌面上建个记事本,或者直接记住下面这套连招:
你需要打开 两个 终端窗口(或者在 VS Code 里 split 两个终端)。
终端 1:启动后端 (Python)
-
打开终端,确保在项目根目录
AutoHunter下。 -
输入启动命令(记得带上端口号,因为你之前 8000 被占用了):
uvicorn app.main:app --reload --port 8001注:如果下次 8001 没被占用,也可以试着去掉
--port 8001,直接用默认的 8000。
终端 2:启动前端 (Node.js)
-
打开一个新的终端窗口。
-
进入前端文件夹:
cd frontend -
启动开发服务器:
npm run dev(如果这个报错,试一下
npm run serve)
💡 几个让开发更爽的小技巧
关于"不用每次都输命令"
- 后端 :如果你用的是 VS Code,可以配置
.vscode/launch.json,按 F5 就能直接启动后端,不用手敲命令。 - 前端:同理,VS Code 也可以配置一键启动前端。
关于"端口被占用"的终极解决
如果你不想每次都加 --port 8001,可以在每次关闭程序时,确保在终端里按 Ctrl + C 彻底停止服务,而不是直接叉掉窗口。这样端口通常会立即释放。
关于"依赖安装"
- 不需要 每次都运行
pip install -r requirements.txt(后端) 或npm install(前端)。 - 只有当你更新了代码库(git pull)或者换了电脑时,才需要重新安装依赖。平时直接启动即可。
我下次打开的步骤(每个人可能有区别)
需要启动 3 个服务:
第一步:启动后端(端口 18800)
打开一个终端:
PowerShell
cd e:\desktop\AutoHunter uvicorn app.main:app --reload --port 18800第二步:启动前端(端口 5173)
再开一个终端:
PowerShell
cd e:\desktop\AutoHunter\frontend npm run dev第三步:访问并登录
浏览器打开
http://localhost:5173,点击顶部「令牌」按钮,输入.env文件中自己设置的
注意事项
- 顺序无所谓,两个终端都启动好就行
- 不要关终端,关了对应服务就停了
- 如果之前那个 Acunetix 服务占着 8000 端口,不用管,AutoHunter 用的是 18800,不冲突
- FOFA 没 API 配额,创建任务时用 Hunter 引擎(已在
.env配置了 Key)