docs(wiki): 同步知识库 — 04-21 经验积累+Skill工具调用修复
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
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
This commit is contained in:
@@ -11,35 +11,37 @@
|
|||||||
| 指标 | 实际值 | 验证方式 |
|
| 指标 | 实际值 | 验证方式 |
|
||||||
|------|--------|----------|
|
|------|--------|----------|
|
||||||
| Rust Crates | 10 个 (编译通过) | `cargo check --workspace` |
|
| Rust Crates | 10 个 (编译通过) | `cargo check --workspace` |
|
||||||
| Rust 代码行数 | ~77,000 (crates) + ~61,400 (src-tauri) = ~138,400 | wc -l (2026-04-12 V13 验证) |
|
| Rust 代码行数 | 80,754 (crates, 288 .rs) + 21,213 (src-tauri, 69 .rs) = 101,967 (357 .rs文件) | `wc -l` (2026-04-19 代码验证) |
|
||||||
| Rust 单元测试 | 477 个 (#[test]) + 326 个 (#[tokio::test]) = 803 | `grep '#\[test\]' crates/` + `grep '#\[tokio::test\]'` (2026-04-18 审计验证) |
|
| Rust 单元测试 | 640 个 (#[test], 含 src-tauri 89) + 347 个 (#[tokio::test], 含 src-tauri 17) = 987 | `grep '#\[test\]' crates/ src-tauri/` (2026-04-19 代码验证) |
|
||||||
| Rust 测试运行通过 | 797 workspace (sqlx 0.8 升级后 2026-04-19 验证) | `cargo test --workspace --exclude zclaw-saas` |
|
| Rust 测试运行通过 | 797 workspace (sqlx 0.8 升级后 2026-04-19 验证) | `cargo test --workspace --exclude zclaw-saas` |
|
||||||
| Cargo Warnings (非 SaaS) | **0 个** (仅 sqlx-postgres 外部依赖 1 个) | `cargo check --workspace --exclude zclaw-saas` (2026-04-15 清零) |
|
| 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 命令 | 190 个 | `grep '#\[.*tauri::command'` (2026-04-16 验证) |
|
| Tauri 命令 | 190 个 | `grep '#\[.*tauri::command'` (2026-04-16 验证) |
|
||||||
| **Tauri 命令有前端调用** | **104 处** | `grep invoke( desktop/src/` (2026-04-16 验证) |
|
| **Tauri 命令有前端调用** | **104 处 / 91 唯一命令** | `grep invoke( desktop/src/` (2026-04-19 验证) |
|
||||||
| **Tauri 命令已标注 @reserved** | **89 个** | Rust 源码 @reserved 标注 (2026-04-15 全量标注) |
|
| **Tauri 命令已标注 @reserved** | **97 个** | Rust 源码 @reserved 标注 (2026-04-19 代码验证) |
|
||||||
| **Tauri 命令孤儿 (无调用+无标注)** | **~0 个** (190 - 104 invoke - 89 @reserved ≈ -3,差异来自内部命令调用) | (2026-04-16 校准) |
|
| **Tauri 命令孤儿 (无调用+无标注)** | **~0 个** (190 - 104 invoke - 97 @reserved ≈ -11,差异来自内部命令调用) | (2026-04-19 校准) |
|
||||||
| SKILL.md 文件 | 75 个 | `ls skills/*.md \| wc -l` |
|
| SKILL.md 文件 | 75 个 | `ls skills/*.md \| wc -l` |
|
||||||
| Hands 启用 | 7 个 (6 HAND.toml + 1 系统内部 _reminder) | Browser/Collector/Researcher/Clip/Twitter/Quiz = 6 个有 HAND.toml;ReminderHand 通过 kernel 编程注册(`_` 前缀豁免 HAND.toml 扫描) |
|
| Hands 启用 | 7 个 (6 HAND.toml + 1 系统内部 _reminder) | Browser/Collector/Researcher/Clip/Twitter/Quiz = 6 个有 HAND.toml;ReminderHand 通过 kernel 编程注册(`_` 前缀豁免 HAND.toml 扫描) |
|
||||||
| Hands 开发中 | 3 个 | Whiteboard/Slideshow/Speech(HAND.toml 仅存在于 worktree 开发分支,无 `impl Hand for`,未合并到主分支) |
|
| Hands 已删除 | 3 个 | Whiteboard/Slideshow/Speech — 空壳实现已删除 (04-17 Phase 5, 净减 ~5400 行) |
|
||||||
| Hands 禁用 | 2 个 | Predictor, Lead(概念定义存在,无 TOML 配置文件或 Rust 实现) |
|
| Hands 禁用 | 2 个 | Predictor, Lead(概念定义存在,无 TOML 配置文件或 Rust 实现) |
|
||||||
| Pipeline 模板 | 18 个 YAML | `pipelines/` 目录全量统计 (2026-04-18 验证) |
|
| Pipeline 模板 | 18 个 YAML | `pipelines/` 目录全量统计 (2026-04-19 验证) |
|
||||||
| SaaS API 端点 | 137 个 .route() | `grep .route( crates/zclaw-saas/` (2026-04-16 验证) |
|
| SaaS API 端点 | 137 个 .route() | `grep .route( crates/zclaw-saas/` (2026-04-16 验证) |
|
||||||
| SaaS 路由模块 | 12 个 + industry | account/agent_template/auth/billing/knowledge/migration/model_config/prompt/relay/role/scheduled_task/telemetry/industry(scheduled_task: 后端 5 CRUD + Admin V2 前端 service/page/route/nav) |
|
| SaaS 模块目录 | 16 个 | `ls crates/zclaw-saas/src/*/` (2026-04-19 验证: account/agent_template/auth/billing/industry/knowledge/migration/model_config/models/prompt/relay/role/scheduled_task/tasks/telemetry/workers) |
|
||||||
| SaaS 数据表 | 34 个(含 saas_schema_version) | CREATE TABLE 全量统计 |
|
| SaaS 数据表 | 42 个 CREATE TABLE | CREATE TABLE 全量统计 (2026-04-19 验证) |
|
||||||
| SaaS Workers | 7 个 | log_operation/cleanup_rate_limit/cleanup_refresh_tokens/record_usage/update_last_used/aggregate_usage/generate_embedding |
|
| SaaS Workers | 7 个 | log_operation/cleanup_rate_limit/cleanup_refresh_tokens/record_usage/update_last_used/aggregate_usage/generate_embedding |
|
||||||
| LLM Provider | 8 个 | Kimi/Qwen/DeepSeek/Zhipu/OpenAI/Anthropic/Gemini/Local |
|
| LLM Provider | 8 个 | Kimi/Qwen/DeepSeek/Zhipu/OpenAI/Anthropic/Gemini/Local |
|
||||||
| Zustand Store | 25 个 | find desktop/src/store/ -name "*.ts" (2026-04-18 审计,workflowBuilderStore 已删除) |
|
| Zustand Store | 25 个 (16 根 + chat/4 + saas/5) | find desktop/src/store/ -name "*.ts" (2026-04-19 验证) |
|
||||||
| React 组件 | 105 个 (.tsx/.ts) | find desktop/src/components/ (2026-04-15 新增 HealthPanel.tsx) |
|
| React 组件 | 102 个 (.tsx/.ts, 11 子目录) | find desktop/src/components/ (2026-04-19 验证) |
|
||||||
| 前端 TypeScript 测试 | 31 个文件 (6 store + 5 lib + 1 config + 1 stabilization + 18 E2E spec) | Phase 3-4 全量 |
|
| 前端 TypeScript 测试 | 31 个文件 (6 store + 5 lib + 1 config + 1 stabilization + 18 E2E spec) | Phase 3-4 全量 |
|
||||||
| 前端 lib | 76 个 .ts | find desktop/src/lib/ (2026-04-15 删除 intelligence-client/ 9 文件) |
|
| 前端 lib | 75 个 .ts (71 顶层 + workflow-builder/3 + __tests__/1) | find desktop/src/lib/ (2026-04-19 验证) |
|
||||||
| 前端测试运行通过 | 344 passed + 1 skipped | `pnpm vitest run` (2026-04-15 验证) |
|
| 前端测试运行通过 | 344 passed + 1 skipped | `pnpm vitest run` (2026-04-15 验证) |
|
||||||
| 生产构建 | **通过** (14.8s, 0 require 残留) | `pnpm build` (2026-04-15 验证) |
|
| 生产构建 | **通过** (14.8s, 0 require 残留) | `pnpm build` (2026-04-15 验证) |
|
||||||
| Admin V2 页面 | 17 个 | admin-v2/src/pages/ 全量统计 (2026-04-18 验证) |
|
| Admin V2 页面 | 17 个 | admin-v2/src/pages/ 全量统计 (2026-04-19 验证) |
|
||||||
| 桌面端设置页面 | 19 个 | SettingsLayout.tsx tabs: 通用/用量统计/积分详情/模型与API/MCP服务/技能/IM频道/工作区/数据与隐私/安全存储/SaaS平台/订阅与计费/语义记忆/安全状态/审计日志/定时任务/心跳配置/提交反馈/关于 |
|
| 桌面端设置页面 | 19 个 | SettingsLayout.tsx tabs: 通用/模型与API/MCP服务/IM频道/工作区/数据与隐私/安全存储/SaaS平台/订阅与计费/技能管理/语义记忆/安全状态/审计日志/定时任务/心跳配置/系统健康/实验性功能/提交反馈/关于 |
|
||||||
| Admin V2 测试 | 17 个文件 (61 tests) | vitest 统计 |
|
| Admin V2 测试 | 17 个文件 (61 tests) | vitest 统计 |
|
||||||
| 中间件层 | 15 层 | `grep chain.register kernel/mod.rs` (2026-04-19 校准: EvolutionMiddleware@78, ButlerRouter@80, DataMasking@90, Compaction@100, Memory@150, Title@180, SkillIndex@200, DanglingTool@300, ToolError@350, ToolOutputGuard@360, Guardrail@400, LoopGuard@500, SubagentLimit@550, TrajectoryRecorder@650, TokenCalibration@700) |
|
| 中间件层 | 15 层 | `grep chain.register kernel/mod.rs` (2026-04-19 校准: EvolutionMiddleware@78, ButlerRouter@80, DataMasking@90, Compaction@100, Memory@150, Title@180, SkillIndex@200, DanglingTool@300, ToolError@350, ToolOutputGuard@360, Guardrail@400, LoopGuard@500, SubagentLimit@550, TrajectoryRecorder@650, TokenCalibration@700) |
|
||||||
|
| Intelligence 文件 | 16 个 .rs | `ls src-tauri/src/intelligence/` (2026-04-19 验证) |
|
||||||
|
| dead_code 标注 | 0 个 | `grep '#\[dead_code\]' crates/ src-tauri/` (2026-04-19 验证) |
|
||||||
|
| TODO/FIXME | 前端 1 + Rust 1 = 2 | `grep TODO/FIXME` (2026-04-19 验证) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 管家模式
|
title: 管家模式
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [module, butler, interaction]
|
tags: [module, butler, interaction]
|
||||||
---
|
---
|
||||||
@@ -93,7 +93,7 @@ butler_list_proposals
|
|||||||
butler_update_proposal_status
|
butler_update_proposal_status
|
||||||
```
|
```
|
||||||
|
|
||||||
### Intelligence 层文件结构
|
### Intelligence 层文件结构 (16 .rs 文件)
|
||||||
|
|
||||||
```
|
```
|
||||||
desktop/src-tauri/src/intelligence/
|
desktop/src-tauri/src/intelligence/
|
||||||
@@ -101,7 +101,18 @@ desktop/src-tauri/src/intelligence/
|
|||||||
├── heartbeat.rs (10 commands: heartbeat engine CRUD)
|
├── heartbeat.rs (10 commands: heartbeat engine CRUD)
|
||||||
├── identity.rs (16 commands: agent identity manager)
|
├── identity.rs (16 commands: agent identity manager)
|
||||||
├── pain_aggregator.rs (5 commands: butler pain points)
|
├── pain_aggregator.rs (5 commands: butler pain points)
|
||||||
└── reflection.rs (7 commands: reflection engine)
|
├── reflection.rs (7 commands: reflection engine)
|
||||||
|
├── experience.rs 经验管理桥接
|
||||||
|
├── extraction_adapter.rs 记忆提取适配器
|
||||||
|
├── health_snapshot.rs 统一健康快照
|
||||||
|
├── mod.rs 模块入口
|
||||||
|
├── pain_storage.rs 痛点持久化
|
||||||
|
├── personality_detector.rs 人格检测
|
||||||
|
├── solution_generator.rs 方案生成
|
||||||
|
├── trajectory_compressor.rs 轨迹压缩
|
||||||
|
├── triggers.rs 触发信号管理
|
||||||
|
├── user_profiler.rs 用户画像
|
||||||
|
└── validation.rs 验证逻辑
|
||||||
```
|
```
|
||||||
|
|
||||||
## 关联模块
|
## 关联模块
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ UI 选择模型 → conversationStore.currentModel = newModel
|
|||||||
- [[routing]] — 路由决定使用哪种 client
|
- [[routing]] — 路由决定使用哪种 client
|
||||||
- [[saas]] — Token Pool 提供模型和 API Key
|
- [[saas]] — Token Pool 提供模型和 API Key
|
||||||
- [[butler]] — ButlerRouter 中间件增强 system prompt
|
- [[butler]] — ButlerRouter 中间件增强 system prompt
|
||||||
- [[middleware]] — 消息经过 14 层 runtime 中间件处理
|
- [[middleware]] — 消息经过 15 层 runtime 中间件处理
|
||||||
- [[memory]] — 对话内容可能触发记忆提取
|
- [[memory]] — 对话内容可能触发记忆提取
|
||||||
|
|
||||||
## 关键文件
|
## 关键文件
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 开发规范
|
title: 开发规范
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [development, conventions]
|
tags: [development, conventions]
|
||||||
---
|
---
|
||||||
@@ -25,17 +25,17 @@ tags: [development, conventions]
|
|||||||
|------|------|
|
|------|------|
|
||||||
| 新增 SaaS API 端点 | 已有 137 个 .route(),前端未全部接通 |
|
| 新增 SaaS API 端点 | 已有 137 个 .route(),前端未全部接通 |
|
||||||
| 新增 SKILL.md | 已有 75 个 |
|
| 新增 SKILL.md | 已有 75 个 |
|
||||||
| 新增 Tauri 命令 | 已有 189 个,部分无前端调用 |
|
| 新增 Tauri 命令 | 已有 190 个,97 个标注 @reserved |
|
||||||
| 新增中间件 | 已有 14 层 runtime + 10 层 SaaS HTTP |
|
| 新增中间件 | 已有 15 层 runtime + 10 层 SaaS HTTP |
|
||||||
| 新增 Store | 已有 17 文件 + chat/4 子store |
|
| 新增 Store | 已有 16 根 + chat/4 + saas/5 = 25 |
|
||||||
| 新增 admin 页面 | 已有 17 页 |
|
| 新增 admin 页面 | 已有 17 页 |
|
||||||
|
|
||||||
## 分层职责
|
## 分层职责
|
||||||
|
|
||||||
```
|
```
|
||||||
UI 组件 → 只负责展示和交互 (105 个 .tsx/.ts)
|
UI 组件 → 只负责展示和交互 (102 个 .tsx/.ts)
|
||||||
Store → 负责状态组织和流程编排 (17 文件 + 4 子store)
|
Store → 负责状态组织和流程编排 (25 个 .ts 文件)
|
||||||
Client → 负责网络通信和协议转换 (76 个 lib/ 文件)
|
Client → 负责网络通信和协议转换 (75 个 lib/ 文件)
|
||||||
```
|
```
|
||||||
|
|
||||||
禁止在组件内直接创建 WebSocket 或拼装 HTTP 请求。通信通过:
|
禁止在组件内直接创建 WebSocket 或拼装 HTTP 请求。通信通过:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Hands + Skills + MCP
|
title: Hands + Skills + MCP
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [module, hands, skills, mcp]
|
tags: [module, hands, skills, mcp]
|
||||||
---
|
---
|
||||||
@@ -20,7 +20,7 @@ tags: [module, hands, skills, mcp]
|
|||||||
|
|
||||||
## 代码逻辑
|
## 代码逻辑
|
||||||
|
|
||||||
### Hands (9 启用)
|
### Hands (7 注册: 6 TOML + 1 系统内部)
|
||||||
|
|
||||||
每个 Hand 有独立的 `hands/<Name>.HAND.toml` 配置和 `crates/zclaw-hands/src/hands/` 下的 Rust 实现。
|
每个 Hand 有独立的 `hands/<Name>.HAND.toml` 配置和 `crates/zclaw-hands/src/hands/` 下的 Rust 实现。
|
||||||
|
|
||||||
@@ -31,13 +31,20 @@ tags: [module, hands, skills, mcp]
|
|||||||
| Researcher | 深度研究 | LLM | 22 | `hands/researcher.HAND.toml` |
|
| Researcher | 深度研究 | LLM | 22 | `hands/researcher.HAND.toml` |
|
||||||
| Clip | 视频处理 | FFmpeg | 30 | `hands/clip.HAND.toml` |
|
| Clip | 视频处理 | FFmpeg | 30 | `hands/clip.HAND.toml` |
|
||||||
| Twitter | Twitter 自动化 (12 API v2) | OAuth 1.0a | 25 | `hands/twitter.HAND.toml` |
|
| Twitter | Twitter 自动化 (12 API v2) | OAuth 1.0a | 25 | `hands/twitter.HAND.toml` |
|
||||||
| Whiteboard | 白板演示 | — | — | `hands/whiteboard.HAND.toml` |
|
|
||||||
| Slideshow | 幻灯片生成 | — | 13 | `hands/slideshow.HAND.toml` |
|
|
||||||
| Speech | 语音合成 | Browser TTS | — | `hands/speech.HAND.toml` |
|
|
||||||
| Quiz | 测验生成 | — | — | `hands/quiz.HAND.toml` |
|
| Quiz | 测验生成 | — | — | `hands/quiz.HAND.toml` |
|
||||||
| _reminder | 定时提醒 (系统内部) | — | — | 无 TOML(代码注册) |
|
| _reminder | 定时提醒 (系统内部) | — | — | 无 TOML(代码注册) |
|
||||||
|
|
||||||
Hands 测试分布(前 5): Clip(30), Twitter(25), Researcher(22), Slideshow(13), Browser(8)
|
Hands 测试分布(前 5): Clip(30), Twitter(25), Researcher(22), Browser(8), Collector(8)
|
||||||
|
|
||||||
|
### 已删除 Hands (04-17 Phase 5 空壳清理)
|
||||||
|
|
||||||
|
| Hand | 原状态 | 删除原因 |
|
||||||
|
|------|--------|----------|
|
||||||
|
| Whiteboard | 有 HAND.toml + Rust (422行) | 空壳实现,无真实功能,已删除 |
|
||||||
|
| Slideshow | 有 HAND.toml + Rust (797行) | 空壳实现,无真实功能,已删除 |
|
||||||
|
| Speech | 有 HAND.toml + Rust (442行) | 空壳实现,无真实功能,已删除 |
|
||||||
|
|
||||||
|
净减 ~5400 行。
|
||||||
|
|
||||||
### 禁用 Hands
|
### 禁用 Hands
|
||||||
|
|
||||||
@@ -194,12 +201,12 @@ MCP 工具在 ToolRegistry 中使用限定名 `service_name.tool_name` 避免冲
|
|||||||
|
|
||||||
| 文件 | 职责 |
|
| 文件 | 职责 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| `crates/zclaw-hands/src/hands/` | 10 个 Hand 实现 (含 _reminder) |
|
| `crates/zclaw-hands/src/hands/` | 7 个 Hand 实现 (6 有 TOML + _reminder 系统内部) |
|
||||||
| `crates/zclaw-runtime/src/nl_schedule.rs` | 中文时间→cron 解析器 |
|
| `crates/zclaw-runtime/src/nl_schedule.rs` | 中文时间→cron 解析器 |
|
||||||
| `crates/zclaw-skills/src/semantic_router.rs` | TF-IDF 语义路由 |
|
| `crates/zclaw-skills/src/semantic_router.rs` | TF-IDF 语义路由 |
|
||||||
| `crates/zclaw-skills/src/` | 技能解析和索引 |
|
| `crates/zclaw-skills/src/` | 技能解析和索引 |
|
||||||
| `skills/*/SKILL.md` | 75 个技能定义 |
|
| `skills/*/SKILL.md` | 75 个技能定义 |
|
||||||
| `hands/*.HAND.toml` | 9 个 Hand 配置 |
|
| `hands/*.HAND.toml` | 6 个 Hand 配置 |
|
||||||
| `crates/zclaw-protocols/src/mcp_tool_adapter.rs` | MCP 工具适配器 + 服务管理 |
|
| `crates/zclaw-protocols/src/mcp_tool_adapter.rs` | MCP 工具适配器 + 服务管理 |
|
||||||
| `crates/zclaw-protocols/src/mcp.rs` | MCP 协议类型 + BasicMcpClient |
|
| `crates/zclaw-protocols/src/mcp.rs` | MCP 协议类型 + BasicMcpClient |
|
||||||
| `crates/zclaw-runtime/src/tool/builtin/mcp_tool.rs` | McpToolWrapper (Tool trait 桥接) |
|
| `crates/zclaw-runtime/src/tool/builtin/mcp_tool.rs` | McpToolWrapper (Tool trait 桥接) |
|
||||||
|
|||||||
@@ -1,52 +1,55 @@
|
|||||||
---
|
---
|
||||||
title: ZCLAW 项目知识库
|
title: ZCLAW 项目知识库
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
---
|
---
|
||||||
|
|
||||||
# ZCLAW 项目知识库
|
# ZCLAW 项目知识库
|
||||||
|
|
||||||
> 面向中文用户的 AI Agent 桌面客户端。管家模式 + 多模型 + 9 自主能力 + 75 技能。
|
> 面向中文用户的 AI Agent 桌面客户端。管家模式 + 多模型 + 7 自主能力 + 75 技能。
|
||||||
> **使用方式**: 找到你要处理的模块,读对应页面,直接开始工作。
|
> **使用方式**: 找到你要处理的模块,读对应页面,直接开始工作。
|
||||||
> **数据来源**: 2026-04-17 代码全量扫描验证,非文档推测。
|
> **数据来源**: 2026-04-19 代码全量扫描验证,非文档推测。
|
||||||
|
|
||||||
## 项目画像
|
## 项目画像
|
||||||
|
|
||||||
| 维度 | 值 |
|
| 维度 | 值 |
|
||||||
|------|-----|
|
|------|-----|
|
||||||
| 定位 | AI Agent 桌面客户端 (Tauri 2.x) |
|
| 定位 | AI Agent 桌面客户端 (Tauri 2.x) |
|
||||||
| 技术栈 | Rust 10 crates + src-tauri (~78K行, 275 .rs文件) + React 19 + TypeScript + PostgreSQL |
|
| 技术栈 | Rust 10 crates + src-tauri (~102K行, 357 .rs文件) + React 19 + TypeScript + PostgreSQL |
|
||||||
| 阶段 | 发布前稳定化,功能冻结中 |
|
| 阶段 | 发布前稳定化,功能冻结中 |
|
||||||
|
|
||||||
## 关键数字(2026-04-17 代码验证)
|
## 关键数字(2026-04-19 代码验证)
|
||||||
|
|
||||||
| 指标 | 值 | 验证方式 |
|
| 指标 | 值 | 验证方式 |
|
||||||
|------|-----|----------|
|
|------|-----|----------|
|
||||||
| Rust Crates | 10 + src-tauri | `ls crates/zclaw-*/Cargo.toml` |
|
| Rust Crates | 10 + src-tauri | `ls crates/zclaw-*/Cargo.toml` |
|
||||||
| Rust 代码 | 77,811 行 (275 .rs文件) | `find crates/ src-tauri/ -name "*.rs"` |
|
| Rust 代码 | 101,967 行 (80,754 crates + 21,213 src-tauri, 357 .rs文件) | `wc -l` (2026-04-19 验证) |
|
||||||
| Rust 测试 | 734 (425 #[test] + 309 #[tokio::test]) | `grep '#\[test\]' / '#\[tokio::test\]'` (TRUTH.md 04-18) |
|
| Rust 测试 | 987 (640 #[test] + 347 #[tokio::test]) | `grep '#\[test\]'` 含 src-tauri (2026-04-19 验证) |
|
||||||
| Tauri 命令 | 190 定义 (103 src-tauri + 76 crates + 内部) | `grep '#\[tauri::command\]'` (TRUTH.md 04-16) |
|
| Rust 测试通过 | 797 workspace (sqlx 0.8 升级后) | `cargo test --workspace --exclude zclaw-saas` |
|
||||||
| 前端 invoke 调用 | 104 处 | `grep invoke( desktop/src/` (TRUTH.md 04-16) |
|
| Tauri 命令 | 190 定义 | `grep '#\[.*tauri::command'` (2026-04-16 验证) |
|
||||||
| SaaS .route() | 137 个 | `grep .route( crates/zclaw-saas/` |
|
| 前端 invoke 调用 | 104 处 / 91 唯一命令 | `grep invoke( desktop/src/` (2026-04-19 验证) |
|
||||||
| SaaS 模块 | 17 个目录 | `ls crates/zclaw-saas/src/*/` |
|
| @reserved 标注 | 97 个 (孤儿命令 ~0) | `grep @reserved src-tauri/` (2026-04-19 验证) |
|
||||||
|
| SaaS .route() | 137 个 | `grep .route( crates/zclaw-saas/` (2026-04-16 验证) |
|
||||||
|
| SaaS 模块 | 16 个目录 | `ls crates/zclaw-saas/src/*/` (2026-04-19 验证) |
|
||||||
| SKILL 目录 | 75 个 | `ls -d skills/*/` |
|
| SKILL 目录 | 75 个 | `ls -d skills/*/` |
|
||||||
| HAND 配置 | 6 TOML + 1 系统内部 (_reminder) = 7 注册 | `ls hands/*.HAND.toml` + kernel registry |
|
| HAND 配置 | 6 TOML + 1 系统内部 (_reminder) = 7 注册 | `ls hands/*.HAND.toml` + kernel registry |
|
||||||
| Pipeline YAML | 18 个 | `find pipelines/ -name "*.yaml"` |
|
| Pipeline YAML | 18 个 (8 目录) | `find pipelines/ -name "*.yaml"` (2026-04-19 验证) |
|
||||||
| Zustand Store | 26 个 (.ts, 含子目录) | `find desktop/src/store/` |
|
| Zustand Store | 25 个 (.ts, 含子目录 saas/5) | `find desktop/src/store/` (2026-04-19 验证) |
|
||||||
| React 组件 | 105 个 (.tsx/.ts) | `find desktop/src/components/` (TRUTH.md 04-16) |
|
| React 组件 | 102 个 (.tsx/.ts, 11 子目录) | `find desktop/src/components/` (2026-04-19 验证) |
|
||||||
| Admin V2 页面 | 17 个 (.tsx) | `ls admin-v2/src/pages/` |
|
| Admin V2 页面 | 17 个 (.tsx) | `ls admin-v2/src/pages/` (2026-04-19 验证) |
|
||||||
| 中间件 | 14 层 runtime + 10 层 SaaS HTTP | `kernel/mod.rs` + `zclaw-saas middleware` |
|
| 中间件 | 15 层 runtime + 10 层 SaaS HTTP | `chain.register` 计数 (2026-04-19 验证) |
|
||||||
| 前端 lib/ | 76 个 .ts (顶层 ~73 + 子目录) | `find desktop/src/lib/` (TRUTH.md 04-16) |
|
| 前端 lib/ | 75 个 .ts (71 顶层 + workflow-builder/3 + __tests__/1) | `find desktop/src/lib/` (2026-04-19 验证) |
|
||||||
| SQL 迁移 | 20 文件 / 104 CREATE TABLE | `ls crates/zclaw-saas/migrations/*.sql` |
|
| SQL 迁移 | 38 文件 (21 up + 17 down) / 42 CREATE TABLE | `ls crates/zclaw-saas/migrations/*.sql` (2026-04-19 验证) |
|
||||||
| @reserved 标注 | 89 个 (孤儿命令 0) | `grep @reserved desktop/src-tauri/src/` (TRUTH.md 04-16) |
|
| Intelligence | 16 个 .rs 文件 | `ls src-tauri/src/intelligence/` (2026-04-19 验证) |
|
||||||
| Cargo Warnings | 0 (非 SaaS, 仅 sqlx 外部) | `cargo check --workspace --exclude zclaw-saas` |
|
| Cargo Warnings | 0 (非 SaaS) | `cargo check --workspace --exclude zclaw-saas` |
|
||||||
| TODO/FIXME | 前端 1 + Rust 3 = 4 | `grep TODO/FIXME` |
|
| TODO/FIXME | 前端 1 + Rust 1 = 2 | `grep TODO/FIXME` (2026-04-19 验证) |
|
||||||
|
| dead_code | 0 个 | `grep '#\[dead_code\]'` (2026-04-19 验证) |
|
||||||
|
|
||||||
## 模块导航树
|
## 模块导航树
|
||||||
|
|
||||||
```
|
```
|
||||||
ZCLAW
|
ZCLAW
|
||||||
├── [[routing]] 客户端路由 — 4分支决策,SaaS Relay是主路径
|
├── [[routing]] 客户端路由 — 5分支+降级,SaaS Relay是主路径
|
||||||
│ └── [[chat]] 聊天系统 — 3种ChatStream,Store拆为4+1
|
│ └── [[chat]] 聊天系统 — 3种ChatStream,Store拆为4+1
|
||||||
│
|
│
|
||||||
├── [[saas]] SaaS平台 — 认证/Token池/计费/Admin,Tauri的中枢
|
├── [[saas]] SaaS平台 — 认证/Token池/计费/Admin,Tauri的中枢
|
||||||
@@ -56,13 +59,13 @@ ZCLAW
|
|||||||
│
|
│
|
||||||
├── [[butler]] 管家模式 — 默认交互范式,语义路由+冷启动+痛点
|
├── [[butler]] 管家模式 — 默认交互范式,语义路由+冷启动+痛点
|
||||||
│
|
│
|
||||||
├── [[middleware]] 中间件链 — 14层runtime + 10层SaaS HTTP
|
├── [[middleware]] 中间件链 — 15层runtime + 10层SaaS HTTP
|
||||||
│
|
│
|
||||||
├── [[memory]] 记忆管道 — 对话→提取→FTS5+TF-IDF→检索→注入
|
├── [[memory]] 记忆管道 — 对话→提取→FTS5+TF-IDF→检索→注入+进化引擎
|
||||||
│
|
│
|
||||||
├── [[hands-skills]] Hands(9) + Skills(75) + MCP — 自主能力+语义技能+外部工具协议
|
├── [[hands-skills]] Hands(7注册) + Skills(75) + MCP — 自主能力+语义技能+外部工具协议
|
||||||
│
|
│
|
||||||
├── [[pipeline]] Pipeline DSL — YAML+DAG执行器+17行业模板
|
├── [[pipeline]] Pipeline DSL — YAML+DAG执行器+18模板
|
||||||
│
|
│
|
||||||
├── [[development]] 开发规范 — 闭环工作法/验证命令/提交规范
|
├── [[development]] 开发规范 — 闭环工作法/验证命令/提交规范
|
||||||
├── [[known-issues]] 已知问题 — P0/P1已修复,P2待处理
|
├── [[known-issues]] 已知问题 — P0/P1已修复,P2待处理
|
||||||
@@ -80,7 +83,10 @@ ZCLAW
|
|||||||
**Q: 为什么管家模式是默认?**
|
**Q: 为什么管家模式是默认?**
|
||||||
→ 面向医院行政等非技术用户,语义路由(75技能TF-IDF)+痛点积累+方案生成,降低使用门槛。
|
→ 面向医院行政等非技术用户,语义路由(75技能TF-IDF)+痛点积累+方案生成,降低使用门槛。
|
||||||
|
|
||||||
**Q: 为什么中间件是14层runtime?**
|
**Q: 为什么中间件是15层runtime?**
|
||||||
→ 按优先级分4类: 100-199上下文(compaction/memory) → 200-399能力(skill/guardrail) → 400-599安全(loop_guard/data_masking) → 600-799遥测(token/title/trajectory)。Kernel `create_middleware_chain()` 条件注册,skill_index 仅在有技能时注册。另有 10 层 SaaS HTTP 中间件 (限流/认证/配额/CORS/日志等)。
|
→ 按优先级分6类: 78进化(Evolution) → 80-99路由+脱敏(Butler/DataMasking) → 100-199上下文(Compaction/Memory/Title) → 200-399能力(SkillIndex/DanglingTool/ToolError/ToolOutputGuard) → 400-599安全(Guardrail/LoopGuard/SubagentLimit) → 600-799遥测(TrajectoryRecorder/TokenCalibration)。另有 10 层 SaaS HTTP 中间件 (限流/认证/配额/CORS/日志等)。
|
||||||
|
|
||||||
|
**Q: zclaw-growth 的进化引擎做什么?**
|
||||||
|
→ EvolutionEngine 负责从对话历史中检测行为模式变化,生成进化候选项(如新技能建议、工作流优化),通过 EvolutionMiddleware@78 注入 system prompt。配合 FeedbackCollector、PatternAggregator、QualityGate、SkillGenerator、WorkflowComposer 形成自我改进闭环。
|
||||||
|
|
||||||
> 数字真相源: `docs/TRUTH.md` — 如有冲突以代码实际为准
|
> 数字真相源: `docs/TRUTH.md` — 如有冲突以代码实际为准
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 记忆管道
|
title: 记忆管道
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [module, memory, growth]
|
tags: [module, memory, growth]
|
||||||
---
|
---
|
||||||
@@ -99,6 +99,54 @@ SaaS 侧:
|
|||||||
→ generate_embedding Worker: 内容分块 + 中文关键词提取 (Phase 2 embedding deferred)
|
→ generate_embedding Worker: 内容分块 + 中文关键词提取 (Phase 2 embedding deferred)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 进化引擎 (EvolutionEngine)
|
||||||
|
|
||||||
|
zclaw-growth 包含完整的自我改进闭环:
|
||||||
|
|
||||||
|
```
|
||||||
|
EvolutionEngine (crates/zclaw-growth/src/evolution_engine.rs)
|
||||||
|
→ 从对话历史中检测行为模式变化
|
||||||
|
→ 生成进化候选项 (新技能建议/工作流优化)
|
||||||
|
→ EvolutionMiddleware@78 注入 system prompt
|
||||||
|
|
||||||
|
配套组件:
|
||||||
|
→ FeedbackCollector — 收集用户反馈信号
|
||||||
|
→ PatternAggregator — 行为模式聚合
|
||||||
|
→ QualityGate — 进化质量门控
|
||||||
|
→ SkillGenerator — 自动技能生成
|
||||||
|
→ WorkflowComposer — 工作流自动编排
|
||||||
|
→ ProfileUpdater — 用户画像更新
|
||||||
|
→ ExperienceExtractor — 经验提取器
|
||||||
|
→ Summarizer — 记忆摘要
|
||||||
|
```
|
||||||
|
|
||||||
|
zclaw-growth 模块结构 (19 文件):
|
||||||
|
```
|
||||||
|
crates/zclaw-growth/src/
|
||||||
|
├── evolution_engine.rs 进化引擎核心
|
||||||
|
├── experience_extractor.rs 经验提取
|
||||||
|
├── experience_store.rs 经验 CRUD
|
||||||
|
├── extractor.rs 记忆提取
|
||||||
|
├── feedback_collector.rs 反馈收集
|
||||||
|
├── injector.rs Prompt 注入
|
||||||
|
├── json_utils.rs JSON 工具
|
||||||
|
├── pattern_aggregator.rs 模式聚合
|
||||||
|
├── profile_updater.rs 画像更新
|
||||||
|
├── quality_gate.rs 质量门控
|
||||||
|
├── retriever.rs 语义检索
|
||||||
|
├── skill_generator.rs 技能生成
|
||||||
|
├── summarizer.rs 摘要生成
|
||||||
|
├── tracker.rs 追踪器
|
||||||
|
├── types.rs 类型定义
|
||||||
|
├── viking_adapter.rs Viking 适配器
|
||||||
|
├── workflow_composer.rs 工作流编排
|
||||||
|
├── retrieval/ 检索子模块
|
||||||
|
│ ├── query.rs 意图分类 + CJK
|
||||||
|
│ └── semantic.rs EmbeddingClient
|
||||||
|
└── storage/ 存储子模块
|
||||||
|
└── sqlite.rs FTS5 + TF-IDF
|
||||||
|
```
|
||||||
|
|
||||||
### 前端 Tauri 命令
|
### 前端 Tauri 命令
|
||||||
|
|
||||||
Memory 相关命令 (13 个,来自 `memory_commands.rs` + `memory/`):
|
Memory 相关命令 (13 个,来自 `memory_commands.rs` + `memory/`):
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ tags: [module, pipeline, dsl]
|
|||||||
|
|
||||||
- YAML 定义 Pipeline 结构(步骤、依赖、输入/输出)
|
- YAML 定义 Pipeline 结构(步骤、依赖、输入/输出)
|
||||||
- DAG 执行器按依赖拓扑排序执行
|
- DAG 执行器按依赖拓扑排序执行
|
||||||
- 17 个 YAML 模板覆盖 8 大行业目录
|
- 18 个 YAML 模板覆盖 8 大行业目录
|
||||||
- 前端已接通 8 个 Tauri invoke 调用
|
- 前端已接通 8 个 Tauri invoke 调用
|
||||||
|
|
||||||
## 代码逻辑
|
## 代码逻辑
|
||||||
@@ -38,7 +38,7 @@ YAML Pipeline 定义
|
|||||||
enum RunStatus { Pending, Running, Completed, Failed, Cancelled }
|
enum RunStatus { Pending, Running, Completed, Failed, Cancelled }
|
||||||
```
|
```
|
||||||
|
|
||||||
### 模板分布 (17 个 YAML)
|
### 模板分布 (18 个 YAML)
|
||||||
|
|
||||||
```
|
```
|
||||||
pipelines/
|
pipelines/
|
||||||
@@ -67,6 +67,8 @@ pipelines/
|
|||||||
│ └── meeting-summary.yaml
|
│ └── meeting-summary.yaml
|
||||||
└── research/ (1 模板)
|
└── research/ (1 模板)
|
||||||
└── literature-review.yaml
|
└── literature-review.yaml
|
||||||
|
|
||||||
|
注: 共 18 个 YAML, 总数 = 2+4+4+3+1+1+1+1+1 = 18
|
||||||
```
|
```
|
||||||
|
|
||||||
### 前端集成
|
### 前端集成
|
||||||
@@ -104,6 +106,6 @@ Pipeline Tauri 命令 (12 个):
|
|||||||
|------|------|
|
|------|------|
|
||||||
| `crates/zclaw-pipeline/src/executor.rs` | DAG 执行器 |
|
| `crates/zclaw-pipeline/src/executor.rs` | DAG 执行器 |
|
||||||
| `crates/zclaw-pipeline/src/parser_v2.rs` | YAML 解析 (11 tests) |
|
| `crates/zclaw-pipeline/src/parser_v2.rs` | YAML 解析 (11 tests) |
|
||||||
| `pipelines/` | 17 个 YAML 模板 (8 目录) |
|
| `pipelines/` | 18 个 YAML 模板 (8 目录) |
|
||||||
| `desktop/src/lib/pipeline-client.ts` | 前端 Pipeline 客户端 |
|
| `desktop/src/lib/pipeline-client.ts` | 前端 Pipeline 客户端 |
|
||||||
| `desktop/src-tauri/src/pipeline_commands/` | 12 个 Tauri 命令 (4 文件) |
|
| `desktop/src-tauri/src/pipeline_commands/` | 12 个 Tauri 命令 (4 文件) |
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 客户端路由
|
title: 客户端路由
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [module, routing, connection]
|
tags: [module, routing, connection]
|
||||||
---
|
---
|
||||||
@@ -21,29 +21,31 @@ tags: [module, routing, connection]
|
|||||||
|
|
||||||
## 代码逻辑
|
## 代码逻辑
|
||||||
|
|
||||||
### 4 分支决策树
|
### 5 分支 + 降级决策树
|
||||||
|
|
||||||
入口: `connectionStore.ts:349` → `connect(url?, token?)`
|
入口: `connectionStore.ts` → `connect(url?, token?)`
|
||||||
|
|
||||||
```
|
```
|
||||||
connect()
|
connect()
|
||||||
│
|
│
|
||||||
├── [1] Admin 强制路由: localStorage llm_routing
|
├── [1] Admin 强制本地: adminRouting === 'local' && isTauri()
|
||||||
│ ├── "relay" → 强制 SaaS Relay 模式
|
│ → 直接走 Kernel 模式,跳过 SaaS
|
||||||
│ └── "local" → 强制本地 Kernel (adminForceLocal=true)
|
|
||||||
│
|
│
|
||||||
├── [2] SaaS Relay 模式: localStorage('zclaw-connection-mode') === 'saas'
|
├── [2] SaaS Relay (Tauri 路径): savedMode === 'saas' && isTauri()
|
||||||
│ ├── Tauri: KernelClient + baseUrl = saasUrl/api/v1/relay
|
│ → KernelClient + baseUrl = saasUrl/api/v1/relay
|
||||||
│ │ apiKey = SaaS JWT (不是 LLM Key!)
|
│ → apiKey = SaaS JWT (不是 LLM Key!)
|
||||||
│ ├── Browser: SaaSRelayGatewayClient (SSE)
|
│ → SaaS 不可达 → 降级到本地 Kernel
|
||||||
│ └── SaaS 不可达 → 降级到本地 Kernel
|
|
||||||
│
|
│
|
||||||
├── [3] 本地 Kernel: isTauriRuntime() === true
|
├── [3] SaaS Relay (Browser 路径): savedMode === 'saas' && !isTauri()
|
||||||
│ KernelClient + 用户自定义模型配置
|
│ → SaaSRelayGatewayClient (SSE)
|
||||||
│ 用户需要自己的 API Key
|
│ → SaaS 不可达 → 降级到本地 Kernel
|
||||||
│
|
│
|
||||||
└── [4] External Gateway (fallback)
|
├── [4] 本地 Kernel: isTauriRuntime() && 非 SaaS 模式
|
||||||
GatewayClient via WebSocket/REST
|
│ → KernelClient + 用户自定义模型配置
|
||||||
|
│ → 用户需要自己的 API Key
|
||||||
|
│
|
||||||
|
└── [5] External Gateway (fallback): !isTauri()
|
||||||
|
→ GatewayClient via WebSocket/REST
|
||||||
```
|
```
|
||||||
|
|
||||||
### SaaS Relay 主路径 (Tauri 桌面端)
|
### SaaS Relay 主路径 (Tauri 桌面端)
|
||||||
@@ -86,7 +88,7 @@ listModels() 失败
|
|||||||
`getClient()` 定义: `connectionStore.ts:844`
|
`getClient()` 定义: `connectionStore.ts:844`
|
||||||
所有 Store 通过 `initializeStores()` (store/index.ts:94) 获取共享 client。
|
所有 Store 通过 `initializeStores()` (store/index.ts:94) 获取共享 client。
|
||||||
|
|
||||||
### Store 层 (17 文件 + chat/4 = 21)
|
### Store 层 (16 根文件 + chat/4 + saas/5 = 25)
|
||||||
|
|
||||||
```
|
```
|
||||||
desktop/src/store/
|
desktop/src/store/
|
||||||
@@ -98,34 +100,43 @@ desktop/src/store/
|
|||||||
├── configStore.ts 配置读写
|
├── configStore.ts 配置读写
|
||||||
├── connectionStore.ts 路由决策核心
|
├── connectionStore.ts 路由决策核心
|
||||||
├── handStore.ts Hand 状态管理
|
├── handStore.ts Hand 状态管理
|
||||||
├── industryStore.ts 行业配置 (V13 新增,已接通 ButlerPanel)
|
├── industryStore.ts 行业配置 (已接通 ButlerPanel)
|
||||||
├── memoryGraphStore.ts 记忆图谱
|
├── memoryGraphStore.ts 记忆图谱
|
||||||
├── offlineStore.ts 离线队列
|
├── offlineStore.ts 离线队列
|
||||||
├── saasStore.ts SaaS 认证
|
├── saasStore.ts SaaS 认证 (re-export barrel)
|
||||||
├── securityStore.ts 安全状态
|
├── securityStore.ts 安全状态
|
||||||
├── sessionStore.ts 会话管理
|
├── sessionStore.ts 会话管理
|
||||||
├── uiModeStore.ts 双模式 UI
|
├── uiModeStore.ts 双模式 UI
|
||||||
├── workflowBuilderStore.ts 工作流构建器
|
|
||||||
├── workflowStore.ts 工作流状态
|
├── workflowStore.ts 工作流状态
|
||||||
└── chat/
|
├── chat/
|
||||||
├── artifactStore.ts 聊天产物
|
│ ├── artifactStore.ts 聊天产物
|
||||||
├── conversationStore.ts 会话管理
|
│ ├── conversationStore.ts 会话管理
|
||||||
├── messageStore.ts 消息持久化
|
│ ├── messageStore.ts 消息持久化
|
||||||
└── streamStore.ts 流式编排
|
│ └── streamStore.ts 流式编排
|
||||||
|
└── saas/ (拆分子模块, 04-17 refactor)
|
||||||
|
├── index.ts 子模块入口
|
||||||
|
├── auth.ts 认证逻辑
|
||||||
|
├── billing.ts 计费逻辑
|
||||||
|
├── shared.ts 共享状态/工具
|
||||||
|
└── types.ts 类型定义
|
||||||
```
|
```
|
||||||
|
|
||||||
### lib/ 工具层 (76 个文件)
|
### lib/ 工具层 (75 个 .ts 文件)
|
||||||
|
|
||||||
关键分类:
|
关键分类:
|
||||||
|
|
||||||
| 类别 | 文件 | 数量 |
|
| 类别 | 文件 | 数量 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| Kernel 通信 | kernel-chat/kernel-client/kernel-agent/... | 7 |
|
| Kernel 通信 | kernel-client/kernel-chat/kernel-agent/kernel-skills/kernel-triggers/kernel-hands/... | 8 |
|
||||||
| SaaS 通信 | saas-client/saas-auth/saas-billing/saas-relay/... | 12 |
|
| SaaS 通信 | saas-client/saas-auth/saas-billing/saas-relay/saas-industry/saas-knowledge/... | 12 |
|
||||||
| Gateway | gateway-client/gateway-api/gateway-auth/... | 6 |
|
| Gateway | gateway-client/gateway-api/gateway-auth/gateway-config/... | 9 |
|
||||||
| Intelligence | intelligence-backend/intelligence-client | 2 |
|
| Intelligence | intelligence-backend/intelligence-client/embedding-client/memory-extractor | 4 |
|
||||||
| 工具 | config-parser/crypto-utils/logger/utils | 10+ |
|
| Viking | viking-client | 1 |
|
||||||
| Tauri 集成 | safe-tauri/tauri-gateway/secure-storage | 3 |
|
| Pipeline | pipeline-client/pipeline-recommender | 2 |
|
||||||
|
| Security | crypto-utils/secure-storage/security-audit/security-index/api-key-storage | 5 |
|
||||||
|
| 工具 | config-parser/logger/utils/error-types/error-utils/json-utils/... | 10+ |
|
||||||
|
| Tauri 集成 | safe-tauri/tauri-gateway | 2 |
|
||||||
|
| 工作流 | workflow-builder/ (index + types + yaml-converter) | 3 |
|
||||||
|
|
||||||
## 模型路由
|
## 模型路由
|
||||||
|
|
||||||
|
|||||||
12
wiki/saas.md
12
wiki/saas.md
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: SaaS 平台
|
title: SaaS 平台
|
||||||
updated: 2026-04-17
|
updated: 2026-04-19
|
||||||
status: active
|
status: active
|
||||||
tags: [module, saas, auth, billing]
|
tags: [module, saas, auth, billing]
|
||||||
---
|
---
|
||||||
@@ -85,11 +85,9 @@ knowledge/ migration/ model_config/ models/ prompt/
|
|||||||
relay/ role/ scheduled_task/ tasks/ telemetry/ workers/
|
relay/ role/ scheduled_task/ tasks/ telemetry/ workers/
|
||||||
```
|
```
|
||||||
|
|
||||||
实际 `ls` 显示 17 个目录(含上述 16 + distill_knowledge 等 workers 子模块)。
|
|
||||||
|
|
||||||
### SaaS API 分布
|
### SaaS API 分布
|
||||||
|
|
||||||
137 个 `.route()` 调用,13 个路由模块 (main.rs `.merge()` 注册):
|
137 个 `.route()` 调用,13 个路由模块 (main.rs `.merge()` 注册)。
|
||||||
|
|
||||||
| 模块 | 路由注册 | 说明 |
|
| 模块 | 路由注册 | 说明 |
|
||||||
|------|----------|------|
|
|------|----------|------|
|
||||||
@@ -107,9 +105,9 @@ relay/ role/ scheduled_task/ tasks/ telemetry/ workers/
|
|||||||
| industry | industry/ | 行业配置管理 (V13 新增) |
|
| industry | industry/ | 行业配置管理 (V13 新增) |
|
||||||
| migration | migration/ | Schema 迁移 |
|
| migration | migration/ | Schema 迁移 |
|
||||||
|
|
||||||
### 数据表 (104 CREATE TABLE)
|
### 数据表 (42 CREATE TABLE)
|
||||||
|
|
||||||
20 个 SQL 迁移文件,104 个 `CREATE TABLE` 语句(含临时表、索引表等)。
|
38 个 SQL 迁移文件 (21 up + 17 down),42 个 `CREATE TABLE` 语句。
|
||||||
|
|
||||||
核心表: users, agents, conversations, messages, billing_*, knowledge_*, model_configs, roles, permissions, scheduled_tasks, telemetry, agent_templates, saas_schema_version, user_profiles, trajectory_records, industries, account_industries
|
核心表: users, agents, conversations, messages, billing_*, knowledge_*, model_configs, roles, permissions, scheduled_tasks, telemetry, agent_templates, saas_schema_version, user_profiles, trajectory_records, industries, account_industries
|
||||||
|
|
||||||
@@ -141,7 +139,7 @@ relay/ role/ scheduled_task/ tasks/ telemetry/ workers/
|
|||||||
| `crates/zclaw-saas/src/billing/` | 计费 |
|
| `crates/zclaw-saas/src/billing/` | 计费 |
|
||||||
| `crates/zclaw-saas/src/knowledge/` | 知识库 |
|
| `crates/zclaw-saas/src/knowledge/` | 知识库 |
|
||||||
| `crates/zclaw-saas/src/workers/` | 7 个后台 Worker |
|
| `crates/zclaw-saas/src/workers/` | 7 个后台 Worker |
|
||||||
| `crates/zclaw-saas/migrations/` | SQL 迁移 (20 文件) |
|
| `crates/zclaw-saas/migrations/` | SQL 迁移 (38 文件) |
|
||||||
| `admin-v2/src/pages/` | 17 页管理后台(含 Dashboard/Accounts/Billing/Industries/Knowledge/Prompts/Roles/ScheduledTasks/Config 等) |
|
| `admin-v2/src/pages/` | 17 页管理后台(含 Dashboard/Accounts/Billing/Industries/Knowledge/Prompts/Roles/ScheduledTasks/Config 等) |
|
||||||
| `desktop/src/lib/saas-client.ts` | 前端 SaaS API 客户端 |
|
| `desktop/src/lib/saas-client.ts` | 前端 SaaS API 客户端 |
|
||||||
| `desktop/src/store/saasStore.ts` | SaaS 认证状态 |
|
| `desktop/src/store/saasStore.ts` | SaaS 认证状态 |
|
||||||
|
|||||||
Reference in New Issue
Block a user