Files
zclaw_openfang/docs/archive/old-test-reports/admin-agent-evaluation-report.md
iven 2e5f63be32
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
docs: reorganize docs — archive outdated, create brainstorming folder
- Create docs/brainstorming/ with 5 discussion records (Mar 16 - Apr 7)
- Archive ~30 outdated audit reports (V5-V11) to docs/archive/old-audits/
- Archive superseded analysis docs to docs/archive/old-analysis/
- Archive completed session plans to docs/archive/old-plans/
- Archive old test reports/validations to respective archive folders
- Remove empty directories left after moves
- Keep current docs: TRUTH.md, feature docs, deployment, knowledge-base, superpowers
2026-04-07 09:54:30 +08:00

11 KiB
Raw Permalink Blame History

ZCLAW Admin V2 + Agent 会话端 功能评估报告

评估日期: 2026-03-31 评估范围: Admin V2 (localhost:5173) + Desktop Agent (localhost:1420) 后端版本: zclaw-saas v0.1.0 (Axum + PostgreSQL)


一、系统定位分析

1.1 Admin V2 定位

核心定位: AI Agent 管理平台 — 统一管理模型服务商、Token 池、Agent 模板、API 密钥和系统配置。

用户期望的两个核心功能:

功能 定位 实现状态
Token 池代理 多个 Tauri 客户端共享模型 API 配额coding plan 成本优化) 后端完整,前端 UI 不完整
行业 Agent 模板 预设行业 Agent含 soul.mdTauri 端获取后通过对话成长 基础框架在,缺行业定制化

实际角色分工:

  • Admin V2 = 管理控制平面(配置、监控、审计)
  • Desktop Agent = 用户交互平面(对话、任务执行、自主能力)
  • SaaS Backend = 中转与数据平面认证、Relay、Telemetry

1.2 数据流验证

Tauri Agent → SaaS Relay (/api/v1/relay/chat/completions)
           → Key Pool 选择可用 Key
           → 转发到模型提供商 API
           → 流式响应回传
           → 记录 Usage + Telemetry

后端实现完整Key Pool 轮换、429 冷却、RPM/TPM 限制),但 Admin 前端缺少 Key 添加/管理 UI。


二、环境状态

组件 状态 备注
SaaS Backend (8080) degraded 数据库连接池 96% (48/50)
Admin V2 (5173) 运行正常 Vite dev server
Desktop Agent (1420) 无法启动 多文件编译错误
PostgreSQL 运行中 连接池接近耗尽

三、Admin V2 功能测试结果

3.1 测试汇总

模块 页面 结果 备注
A. 认证 Login.tsx PASS 登录/登出正常TOTP 字段隐藏
B. 仪表盘 Dashboard.tsx PASS 5 统计卡片 + 10 条日志
C. 账号管理 Accounts.tsx PASS 13 条账号CRUD 正常
D. 服务商 Providers.tsx PARTIAL Key Pool 只读,无管理 UI
E. 模型管理 Models.tsx PASS 12 模型,服务商名正确解析
F. Agent 模板 AgentTemplates.tsx PARTIAL 无编辑功能
G. API 密钥 ApiKeys.tsx PASS 完整生命周期
H. 用量统计 Usage.tsx PARTIAL 按模型统计表显示 "No data"
I. 中转任务 Relay.tsx PASS 20 条任务,状态筛选正常
J. 系统配置 Config.tsx PASS 6 分类标签,内联编辑
K. 提示词管理 Prompts.tsx PASS 3 个内置模板,版本管理
L. 操作日志 Logs.tsx PASS 275 条日志,分页正常

通过率: 8/12 完全通过4/12 部分通过

3.2 各模块详细测试记录

A. 认证与访问控制

测试项 结果 说明
A1 登录页渲染 PASS 左品牌 + 右表单TOTP 隐藏
A2 正确凭据登录 PASS 跳转仪表盘
A3 错误凭据 PASS 错误提示显示
A4 Auth Guard PASS 未登录重定向到 /login
A5 退出登录 PASS 清除会话
A6 RBAC 菜单过滤 PASS filterMenuByPermission 工作正常
A7 页面刷新保持登录 FAIL 见问题 #1

