内容
# Beacon
**Beacon** 是一个用于构建请求、链接 API 流、验证响应以及运行授权负载和速率限制测试的现代化 API 工作空间。
使用 React、TypeScript、Vite、shadcn/ui、FastAPI 和可选的 Tauri 桌面外壳构建,适用于 Windows、macOS 和 Linux。

## 产品预览
### 有序的 API 工作空间
管理多个项目和环境,组织嵌套文件夹中的端点,选择测试模式,并从一个工作空间监控运行。

### 动态请求构建器
使用环境变量、生成的值、身份验证助手、头部、cookie 和响应提取器构建 JSON、表单、多部分或原始请求。

### 发送和检查响应
在开始负载测试之前发送单个请求。检查状态、延迟、大小、头部、解析的 JSON、提取的变量和断言结果。JSON 字段可以直接从响应中提升为提取器。

### 断言和场景
将通过/失败规则附加到端点,然后运行选定的 API 或 Web 请求与虚拟用户或链接整个项目。提取的值会传递到后续步骤,具有重试和继续错误控制的链接流程。


### 项目和环境
在开发、暂存和其他环境中保持基准 URL 和变量的分离,而无需复制端点定义。

### 本地运行历史
搜索、过滤、固定、检查、导出和比较已保存的运行。历史记录保留在本地,并在实时监控清除后保持已完成的证据可用。

## 功能
- 具有嵌套、拖放请求文件夹的项目工作空间
- 准备运行的 JSONPlaceholder 示例,具有 47 个有组织的 CRUD、过滤和关系请求
- 使用 `{{variable}}` 模板的环境和全局变量
- 新鲜的每个请求生成器,例如 `{{random_email}}`、`{{uuid}}`、`{{timestamp}}` 和 `{{random_string:12}}`
- Postman 集合导入和编辑项目导出
- JSON、表单、多部分和原始请求体
- 用于 HTML 文档负载测试、重定向、TTFB 和吞吐量的 Web 页面目标
- 每个端点的身份验证、头部、cookie、提取器和运行覆盖
- 单次发送,带有结构化响应检查器和单击提取 JSON 字段
- 状态、响应时间、主体内容、JSON 字段和头部的断言
- 有序场景,具有基于提取器的状态链接、隔离的虚拟用户、迭代、渐进、思考时间和重试,以及每个步骤的瓶颈指标
- 负载、渐进、峰值、浸泡、速率探测、容量、模糊、基准和场景测试模式
- 实时尝试、成功率、速率限制、错误、响应日志、延迟趋势和可导出结果
- 本地运行历史,带有固定、过滤、可展开的图表和语义双运行比较
- 通过 Tauri 桌面应用程序,带有捆绑的 FastAPI 和 MCP 侧车
- 用于 Claude、Cursor、Windsurf、Cline、Continue 等 MCP 客户端的标准 MCP 服务器
## 快速入门
### 一次性设置
```bash
# pnpm(推荐)
pnpm run setup
# Windows 替代方案
setup.bat
```
### 启动应用程序
```bash
pnpm dev
```
启动器从根目录 `.env` 读取端口并启动:
- FastAPI 后端:<http://localhost:8000>
- React 前端:<http://localhost:5173>
- VitePress 文档:<http://localhost:5174/docs/>
- landing 页面:<http://localhost:5175>
在全新安装时,Beacon 会打开一个保守的 JSONPlaceholder 示例项目,包含六个资源文件夹和 47 个请求。现有的工作空间永远不会被替换;使用侧边栏中的 **添加示例项目** 来添加或重新打开它。
要启动单个服务:
```bash
pnpm run dev:backend
pnpm run dev:frontend
pnpm run dev:docs
```
### 手动设置
```bash
# 后端
cd backend
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --port 8000
# 前端(新终端)
cd frontend
pnpm install
pnpm dev
```
## MCP 服务器
Beacon 包含一个标准的 stdio MCP 服务器,可以列出和管理项目、文件夹和端点;导入集合;发送单个请求;运行端点或链接场景。
在桌面应用程序中,打开 **MCP 服务器** 以注册带有支持的客户端或复制一个现成的配置。有关设置和可用工具,请参见 [MCP 服务器文档](./docs/mcp.md)。
## 文档
完整的 VitePress 文档位于 [`docs/`](./docs/index.md)。
```bash
pnpm run dev:docs
pnpm run docs:build
pnpm run docs:preview
```
## 安全
仅在您拥有或明确授权测试的系统上使用 Beacon。本地配置可以包含实时 URL、cookie、承载令牌和其他凭据;`config/tests.json` 被 Git 忽略,并且必须保持私有。
## 许可证
Beacon 是在 [MIT 许可证](./LICENSE) 下获得许可的开源软件。