diff --git a/docs/TRUTH.md b/docs/TRUTH.md index a57cac3..ab6af1e 100644 --- a/docs/TRUTH.md +++ b/docs/TRUTH.md @@ -1,7 +1,7 @@ # ZCLAW 系统真相文档 -> **更新日期**: 2026-04-13 -> **数据来源**: V11 全面审计 + 二次审计 + V12 模块化端到端审计 + 代码全量扫描验证 + 功能测试 Phase 1-5 + 发布前功能测试 Phase 3 + 发布前全面测试代码级审计 + 2026-04-11 代码验证 + V13 系统性功能审计 2026-04-12 + V13 审计修复 2026-04-13 +> **更新日期**: 2026-04-15 +> **数据来源**: V11 全面审计 + 二次审计 + V12 模块化端到端审计 + 代码全量扫描验证 + 功能测试 Phase 1-5 + 发布前功能测试 Phase 3 + 发布前全面测试代码级审计 + 2026-04-11 代码验证 + V13 系统性功能审计 2026-04-12 + V13 审计修复 2026-04-13 + 发布前冲刺 Day1 2026-04-15 > **规则**: 此文档是唯一真相源。所有其他文档如果与此冲突,以此为准。 --- @@ -13,11 +13,12 @@ | Rust Crates | 10 个 (编译通过) | `cargo check --workspace` | | Rust 代码行数 | ~77,000 (crates) + ~61,400 (src-tauri) = ~138,400 | wc -l (2026-04-12 V13 验证) | | Rust 单元测试 | 433 个 (#[test]) + 368 个 (#[tokio::test]) = 801 | `grep '#\[test\]' crates/` + `grep '#\[tokio::test\]'` (2026-04-12 V13 验证) | +| Cargo Warnings (非 SaaS) | **0 个** (仅 sqlx-postgres 外部依赖 1 个) | `cargo check --workspace --exclude zclaw-saas` (2026-04-15 清零) | | Rust 测试运行通过 | 684 workspace + 138 SaaS = 822 | Hermes 4 Chunk `cargo test --workspace` 2026-04-09 | -| Tauri 命令 | 189 个 (2026-04-13 V13 修复验证) | `grep '#\[.*tauri::command'` | -| **Tauri 命令有前端调用** | **105 处** | `grep invoke( desktop/src/` (2026-04-13 V13 修复验证) | -| **Tauri 命令已标注 @reserved** | **22 个** | Rust 源码 @reserved 标注 (2026-04-13 V13 修复验证) | -| **Tauri 命令孤儿 (无调用+无标注)** | ~62 个 | 189 - 105 invoke处 - 22 @reserved ≈ 62 | +| Tauri 命令 | 182 个 (2026-04-15 发布前冲刺验证) | `grep '#\[.*tauri::command'` | +| **Tauri 命令有前端调用** | **95 处** | `grep invoke( desktop/src/` (2026-04-15 验证) | +| **Tauri 命令已标注 @reserved** | **89 个** | Rust 源码 @reserved 标注 (2026-04-15 全量标注) | +| **Tauri 命令孤儿 (无调用+无标注)** | **0 个** | 182 - 95 invoke处 - 89 @reserved = 0 (2026-04-15 清零) | | SKILL.md 文件 | 75 个 | `ls skills/*.md \| wc -l` | | Hands 启用 | 9 个 | Browser/Collector/Researcher/Clip/Twitter/Whiteboard/Slideshow/Speech/Quiz(均有 HAND.toml) | | Hands 禁用 | 2 个 | Predictor, Lead(概念定义存在,无 TOML 配置文件或 Rust 实现) | @@ -31,7 +32,8 @@ | React 组件 | 104 个 (.tsx/.ts) | find desktop/src/components/ (2026-04-11 验证) | | 前端 TypeScript 测试 | 31 个文件 (6 store + 5 lib + 1 config + 1 stabilization + 18 E2E spec) | Phase 3-4 全量 | | 前端 lib | 83 个 .ts | find desktop/src/lib/ (2026-04-11 验证) | -| 前端测试运行通过 | 330 passed + 1 skipped | `pnpm vitest run` | +| 前端测试运行通过 | 344 passed + 1 skipped | `pnpm vitest run` (2026-04-15 验证) | +| 生产构建 | **通过** (14.8s, 0 require 残留) | `pnpm build` (2026-04-15 验证) | | Admin V2 页面 | 15 个 | admin-v2/src/pages/ 全量统计(含 ScheduledTasks、ConfigSync) | | 桌面端设置页面 | 19 个 | SettingsLayout.tsx tabs: 通用/用量统计/积分详情/模型与API/MCP服务/技能/IM频道/工作区/数据与隐私/安全存储/SaaS平台/订阅与计费/语义记忆/安全状态/审计日志/定时任务/心跳配置/提交反馈/关于 | | Admin V2 测试 | 17 个文件 (61 tests) | vitest 统计 | diff --git a/wiki/index.md b/wiki/index.md index 01add9c..cef5aa4 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -18,15 +18,15 @@ status: active | 技术栈 | Rust 10 crates + src-tauri (~77K行, 274 .rs文件) + React 19 + TypeScript + PostgreSQL | | 阶段 | 发布前稳定化,功能冻结中 | -## 关键数字(2026-04-14 代码验证) +## 关键数字(2026-04-15 代码验证) | 指标 | 值 | 验证方式 | |------|-----|----------| | Rust Crates | 10 + src-tauri | `ls crates/zclaw-*/Cargo.toml` | | Rust 代码 | 77,444 行 (274 .rs文件) | `find crates/ src-tauri/ -name "*.rs"` | | Rust 测试 | 774 (433 #[test] + 341 #[tokio::test]) | `grep '#\[test\]' / '#\[tokio::test\]'` | -| Tauri 命令 | 189 定义 | `grep '#\[tauri::command\]'` | -| 前端 invoke 调用 | 106 处 | `grep invoke( desktop/src/` | +| Tauri 命令 | 182 定义 | `grep '#\[tauri::command\]'` | +| 前端 invoke 调用 | 95 处 | `grep invoke( desktop/src/` | | SaaS .route() | 137 个 | `grep .route( crates/zclaw-saas/` | | SaaS 模块 | 16 个目录 (含 industry) | `ls crates/zclaw-saas/src/*/` | | SKILL 目录 | 75 个 | `ls -d skills/*/` | @@ -38,7 +38,8 @@ status: active | 中间件 | 14 层 runtime + 10 层 SaaS HTTP | `kernel/mod.rs` + `zclaw-saas middleware` | | 前端 lib/ | 85 个 .ts | `find desktop/src/lib/` | | SQL 迁移 | 20 文件 / 42 CREATE TABLE | `ls crates/zclaw-saas/migrations/*.sql` | -| @reserved 标注 | 22 个 | `grep @reserved desktop/src-tauri/src/` | +| @reserved 标注 | 89 个 (孤儿命令 0) | `grep @reserved desktop/src-tauri/src/` | +| Cargo Warnings | 0 (非 SaaS, 仅 sqlx 外部) | `cargo check --workspace --exclude zclaw-saas` | | TODO/FIXME | 前端 1 + Rust 3 = 4 | `grep TODO/FIXME` | ## 模块导航树 diff --git a/wiki/log.md b/wiki/log.md index 067d767..ac68072 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -9,6 +9,16 @@ tags: [log, history] > Append-only 操作记录。格式: `## [日期] 类型 | 描述` +## 2026-04-15 fix | 发布前冲刺 Day1 — 5项修复 + 2项标注 + 文档同步 + +- **fix(saas)**: SSE 用量统计一致性 — 回写 usage_records 真实 token + 消除 relay_requests 双重计数 +- **fix(saas)**: relay_tasks 超时自动清理 — 每5分钟扫描 processing>10min 标记 failed +- **fix(desktop)**: 模型自动路由 — 首次登录自动选择第一个可用模型 (saasStore + connectionStore) +- **chore**: Cargo warnings 清零 — 39→0 (仅剩 sqlx-postgres 外部依赖) +- **chore**: Tauri 命令 @reserved 全量标注 — 89个 (孤儿命令 0) +- **docs**: TRUTH.md 数字更新 (Tauri 182命令、95 invoke、89 @reserved、0 孤儿) +- 验证: tsc 0错误、vitest 344通过、cargo check 0 warning、pnpm build 成功 + ## 2026-04-15 fix | 三端联调 V2 — SSE Token 捕获修复 + 调试环境文档 - **fix(saas)**: SseUsageCapture 增加 `stream_done` 标志,修复 SSE 路径 Token 始终为 0 的根因