B. 仪表盘

测试项 结果
B1 统计卡片 (5) PASS — 13 账号, 4 服务商, 12 模型, 0 请求, 134,244 Token
B2 最近日志 PASS — 10 条 account.login 记录

C. 账号管理

测试项 结果
C1 账号列表 PASS — 13 条, 角色/状态/2FA 列正确
C2 编辑账号 PASS — Modal 预填充
C3 禁用/启用 PASS — 状态切换即时生效

D. 服务商管理 + Key Pool

测试项 结果
D1 服务商列表 PASS — 5 个服务商
D2 创建服务商 PASS
D3 编辑服务商 PASS
D4 Key Pool 查看 PASS — Modal 显示 Key 数据
D5 Key Pool 管理 FAIL — 无添加/切换/删除按钮

E-H. 模型/Agent模板/API密钥/用量

测试项 结果
E1 模型列表 PASS — 12 模型,服务商名称正确解析
F1 Agent 模板列表 PASS — 5 个模板
F3 模板详情 PASS — 显示工具/能力标签
G1 API 密钥 PASS — 3 个密钥,权限标签正确
H1 每日统计 PASS — 112 请求, 308,560 Token
H2 按模型统计 FAIL — 显示 "No data"

I-L. 中转/配置/提示词/日志

测试项 结果
I1 中转任务 PASS — 20 条,状态筛选正常
J1 系统配置 PASS — 6 分类标签页
K1 提示词管理 PASS — 3 个内置模板
L1 操作日志 PASS — 275 条,分页正常

四、Desktop Agent 测试结果

4.1 编译阻断

Desktop Agent 无法启动,存在多个 TypeScript 解析错误:

