feat(tests): enhance modelTesterSession tests and add proxy logs tests

- Updated modelTesterSession tests to serialize assistant history as output_text and removed mime_type from input_file.
- Introduced new tests for stats proxy logs routes, covering paginated log retrieval and detailed log views with parsed billing details.
- Added server-driven tests for ProxyLogs component to validate API interactions and UI rendering based on server data.
This commit is contained in:
cita
2026-03-09 13:48:39 +08:00
parent 3dcf45851f
commit 136a038538
28 changed files with 1631 additions and 727 deletions
+16 -11
View File
@@ -37,16 +37,20 @@
### Q: AnyRouter 这类魔改站点为什么更容易报错?
**A:** AnyRouter 为魔改实现,删除了Access Token入口,也有其他类似的魔改中转站。建议:
**A:** AnyRouter 在 Metapi 中按 NewAPI 兼容站点处理,但不少实例会隐藏 Access Token 入口,或额外加登录盾。建议:
1. 先尝试 Session 模式 + Access Token
2. 若站点不支持或报认证相关错误,再尝试 Cookie
1. 如果站点后台能生成系统访问令牌,优先用 Session 模式 + Access Token
2. 如果没有 Access Token 入口,或验证时被盾/认证页拦截,再改用 Cookie 导入
3. 若返回 HTML 盾页错误,先在浏览器完成验证后再重新绑定
### Q: Sub2API 站点怎么处理?
**A:** Sub2API 常见 JWT 短期会话机制,和传统 NewAPI 站点差异较大。当前建议:
1. 在「凭证模式」里选择 Session 模式,粘贴 JWT / Bearer Token 进行验证
2. 不要使用账号密码登录,Metapi 不支持代替 Sub2API 做登录
3. Sub2API 不支持签到;如果你只关心代理调用,也可以直接改用 API Key 模式
4. 若 `GET /v1/models` 为空,先确认该账号下已有可用用户 API Key,Metapi 会再尝试用它发现模型
## 部署相关
@@ -61,11 +65,11 @@
### Q: 登录失败,提示令牌无效
**A:** 先确认你输入的是“管理员令牌”而不是代理令牌。登录后台使用的是 `AUTH_TOKEN`,注意:
**A:** 先确认你输入的是管理员令牌,而不是代理令牌。登录后台使用的是 `AUTH_TOKEN`,注意:
- 初始管理员令牌 = 启动时设置的 `AUTH_TOKEN`
- 如果你在非 Compose 场景未显式设置 `AUTH_TOKEN`,默认值是 `change-me-admin-token`(仅建议本地调试)
- 若复用旧 `data/` 目录,系统会优先读取数据库中的 `auth_token` 设置(可能覆盖当前环境变量)
- 若复用旧 SQLite `data/` 目录,或当前实例已切到 MySQL / Postgres,系统会优先读取当前运行数据库中的 `auth_token` 设置(可能覆盖当前环境变量)
- 使用 `.env` 文件时,确认文件路径正确,且值不需要加引号
### Q: Docker Compose 启动报错 `AUTH_TOKEN is required`
@@ -85,7 +89,7 @@ docker compose up -d
**A:** 排查步骤:
1. 确认下载的是与你系统匹配的桌面安装包
2. Windows 首次运行若出现“未知发布者”,先确认安装包来自官方 Releases
2. Windows 首次运行若出现未知发布者提示,先确认安装包来自官方 Releases
3. 如果桌面版提示后端启动失败,优先查看托盘菜单中的日志目录
4. 如需部署到服务器,请改用 Docker / Docker Compose,而不是桌面安装包
@@ -108,7 +112,7 @@ docker compose up -d
1. 未添加任何站点或账号
2. 账号处于 `unhealthy` 状态 — 在账号管理页面检查并刷新
3. 未同步 Token — 在 Token 管理页面点击「同步」
4. 模型未发现 — 手动触发模型刷新
4. 模型未发现 — 手动触发模型刷新;若近期改过站点/账号/路由,可到「设置 → 清除缓存并重建路由」或「TokenRoutes → 重建路由」后再试
### Q: 非流式正常,但流式输出异常(卡住、乱码、截断)
@@ -178,12 +182,13 @@ docker compose up -d
**A:** 两种方式:
1. **应用内导入导出**(推荐):在管理后台 → 导入/导出 页面操作,支持选择性导出
2. **目录迁移**:直接拷贝 `data/` 目录到新环境
1. **应用内导入导出**(推荐):在管理后台 → 导入/导出 页面操作,适合 SQLite / MySQL / Postgres / Desktop 之间迁移
2. **目录迁移**:仅适用于当前运行在 SQLite 的实例(包括桌面版本地数据目录)
3. **数据库原生迁移**:如果当前运行库是 MySQL / Postgres,请使用数据库自己的备份/恢复工具,而不是只拷贝 `data/`
### Q: 如何清理历史数据
**A:** 代理日志和签到日志会持续增长。在管理后台对应页面可以清理历史记录。
**A:** 代理日志和签到日志会持续增长。在管理后台对应页面可以清理历史记录;如果还需要把路由占用统计一并归零,可到「设置 → 清除占用与使用日志」。
### Q: 开源发布时如何避免泄露敏感信息