diff --git a/docs/features/00-architecture/01-communication-layer.md b/docs/features/00-architecture/01-communication-layer.md index 91f2ac0..836e9a3 100644 --- a/docs/features/00-architecture/01-communication-layer.md +++ b/docs/features/00-architecture/01-communication-layer.md @@ -3,7 +3,7 @@ > **分类**: 架构层 > **优先级**: P0 - 决定性 > **成熟度**: L4 - 生产 -> **最后更新**: 2026-04-01 +> **最后更新**: 2026-04-06 > **验证状态**: 代码已验证 --- @@ -20,10 +20,10 @@ | 优先级 | P0 | | 成熟度 | L4 | | 依赖 | Tauri Runtime 2.x | -| Tauri 命令数量 | **175** (kernel 34 + pipeline 10 + browser 22 + intelligence 35 + memory 14 + cli 13 + viking 13 + llm 3 + secure_storage 4 + classroom 27) | +| Tauri 命令数量 | **177** (160 @connected + 16 @reserved + 1 unregistered) | | Rust Crates | 10 个 (types, memory, runtime, kernel, skills, hands, protocols, pipeline, growth, saas) | | 连接模式 | 3 种 (Tauri Kernel / Gateway WebSocket / SaaS Cloud) | -| SaaS API 路由 | 58 (Axum + PostgreSQL, 10 模块 + 1 health) | +| SaaS API 路由 | 131 (Axum + PostgreSQL, 10 模块 + 1 health) | ### 1.2 相关文件 @@ -321,6 +321,7 @@ try { - [x] 8 个 LLM Provider 支持 (含 Gemini) - [x] UI 模型配置 - [x] 流式响应 (Tauri 事件 stream:chunk + SSE) +- [x] `subtaskStatus` 流式事件 — 子任务状态变更通过 `taskId` 字段标识,用于跟踪 Agent 子任务执行进度 - [x] 连接状态管理 - [x] 错误处理 - [x] SaaS 30+ API 方法客户端 @@ -367,4 +368,4 @@ try { --- -**最后更新**: 2026-04-01 +**最后更新**: 2026-04-06 diff --git a/docs/features/00-architecture/02-state-management.md b/docs/features/00-architecture/02-state-management.md index 91ba9b2..11a7e88 100644 --- a/docs/features/00-architecture/02-state-management.md +++ b/docs/features/00-architecture/02-state-management.md @@ -3,7 +3,7 @@ > **分类**: 架构层 > **优先级**: P0 - 决定性 > **成熟度**: L4 - 生产 -> **最后更新**: 2026-04-01 +> **最后更新**: 2026-04-06 > **验证状态**: ✅ 代码已验证 --- @@ -20,29 +20,36 @@ | 优先级 | P0 | | 成熟度 | L4 | | 依赖 | 无 | -| Store 数量 | **14** | +| Store 数量 | **18** | | Domains 数量 | 4 (chat, hands, intelligence, saas) | -| 匁久化策略 | localStorage + IndexedDB (计划中) | +| 持久化策略 | localStorage + IndexedDB (chatStore sub-stores 使用 IDB) | -### 1.2 Store 清单 (14 个实际存在的 Store) +### 1.2 Store 清单 (18 个实际存在的 Zustand Store) | Store | 路径 | 用途 | 验证状态 | |------|------|------|---------| | agentStore | `desktop/src/store/agentStore.ts` | Agent 克隆管理 | ✅ 存在 | +| artifactStore | `desktop/src/store/artifactStore.ts` | 生成物(Artifact)管理 | ✅ 存在 | | browserHandStore | `desktop/src/store/browserHandStore.ts` | Browser Hand 状态 | ✅ 存在 | -| chatStore | `desktop/src/store/chatStore.ts` | 消息和会话管理 (DeerFlow 视觉) | ✅ 存在 | +| chatStore | `desktop/src/store/chatStore.ts` | 聊天协调器(重构后为 4 sub-store 入口) | ✅ 存在 | +| classroomStore | `desktop/src/store/classroomStore.ts` | 课堂/教学场景状态 | ✅ 存在 | | configStore | `desktop/src/store/configStore.ts` | 配置持久化 | ✅ 存在 | | connectionStore | `desktop/src/store/connectionStore.ts` | 连接状态管理 | ✅ 存在 | +| conversationStore | `desktop/src/store/conversationStore.ts` | 会话管理 (chatStore sub-store) | ✅ 存在 | | handStore | `desktop/src/store/handStore.ts` | Hands 触发管理 | ✅ 存在 | | memoryGraphStore | `desktop/src/store/memoryGraphStore.ts` | 记忆图谱状态 | ✅ 存在 | +| messageStore | `desktop/src/store/messageStore.ts` | 消息管理 (chatStore sub-store) | ✅ 存在 | | offlineStore | `desktop/src/store/offlineStore.ts` | 离线模式管理 | ✅ 存在 | | saasStore | `desktop/src/store/saasStore.ts` | SaaS 平台集成 (登录/配置/Prompt OTA) | ✅ 存在 | | securityStore | `desktop/src/store/securityStore.ts` | 安全配置管理 | ✅ 存在 | | sessionStore | `desktop/src/store/sessionStore.ts` | 会话持久化 | ✅ 存在 | +| streamStore | `desktop/src/store/streamStore.ts` | 流式响应管理 (chatStore sub-store) | ✅ 存在 | | workflowBuilderStore | `desktop/src/store/workflowBuilderStore.ts` | 工作流构建器状态 | ✅ 存在 | | workflowStore | `desktop/src/store/workflowStore.ts` | 工作流管理 | ✅ 存在 | -> **注**: 以下 Store 在早期文档中出现但已被移除或合并: teamStore (多 Agent 功能 feature-gated), meshStore, personaStore (合并到 identity 系统), activeLearningStore, skillMarketStore, gatewayStore (功能合并到 connectionStore) +> **注**: ChatStore 经历了结构性重构,从单一大 Store 拆分为 4 个专职 sub-store:`chatStore`(协调器)、`streamStore`(流式响应)、`messageStore`(消息管理)、`conversationStore`(会话管理)。拆分后各 Store 职责单一,支持独立持久化(conversationStore/messageStore 使用 IndexedDB)。 +> +> 以下 Store 在早期文档中出现但已被移除或合并: teamStore (多 Agent 功能 feature-gated), meshStore, personaStore (合并到 identity 系统), activeLearningStore, skillMarketStore, gatewayStore (功能合并到 connectionStore) ### 1.3 Domain Stores (领域状态) diff --git a/docs/features/06-tauri-backend/00-backend-integration.md b/docs/features/06-tauri-backend/00-backend-integration.md index 81eb216..ad211b2 100644 --- a/docs/features/06-tauri-backend/00-backend-integration.md +++ b/docs/features/06-tauri-backend/00-backend-integration.md @@ -3,7 +3,7 @@ > **分类**: Tauri 后端 > **优先级**: P0 - 决定性 > **成熟度**: L4 - 生产 -> **最后更新**: 2026-04-01 +> **最后更新**: 2026-04-06 > **验证状态**: 代码已验证 > **架构**: 内部 Kernel,无需外部进程 @@ -21,7 +21,7 @@ ZCLAW Tauri 后端是桌面应用的核心,集成内部 ZCLAW Kernel,提供 | 优先级 | P0 | | 成熟度 | L4 | | 依赖 | Tauri Runtime 2.x, zclaw-kernel crate | -| Tauri 命令总数 | **171** (kernel 34 + pipeline 10 + browser 22 + intelligence 35 + memory 14 + cli 13 + viking 13 + llm 3 + secure_storage 4 + classroom 27) | +| Tauri 命令总数 | **177** (160 @connected + 16 @reserved + 1 unregistered identity_init) | | Rust Crates | 10 个 (types, memory, runtime, kernel, skills, hands, protocols, pipeline, growth, saas) | ### 1.2 相关文件 @@ -74,7 +74,7 @@ ZCLAW Tauri 后端是桌面应用的核心,集成内部 ZCLAW Kernel,提供 | zclaw-protocols | L5 | 协议支持 | MCP (stdio transport), A2A (基础协议定义) | | zclaw-pipeline | L5 | 工作流 DSL | YAML 声明式, 状态管理, 5 类模板 | | zclaw-growth | L5 | 记忆增长 | SqliteStorage + FTS5 + TF-IDF + MemoryExtractor | -| zclaw-saas | 独立 | SaaS 后端 | Axum + PostgreSQL, 10 个模块, 58 API 路由 | +| zclaw-saas | 独立 | SaaS 后端 | Axum + PostgreSQL, 12 个模块, 131 API 路由, 34 数据表 | ### 2.3 核心工具实现 @@ -433,4 +433,4 @@ Embedding Providers: OpenAI, Zhipu, Doubao, Qwen, DeepSeek, Local/TF-IDF --- -**最后更新**: 2026-04-01 +**最后更新**: 2026-04-06 diff --git a/docs/features/08-saas-platform/00-saas-overview.md b/docs/features/08-saas-platform/00-saas-overview.md index 6ce1bf3..1ebdb0e 100644 --- a/docs/features/08-saas-platform/00-saas-overview.md +++ b/docs/features/08-saas-platform/00-saas-overview.md @@ -1,6 +1,6 @@ # ZCLAW SaaS 平台 — 总览 -> 最后更新: 2026-04-01 | 实施状态: Phase 1-4 全部完成 + 架构重构完成,10 个后端模块 + Worker + Scheduler + Admin V2 (Vite + Ant Design Pro) + 桌面端完整集成 +> 最后更新: 2026-04-06 | 实施状态: Phase 1-4 全部完成 + 架构重构完成,12 个后端模块 + Worker + Scheduler + Admin V2 (Vite + Ant Design Pro) + 桌面端完整集成 ## 架构概述 @@ -29,8 +29,8 @@ ZCLAW SaaS 平台为桌面端用户提供云端能力,包括模型中转(Key ## 数据库 - **引擎**: PostgreSQL (sqlx 异步驱动) -- **Schema 版本**: v6 (TIMESTAMPTZ 时间戳类型) -- **数据表**: 25 张 (accounts, providers, models, relay_tasks, prompt_templates, agent_templates, telemetry_reports 等) +- **Schema 版本**: v8 (TIMESTAMPTZ 时间戳类型) +- **数据表**: 34 张 (accounts, providers, models, relay_tasks, prompt_templates, agent_templates, telemetry_reports, knowledge_bases, knowledge_documents, billing_plans, billing_subscriptions, billing_usage 等) - **种子数据**: 3 个系统角色 (super_admin, admin, user),3 个内置 Prompt 模板 - **迁移系统**: 声明式 SQL 文件 (`crates/zclaw-saas/migrations/`),按文件名排序执行 - **连接池**: 50 max / 5 min 连接,10s 获取超时,300s 空闲超时,1800s 最大生命周期 @@ -49,9 +49,11 @@ ZCLAW SaaS 平台为桌面端用户提供云端能力,包括模型中转(Key | Agent 模板 | 100% | 5 | 模板 CRUD + tools/capabilities/model 绑定 + 可见性控制 | | 遥测 (Telemetry) | 100% | 4 | 批量 Token 用量上报 + 模型聚合统计 + 每日统计 + 审计摘要 | | 定时任务 (Scheduled Task) | 100% | 2 | 用户定时任务 CRUD (创建/列表/更新/删除),30s 轮询执行 | -| **Worker 系统** | 100% | — | 5 个 Worker (log_operation, cleanup_rate_limit, cleanup_refresh_tokens, record_usage, update_last_used),mpsc 异步调度,自动重试 | +| 知识库 (Knowledge) | 100% | 23 | 知识库 CRUD + 文档上传/解析/向量化 + 语义搜索 + pgvector | +| 计费 (Billing) | 100% | 10 | 套餐管理 + 订阅 + 配额实时递增 + 用量聚合 + Mock 支付 | +| **Worker 系统** | 100% | — | 7 个 Worker (log_operation, cleanup_rate_limit, cleanup_refresh_tokens, record_usage, update_last_used, aggregate_usage, generate_embedding),mpsc 异步调度,自动重试 | | **声明式 Scheduler** | 100% | — | TOML 配置定时任务,灵活间隔 (30s/5m/1h/1d),run_on_start,内置 DB 清理 | -| **合计** | — | **58** | — | +| **合计** | — | **131** | — | ## API 端点一览 @@ -266,7 +268,7 @@ llm_routing=local: | 文件 | 职责 | |------|------| | `src/main.rs` | 服务启动 + 路由注册 + 后台任务 (速率限制清理 + 设备清理) | -| `src/db.rs` | 数据库初始化 + Schema v6 + TIMESTAMPTZ 迁移 + 25 张表 + Admin 引导 | +| `src/db.rs` | 数据库初始化 + Schema v8 + TIMESTAMPTZ 迁移 + 34 张表 + Admin 引导 | | `src/state.rs` | AppState (PgPool + Config + JWT Secret + 速率限制 DashMap + WorkerDispatcher) | | `src/config.rs` | SaaSConfig (Server/Database/Auth/Relay/RateLimit/Scheduler),多环境配置加载 | | `src/error.rs` | SaasError 16 种变体 + HTTP 状态码映射 | @@ -283,9 +285,9 @@ llm_routing=local: | `src/agent_template/` | Agent 模板 CRUD + 可见性控制 | | `src/telemetry/` | Token 用量上报 + 模型统计 + 每日统计 + 审计摘要 | | `src/scheduled_task/` | 用户定时任务 CRUD (创建/列表/更新/删除) + 30s 轮询执行 | -| `src/workers/` | Worker 系统 (5 Worker: log_operation, cleanup_rate_limit, cleanup_refresh_tokens, record_usage, update_last_used) | +| `src/workers/` | Worker 系统 (7 Worker: log_operation, cleanup_rate_limit, cleanup_refresh_tokens, record_usage, update_last_used, aggregate_usage, generate_embedding) | | `src/scheduler.rs` | 声明式 Scheduler (TOML 定时任务配置 + DB 清理任务) | -| `migrations/` | SQL 迁移文件 (Schema v6, TIMESTAMPTZ) | +| `migrations/` | SQL 迁移文件 (Schema v8, TIMESTAMPTZ) | ### Admin 管理后台 (admin-v2/) @@ -325,4 +327,4 @@ llm_routing=local: --- -**最后更新**: 2026-04-01 +**最后更新**: 2026-04-06 diff --git a/docs/features/README.md b/docs/features/README.md index 18ddc65..96cd489 100644 --- a/docs/features/README.md +++ b/docs/features/README.md @@ -1,8 +1,8 @@ # ZCLAW 功能全景文档 > **版本**: v0.10.0 -> **更新日期**: 2026-04-03 -> **项目状态**: 完整 Rust Workspace 架构,10 个核心 Crates,75 技能,Pipeline DSL + Smart Presentation + Agent Growth System + SaaS 平台 + DeerFlow 视觉风格 + 安全审计 V1 完成 +> **更新日期**: 2026-04-06 +> **项目状态**: 完整 Rust Workspace 架构,10 个核心 Crates,75 技能,Pipeline DSL + Smart Presentation + Agent Growth System + SaaS 平台 + DeerFlow 2.0 核心能力 (ask_clarification 工具, 澄清系统, 渐进式技能加载, 模式差异化行为) + 安全审计 V1 完成 > **整体完成度**: ~90% (核心功能完整,SaaS 平台全面上线,DeerFlow 前端视觉复刻完成,安全渗透测试 15 项修复完成,Admin V2 迁移完成) --- @@ -63,7 +63,7 @@ | 文档 | 功能 | 成熟度 | Tauri 命令 | |------|------|--------|-----------| -| [00-backend-integration.md](06-tauri-backend/00-backend-integration.md) | 后端集成 | L4 (85%) | **171** (kernel 42 + pipeline 14 + browser 23 + intelligence 35 + memory 16 + gateway 11 + viking 13 + llm 3 + secure_storage 4 + classroom 8 + health 2) | +| [00-backend-integration.md](06-tauri-backend/00-backend-integration.md) | 后端集成 | L4 (85%) | **177** (160 @connected + 16 @reserved + 1 unregistered identity_init) | ### 1.8 Pipeline DSL diff --git a/docs/features/SYSTEM_ARCHITECTURE.md b/docs/features/SYSTEM_ARCHITECTURE.md index e3408e0..19a42e5 100644 --- a/docs/features/SYSTEM_ARCHITECTURE.md +++ b/docs/features/SYSTEM_ARCHITECTURE.md @@ -1,6 +1,6 @@ # ZCLAW 多端系统架构文档 -> 版本: 1.2 | 日期: 2026-04-01 | 状态: 已更新 (DeerFlow 视觉复刻 + 安全审计 V1 修复 + Admin V2 迁移) +> 版本: 1.3 | 日期: 2026-04-06 | 状态: 已更新 (DeerFlow 2.0 + 安全审计 V1 修复 + Admin V2 迁移) --- @@ -85,9 +85,9 @@ ZCLAW 是面向中文用户的 AI Agent 桌面客户端,由 **4 个独立服 | 层级 | 技术 | 选型理由 | |------|------|----------| | 桌面框架 | Tauri 2.x | Rust 原生性能,小体积,安全 IPC | -| 前端框架 | React 18 + TypeScript | 生态丰富,类型安全 | +| 前端框架 | React 19 + TypeScript | 生态丰富,类型安全 | | 状态管理 | Zustand | 轻量、灵活、无 boilerplate | -| 样式方案 | Tailwind CSS | 原子化 CSS,暗色主题友好 | +| 样式方案 | Tailwind 4 | 原子化 CSS,暗色主题友好 | | 数据存储 | SQLite (本地) | 离线优先,FTS5 全文搜索 | ### 3.2 Admin V2 管理后台 @@ -127,13 +127,13 @@ ZCLAW 是面向中文用户的 AI Agent 桌面客户端,由 **4 个独立服 zclaw-types → 基础类型 (AgentId, Message, Error) zclaw-memory → 存储层 (SQLite, FTS5, TF-IDF, Embeddings) zclaw-runtime → 运行时 (LLM 驱动, 11 层中间件, 工具, Agent 循环) -zclaw-kernel → 核心协调 (注册, 调度, 事件, 9 Hands, 76 Skills) +zclaw-kernel → 核心协调 (注册, 调度, 事件, 9 Hands, 75 Skills) zclaw-skills → 技能系统 (SKILL.md 解析, 语义路由, DAG 编排) zclaw-hands → 自主能力 (9 个内置 Hand 实现) zclaw-protocols → 协议支持 (MCP, A2A) zclaw-pipeline → 流水线引擎 (v1/v2 DSL, Smart Presentation) zclaw-growth → 成长系统 (记忆提取/检索/注入, OpenViking 分层) -zclaw-saas → SaaS 后端 (独立服务, 8080 端口, 58 API) +zclaw-saas → SaaS 后端 (独立服务, 8080 端口, 131 API) ``` --- @@ -567,6 +567,8 @@ React UI → saas-client.ts → HTTPS REST → SaaS 后端 (:8080) | 安全存储 | secure_storage.rs | 4 | store/get/delete/list | | LLM 管理 | llm_commands.rs | 3 | list_providers/test_connection | +> **总计**: 177 个 Tauri Commands (160 已接通前端 + 16 个 @reserved 预留 + 1 个未注册) + ### 6.2 WebSocket 事件类型 | 方向 | 事件 | 说明 | @@ -640,7 +642,7 @@ React UI → saas-client.ts → HTTPS REST → SaaS 后端 (:8080) │ └──────┬───────┘ │ │ │ │ │ ┌─────────────▼──────────────┐ │ -│ │ Handlers (58 个端点) │ │ +│ │ Handlers (131 个端点) │ │ │ │ auth/account/model/relay/ │ │ │ │ config/prompt/telemetry/ │ │ │ └─────────────┬──────────────┘ │ @@ -758,10 +760,12 @@ run_on_start = false | CleanupRateLimitWorker | 清理过期限流条目 | Scheduler 定时 | | RecordUsageWorker | 记录 Token 用量 | Relay Handler 派发 | | UpdateLastUsedWorker | 更新 Key 最后使用时间 | Relay Handler 派发 | +| AggregateUsageWorker | 日/月用量聚合 | Scheduler 定时 | +| GenerateEmbeddingWorker | 知识条目 embedding 生成 | Handler 派发 | #### SQL 迁移系统 -- Schema 版本: **v6** +- Schema 版本: **v8** - 迁移目录: `crates/zclaw-saas/migrations/` - 时间戳类型: **TIMESTAMPTZ** (新库),向后兼容 TEXT (旧库) - 迁移文件按文件名排序执行 @@ -822,4 +826,4 @@ run_on_start = false --- -> **文档统计**: 58 个 API 端点 | 5 个通信通道 | 12 种权限 | 4 个独立服务 | 5 个 Workers | 声明式 Scheduler | SQL Schema v8 +> **文档统计**: 131 个 API 端点 | 5 个通信通道 | 12 种权限 | 4 个独立服务 | 7 个 Workers | 声明式 Scheduler | SQL Schema v8