文件 错误行 错误类型 根因
gateway-storage.ts:160 160 缺少 }/** console.log 清理引入
llm-service.ts:672 672 多余 } console.log 清理引入
gateway-client.ts:425+ 多处 多余 } console.log 清理引入

根因: 之前的 console.log → logger 替换工作(将 catch {} 改为 catch (e) { log.debug() })在多个文件中引入了错误的括号匹配。影响 9 个已修改文件中的至少 3 个。

修复状态: llm-service.ts 已修复。其余文件需逐一检查。

4.2 浏览器模式测试

修复 llm-service.tsDesktop Agent 在浏览器模式下成功显示登录界面:

  • ZCLAW 品牌 Logo
  • SaaS 登录表单(用户名/密码)
  • 登录/注册按钮
  • "ZCLAW AI Agent Platform" 副标题

但因 gateway-client.ts 仍有编译错误,无法完成登录流程。


五、问题清单(按优先级)

P0: 阻断性问题

# 问题 影响 文件 状态
1 Desktop Agent 编译错误 Agent 端完全无法使用 gateway-client.ts, gateway-storage.ts, llm-service.ts 已修复
2 Key Pool 管理 UI 缺失 Token 池核心定位功能不可用 admin-v2/src/pages/Providers.tsx 已存在 — 代码已有完整 addKey/toggleKey/deleteKey UI

修复说明 #1: catch {}catch (e) { log.debug() } 清理在 3 个文件中引入括号不匹配。gateway-storage.ts 通过 git checkout 恢复;llm-service.tsgateway-client.ts 手动移除多余的 }

说明 #2: 重新审读 Providers.tsx 发现 Key Pool 管理 UI 已完整实现(添加密钥 Modal + 切换/删除操作按钮 + addKey/toggleKey/deleteKey mutations。初始评估报告有误。

P1: 高优先级

# 问题 影响 文件 状态
3 页面刷新丢失登录状态 用户刷新页面后被迫重新登录 admin-v2/src/router/AuthGuard.tsx 已修复 — 新增 /auth/me cookie 验证恢复
4 Agent 模板无编辑功能 只能创建和归档,无法修改已有模板 admin-v2/src/pages/AgentTemplates.tsx 待修复
5 SaaS 后端数据库连接池 96% 服务状态 "degraded",接近连接耗尽 后端配置/连接管理 待修复
6 按模型统计显示 "No data" 用量页面按模型统计表为空,即使有 relay 请求记录 admin-v2/src/pages/Usage.tsx 或 telemetry API 待修复

P2: 中优先级

# 问题 影响 文件
7 RBAC 无路由级守卫 用户可通过 URL 直接访问无权限页面(菜单隐藏但 URL 可达) admin-v2/src/router/index.tsx
8 中转任务无操作按钮 无法重试失败任务或取消排队任务 admin-v2/src/pages/Relay.tsx
9 账号管理无创建账号 UI 只能编辑和禁用,无法通过 Admin 创建新账号 admin-v2/src/pages/Accounts.tsx
10 仪表盘缺少图表 已引入 @ant-design/charts 但未使用,统计仅有数字卡片 admin-v2/src/pages/Dashboard.tsx
11 API 密钥名称显示 "-" 创建密钥后名称列为空 admin-v2/src/pages/ApiKeys.tsx

P3: 低优先级

# 问题 影响 文件
12 Accounts.tsx import 在底部 第 170 行 import { useState } 位置不正确,虽然运行时无影响 admin-v2/src/pages/Accounts.tsx:170
13 配置重启提示不够明显 requires_restart=true 的配置项修改后无醒目警告 admin-v2/src/pages/Config.tsx
14 表格固定分页大小 所有 ProTable 不可调整每页条数 多处

六、系统定位与实际实现差距分析

6.1 Token 池代理

能力 后端 Admin 前端 状态
Provider CRUD 完整 完整 OK
Key Pool 添加 POST /providers/:id/keys 已实现 (Modal + Form) OK
Key Pool 切换 PUT /providers/:id/keys/:kid/toggle 已实现 (Switch 按钮) OK
Key Pool 删除 DELETE /providers/:id/keys/:kid 已实现 (Popconfirm) OK
Key Pool 查看 GET /providers/:id/keys 完整列表 OK
Relay 请求转发 完整(含 SSE 流式) 查看/筛选 OK
Key 轮换策略 priority + RPM/TPM + 429 cooldown OK
用量统计 telemetry API 每日统计 OK按模型空 部分

结论: 后端 Token 池功能完整Admin 前端 Key 管理 UI 也已完整实现(添加/切换/删除密钥)。初始评估有误。

6.2 行业 Agent 模板

能力 后端 Admin 前端 Desktop 状态
模板 CRUD 完整 创建+查看+归档 部分
模板编辑 PATCH /agent-templates/:id 未实现 缺失
行业预设 5 个通用模板 显示正常 基础
soul.md 人格 system_prompt 字段 基础
Desktop 获取模板 GET /agent-templates SaaS client 存在 待验证
Agent 成长系统 identity/memory 系统 已有

结论: Agent 模板基础框架已搭建,但缺少行业深度定制(医疗等特定行业的 soul.md、工具集、能力定义。模板编辑功能缺失也限制了模板迭代优化。


七、后续优化建议

紧急(已在本次评估中修复)

  1. 修复 Desktop Agent 编译错误 — 3 个文件的括号不匹配已修复,tsc --noEmit 零错误
  2. 补充 Key Pool 管理 UI — 经复查代码已存在完整 UI初始评估有误
  3. 添加 AuthGuard session 恢复 — AuthGuard 新增 /auth/me cookie 验证,页面刷新保持登录

高优1-2 周内)

  1. 添加 Agent 模板编辑功能
  2. 修复按模型统计 "No data" 问题 — 检查 telemetry API 的 model_stats 查询
  3. 调查数据库连接池问题 — 48/50 连接使用中,可能存在连接泄漏

中期1 个月内)

  1. 路由级 RBAC 守卫
  2. 中转任务操作(重试/取消)
  3. 账号创建 UI
  4. 仪表盘图表可视化
  5. 行业 Agent 模板深度定制(医疗、法律、教育等)