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
Update audit tracker, roadmap, architecture docs, add admin-v2 Roles page + Billing tests, sync CLAUDE.md, Cargo.toml, docker-compose.yml, add deep-research / frontend-design / chart-visualization skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.6 KiB
6.6 KiB
ZCLAW V11 修复优先级计划
生成日期: 2026-04-02 关联审计: COMPREHENSIVE_AUDIT_V11.md + V11_GAP_ANALYSIS.md
Sprint 分配建议
Sprint 1 (P1 — 紧急修复)
V11-P1-01: trigger_update 参数修复
- 影响: Trigger 配置更新静默失败
- 修复复杂度: 低(1 文件修改)
- 文件:
desktop/src/lib/kernel-triggers.ts:99 - 方案: 将嵌套
updates对象展开为扁平参数
// 修复前:
await invoke('trigger_update', { id, updates });
// 修复后:
await invoke('trigger_update', {
id,
name: updates.name,
enabled: updates.enabled,
handId: updates.handId,
});
- 同时修复: Rust 端添加
trigger_type参数支持(trigger.rs:183-189) - 验证: 修改 trigger 配置后检查 Kernel 状态
V11-P1-02: SaaS 配置同步传播
- 影响: SaaS 管理员修改配置后不影响 Kernel 运行时
- 修复复杂度: 中(需要新增 Tauri 命令或事件机制)
- 方案:
- 选项 A: saasStore.pullConfig 完成后调用 Tauri command 通知 Kernel 重新加载配置
- 选项 B: Kernel 定期检查配置文件变更(watcher)
- 选项 C: 明确记录为 "前端缓存同步,不影响 Kernel"
- 建议: 先选 C(文档对齐),后续迭代实现 A
- 验证: 在 SaaS 后台修改配置 → 检查 Kernel 日志是否反映变更
V11-P1-03: 孤立 SQL 表处理
- 影响: 数据写入但无法读取,浪费存储
- 修复复杂度: 低
- 方案:
prompt_sync_status: 实现读取查询(OTA 端点需要)telemetry_reports: 添加 admin-v2 查询端点key_usage_window: 确认是否需要(限流可能已改用内存方案)
- 验证:
grep -rn "SELECT.*FROM.*<table>" crates/zclaw-saas/src/有结果
Sprint 2 (P2 — 高优先级)
V11-P2-01: 删除 saas-admin.ts
- 修复复杂度: 低(删除 1 文件 + saas-client.ts 中的 install 调用)
- 前置条件: 确认 admin-v2 完全不依赖此文件
- 验证: admin-v2 所有页面功能正常
V11-P2-02: Role/Permission 管理
- 选项 A: 为 admin-v2 添加 roles service 和页面
- 选项 B: 移除 SaaS role 路由(如果当前不需要 RBAC)
- 建议: 评估业务需求后决定
V11-P2-03: 迁移 deprecated gateway-storage 调用者
- 文件:
gateway-client.ts:44,71,211,configStore.ts:252 - 方案: 将 sync 方法调用替换为 async 版本
- 验证: Gateway 连接功能测试
V11-P2-04: ToolDefinition 去重
- 文件:
zclaw-runtime/src/driver/mod.rs:94 - 方案: 重导出
zclaw-types::tool::ToolDefinition - 验证:
cargo build通过
V11-P2-05: 未调用 Tauri 命令评估
- 62 个命令需逐一评估:
- classroom_*: 确认 classroomStore 是否真正调用(可能是 store 中调用的)
- pipeline_*: 确认 workflowStore 是否调用
- gateway_*: 确认是否有侧车进程调用
- viking_*: 确认 Settings 页面是否调用
- 验证: 对每个命令 grep
invoke('command_name'
V11-P2-06: SQL LIMIT 添加
- 文件:
migration/service.rs,knowledge/service.rs - 方案: 为 config_items SELECT 添加 LIMIT 1000,knowledge_categories 添加 LIMIT 100
- 验证: SQL 执行计划验证
Sprint 3 (P3 — 中优先级)
V11-P3-01: audit-logger 接入
- 方案: 在 ApprovalsPanel、AutonomyConfig、chatStore 的关键操作中添加 logAudit 调用
- 或: 标记为 reserved 并从 index 导出中移除
V11-P3-02: OFP 能力处理
- 方案: 添加
// Reserved for OpenFang Protocol注释或移除变体
V11-P3-03: 移除 deprecated extract_structured_facts
- 方案: 删除 growth.rs:224 的 deprecated 方法
- 验证:
cargo build通过
V11-P3-04: SaaS knowledge stub 实现
- 文件: knowledge/handlers.rs:91,293,321
- 方案: 实现真正的分页查询、回滚、推荐算法
- 验证: admin-v2 Knowledge 页面功能测试
V11-P3-05: 定时任务执行结果持久化
- 方案: 添加 last_result/last_error 列到 scheduled_tasks 表
- 迁移: 新增 SQL migration
- 验证: 创建定时任务 → 执行 → 检查结果是否存储
V11-P3-06 ~ P3-08: 其他清理
- 移除 secure-storage sync 方法
- 启用 embedding 生成或注释
- 清理 config 预留参数注释
Sprint 4 (P4 — 低优先级 / 文档)
V11-P4-01: ContentBlock 命名规范
- 方案: 为每个 crate 的 ContentBlock 添加 crate 前缀注释
zclaw_types::ContentBlock= LLM 消息内容zclaw_hands::ContentBlock= 幻灯片渲染zclaw_protocols::ContentBlock= MCP 协议格式
V11-P4-02: 类型名称统一
- 方案: 建立共享类型包
@zclaw/types或使用 OpenAPI schema 生成 - 13+ 类型名称不一致需要协调
V11-P4-03: 文档数字更新
- Skills: 76
- Hands: 9 目录(CLAUDE.md 应更新 "11" → "9 目录 + 2 禁用配置")
- Tauri 命令: 175
- SaaS 路由: 58
- Stores: 15
V11-P4-04/05: Feature-gated 代码保持现状
- Director/A2A/WASM: 等产品路线图决定
- Embedding 生成: 等 OpenViking 集成完成后启用
依赖关系图
V11-P1-01 (trigger_update 修复)
└── 无依赖,可独立完成
V11-P1-02 (配置同步传播)
└── 依赖设计决策(选项 A/B/C)
V11-P1-03 (孤立表处理)
└── V11-P2-06 (SQL LIMIT) 可同时处理
V11-P2-01 (删除 saas-admin.ts)
└── V11-P2-04 (ToolDefinition 去重) 可同时完成
V11-P2-03 (迁移 deprecated 调用)
└── 需要先确认 async 版本稳定性
V11-P3-04 (knowledge stub 实现)
└── 依赖 V11-P1-03(确认表用途后实现读取)
V11-P4-02 (类型统一)
└── 长期任务,不阻塞其他修复
修复工作量估算
| Sprint | 项数 | 预估工作量 | 风险等级 |
|---|---|---|---|
| Sprint 1 (P1) | 3 | 中 | 高(P1-02 需设计决策) |
| Sprint 2 (P2) | 6 | 高 | 中(P2-05 工作量大) |
| Sprint 3 (P3) | 8 | 中 | 低 |
| Sprint 4 (P4) | 5 | 低 | 低 |
验证检查清单
编译验证
cargo build --workspace
pnpm tsc --noEmit
功能验证
- 创建/更新/删除 Trigger → 检查 Kernel 状态
- SaaS 后台修改配置 → 检查 desktop 前端行为
- Admin-v2 Knowledge 页面 CRUD
- 定时任务执行 → 检查结果存储
- Agent 审批 → Hand 自动执行
- Pipeline 运行 → 完成事件通知
回归验证
# Rust 测试
cargo test --workspace
# 前端测试
pnpm vitest run
# Admin-v2 测试
cd admin-v2 && pnpm test