## 新增功能 - 文件管理模块:分类树 + 文件上传/下载/删除 - 文件上传支持拖拽(Dragger)+ 手动上传(customRequest 模式) ## 页面布局统一(参照评测执行页) - 仪表盘/评测对象/评测场景/评测报告 全部改为全高 flex 布局 - 统一内联页头样式(h2 + 竖线分隔 + 描述) - 表格撑满高度、overflow 处理 - 每页添加刷新按钮 ## Bug 修复 - 分类树操作按钮 hover 不可见(CSS 规则缺失) - 文件上传失败(multipart boundary 缺失) - LLM API 响应 content blocks 数组格式支持(_extract_content_from_api_response) - response_time_max_ms 被静默忽略(隐式规则传空 params) - 空 messages 导致 IndexError 崩溃 - poll_reply 异常中止整个 run(缺 try/catch) - engine finally 未关闭 session - 3 个页面 UTC 时间戳解析偏差 8 小时 ## 后端 - EvalEngine: poll_reply 异常保护、空 dialog 保护、session 关闭 - LLM API 响应解析支持 content-block-array 格式 - 隐式 response_time 规则正确传递 max_ms 参数 ## 前端 - api.ts: 移除手动 Content-Type(让浏览器自动添加 boundary) - Files.tsx: customRequest 替代 beforeUpload、布局优化 - index.css: 分类树 hover 规则 - Targets/Scenarios/Home/Reports: 全高布局改造 - 3 个页面时间戳改用 formatDateTime()(修复 UTC 偏差) Co-Authored-By: Claude <noreply@anthropic.com>
230 lines
4.3 KiB
Markdown
230 lines
4.3 KiB
Markdown
# AgentEvalTool 部署文档
|
||
|
||
**版本**: v1.0
|
||
**日期**: 2026-07-09
|
||
**状态**: 已发布
|
||
**作者**: AgentEval Team
|
||
|
||
---
|
||
|
||
## 一、概述
|
||
|
||
本文档提供 AgentEvalTool 的部署指南,包括 Docker 容器化部署和裸机部署两种方式。
|
||
|
||
## 二、部署方式
|
||
|
||
### 2.1 Docker 容器化部署(推荐)
|
||
|
||
Docker 部署是推荐的生产环境部署方式,提供以下优势:
|
||
- 环境隔离
|
||
- 易于扩展
|
||
- 版本管理
|
||
- 快速部署
|
||
|
||
**部署文档**:
|
||
- [t480 服务器部署指南](t480-v1.0.md) - 针对 t480 测试服务器的具体部署步骤
|
||
|
||
### 2.2 裸机部署
|
||
|
||
裸机部署适用于开发环境或特殊需求场景。
|
||
|
||
**前置要求**:
|
||
- Python 3.10+
|
||
- Node.js 18+(用于构建前端)
|
||
- Git
|
||
|
||
**部署步骤**:
|
||
|
||
1. **克隆代码**
|
||
```bash
|
||
git clone <repository-url>
|
||
cd AgentEvalTool
|
||
```
|
||
|
||
2. **安装后端依赖**
|
||
```bash
|
||
pip install -e ".[dev]"
|
||
```
|
||
|
||
3. **构建前端**
|
||
```bash
|
||
cd frontend/web
|
||
npm install
|
||
npm run build
|
||
cd ../..
|
||
```
|
||
|
||
4. **配置**
|
||
```bash
|
||
# 创建配置文件
|
||
mkdir -p config
|
||
cp config.example.json config/config.json
|
||
# 编辑 config/config.json,填入 tutu-api 配置
|
||
```
|
||
|
||
5. **启动服务**
|
||
```bash
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
6. **验证**
|
||
```bash
|
||
curl http://localhost:8000/api/health
|
||
# 期望返回:{"status":"ok"}
|
||
```
|
||
|
||
## 三、配置说明
|
||
|
||
### 3.1 配置文件
|
||
|
||
配置文件位于 `config/config.json`,包含 tutu-api 连接参数:
|
||
|
||
```json
|
||
{
|
||
"base_url": "https://api.example.com",
|
||
"token": "jwt-token",
|
||
"tenant": "tenant-id",
|
||
"chat_channel_id": "channel-id",
|
||
"chat_contact_id": "contact-id"
|
||
}
|
||
```
|
||
|
||
**注意**:
|
||
- `token` 有效期为 30 天,需定期更新
|
||
- 配置文件包含敏感信息,不要提交到版本控制
|
||
|
||
### 3.2 数据目录
|
||
|
||
数据存储在 `data/` 目录:
|
||
- `data/agenteval.db`: SQLite 数据库
|
||
- `data/scenarios/`: 场景 YAML 文件
|
||
- `data/reports/`: 生成的报告文件
|
||
|
||
**备份建议**:定期备份 `data/` 目录。
|
||
|
||
## 四、环境要求
|
||
|
||
### 4.1 硬件要求
|
||
|
||
- **最低配置**:2 CPU, 4GB RAM, 10GB 磁盘
|
||
- **推荐配置**:4 CPU, 8GB RAM, 20GB 磁盘
|
||
|
||
### 4.2 软件要求
|
||
|
||
- **操作系统**:Linux (Ubuntu 20.04+), macOS, Windows (WSL2)
|
||
- **Docker**:20.10+(容器化部署)
|
||
- **Docker Compose**:2.0+(容器化部署)
|
||
|
||
### 4.3 网络要求
|
||
|
||
- 能够访问 tutu-api 服务
|
||
- 如需外部访问,需开放 8000 端口(或自定义端口)
|
||
|
||
## 五、运维指南
|
||
|
||
### 5.1 日志查看
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
docker logs -f agenteval
|
||
```
|
||
|
||
**裸机部署**:
|
||
日志输出到标准输出,可使用 systemd 或 supervisor 管理。
|
||
|
||
### 5.2 服务重启
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
docker compose -f deploy/t480/docker-compose.yml restart
|
||
```
|
||
|
||
**裸机部署**:
|
||
```bash
|
||
# 停止服务
|
||
pkill -f "agenteval server"
|
||
|
||
# 启动服务
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
### 5.3 版本更新
|
||
|
||
**Docker 部署**:
|
||
```bash
|
||
# 拉取最新代码
|
||
git pull
|
||
|
||
# 重新构建并启动
|
||
docker compose -f deploy/t480/docker-compose.yml up -d --build
|
||
```
|
||
|
||
**裸机部署**:
|
||
```bash
|
||
# 拉取最新代码
|
||
git pull
|
||
|
||
# 更新依赖
|
||
pip install -e ".[dev]"
|
||
|
||
# 重新构建前端
|
||
cd frontend/web && npm install && npm run build && cd ../..
|
||
|
||
# 重启服务
|
||
pkill -f "agenteval server"
|
||
agenteval server start --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
## 六、故障排查
|
||
|
||
### 6.1 服务无法启动
|
||
|
||
**检查端口占用**:
|
||
```bash
|
||
ss -tln | grep 8000
|
||
```
|
||
|
||
**检查日志**:
|
||
```bash
|
||
docker logs agenteval
|
||
```
|
||
|
||
### 6.2 数据库连接失败
|
||
|
||
**检查数据目录权限**:
|
||
```bash
|
||
ls -la data/
|
||
```
|
||
|
||
**检查数据库文件**:
|
||
```bash
|
||
file data/agenteval.db
|
||
```
|
||
|
||
### 6.3 前端无法访问
|
||
|
||
**检查前端构建**:
|
||
```bash
|
||
ls -la frontend/web/dist/
|
||
```
|
||
|
||
**检查静态文件挂载**(Docker):
|
||
```bash
|
||
docker exec agenteval ls -la /app/frontend/web/dist/
|
||
```
|
||
|
||
## 七、安全建议
|
||
|
||
1. **配置文件安全**:不要将 `config/config.json` 提交到版本控制
|
||
2. **网络隔离**:生产环境建议使用反向代理(Nginx/Caddy)并配置 HTTPS
|
||
3. **定期备份**:定期备份 `data/` 目录
|
||
4. **Token 管理**:定期更新 tutu-api token(30 天有效期)
|
||
5. **访问控制**:如需外部访问,配置身份验证和访问控制
|
||
|
||
## 八、支持
|
||
|
||
如有部署问题,请:
|
||
1. 查看本文档的故障排查章节
|
||
2. 检查日志输出
|
||
3. 联系 AgentEval Team
|