Files
zclaw_openfang/docs/features/audit-v12/M8-admin-v2.md
iven 442ec0eeef
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(audit): V12 模块化端到端审计报告 — 11 模块 + 总报告
混合矩阵式审计:10 个功能模块 × 五维检查清单
- 项目整体健康度: 76/100
- 2 个 P0 (M4 双数据库 + 反思引擎 LLM 未接入)
- 15 个 P1 (跨 M2/M3/M4/M5/M6/M7/M11)
- 三类断链模式: 写了没接/接了不对/双实现未统一
- 三阶段修复路线图: P0(2-3天) → P1(5-7天) → P2(5-7天)
2026-04-04 17:55:03 +08:00

42 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 模块 M8 Admin V2 管理后台 审计报告
> **审计版本**: V12 | **日期**: 2026-04-04
## 1. 链路完整性
14 个页面全部与后端 API 对齐。认证流程(HttpOnly Cookie + JWT)完整。权限检查一致。
| 页面 | CRUD 完整性 | 权限 | 状态 |
|------|------------|------|------|
| Login | R(认证) | 公开 | ✅ |
| Dashboard | R | admin | ✅ |
| Accounts | R + U | admin | ✅ |
| ModelServices | CRUD | provider/model:manage | ✅ |
| Relay | R only | relay:use/admin | ⚠️ 缺 retry |
| Billing | R + Payment | billing | ✅ |
| Logs | R | admin | ✅ |
| Prompts | CRUD + 版本 | prompt:manage | ✅ |
| Roles | CRUD | role:manage | ✅ |
| Knowledge | CRUD + 搜索 + 版本 | knowledge:manage | ✅ |
| ScheduledTasks | CRUD | scheduler:manage | ✅ |
| AgentTemplates | C + R + U + D | template:manage | ✅ |
| Usage | R | admin | ✅ |
| Config | R + U | admin | ✅ |
**链路完整性评分: 88/100**
## 2. 问题清单
| ID | 文件:行号 | 级别 | 描述 | 修复建议 |
|----|----------|------|------|---------|
| M8-01 | `api-keys.ts:6` | P2 | API Key 列表只返回当前用户的Admin 需要全局视角 | 后端新增 admin 级 key 列表端点 |
| M8-02 | `Relay.tsx` | P2 | 缺少 retry 操作,后端有但前端未暴露 | 添加 retry 按钮 |
| M8-03 | `authStore.ts:13-25` | P2 | ROLE_PERMISSIONS 硬编码前端,与后端可能不同步 | 改为从 API 动态获取 |
| M8-04 | `config.ts:10` | P3 | config list 返回类型不一致(数组 vs 分页) | 统一返回类型 |
| M8-05 | `Accounts.tsx:122` | P3 | 引用 last_login_at 但后端 AccountPublic 无此字段 | 后端添加字段 |
| M8-06 | `Login.tsx:39` | P3 | TOTP 检测靠字符串匹配('TOTP'),不够健壮 | 改为结构化 error code |
| M8-07 | `agent-templates.ts:31` | P3 | update 用 POST 而非 PUT/PATCHREST 语义不规范 | 前后端统一为 PUT |
| M8-08 | `billing.ts` | P3 | 类型定义在 service 内重复,未复用 @/types | 统一到 types 目录 |
**综合健康度: 82/100** — 14 页面 CRUD 整体对齐良好,前端权限硬编码和缺少 retry 是主要扣分项。