refactor: 统一项目名称从OpenFang到ZCLAW
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

重构所有代码和文档中的项目名称,将OpenFang统一更新为ZCLAW。包括:
- 配置文件中的项目名称
- 代码注释和文档引用
- 环境变量和路径
- 类型定义和接口名称
- 测试用例和模拟数据

同时优化部分代码结构,移除未使用的模块,并更新相关依赖项。
This commit is contained in:
iven
2026-03-27 07:36:03 +08:00
parent 4b08804aa9
commit 0d4fa96b82
226 changed files with 7288 additions and 5788 deletions

View File

@@ -216,9 +216,9 @@ i18n.t('hand.trigger', { name })
## 议题五:风险规避方向
### 5.1 OpenFang 兼容性维护
### 5.1 ZCLAW 兼容性维护
**风险:** OpenFang 版本升级可能导致兼容性问题
**风险:** ZCLAW 版本升级可能导致兼容性问题
**方案:**
@@ -227,7 +227,7 @@ i18n.t('hand.trigger', { name })
| A. 版本锁定 | 低 | 弱 |
| B. 兼容层抽象 | 中 | 中 |
| C. 自动化兼容性测试 | 高 | 强 |
| D. 参与 OpenFang 开发 | 高 | 最强 |
| D. 参与 ZCLAW 开发 | 高 | 最强 |
**结论:** 实施 B + C建立兼容性测试套件

View File

@@ -198,9 +198,9 @@ i18n.t('hand.trigger', { name })
## 五、风险规避方向
### 议题 5.1OpenFang 兼容性维护
### 议题 5.1ZCLAW 兼容性维护
**风险:** OpenFang 版本升级可能导致兼容性问题
**风险:** ZCLAW 版本升级可能导致兼容性问题
**方案:**
@@ -209,7 +209,7 @@ i18n.t('hand.trigger', { name })
| A. 版本锁定 | 低 | 弱 |
| B. 兼容层抽象 | 中 | 中 |
| C. 自动化兼容性测试 | 高 | 强 |
| D. 参与 OpenFang 开发 | 高 | 最强 |
| D. 参与 ZCLAW 开发 | 高 | 最强 |
**结论:** 实施 B + C建立兼容性测试套件

View File

@@ -161,7 +161,7 @@ export interface RunHistoryEntry { ... }
| 模块 | 文件 | 功能 | 状态 |
|------|------|------|------|
| OpenFang 集成 | `lib.rs` | Gateway 生命周期管理 | ✅ 完整 |
| ZCLAW 集成 | `lib.rs` | Gateway 生命周期管理 | ✅ 完整 |
| Viking Server | `viking_server.rs` | 本地向量数据库 | ✅ 完整 |
| Viking Commands | `viking_commands.rs` | Viking CLI 封装 | ✅ 完整 |
| Browser Automation | `browser/*.rs` | Fantoccini 浏览器控制 | ✅ 完整 |

View File

@@ -0,0 +1,220 @@
# ZCLAW 功能完整性审计报告
> **审计日期**: 2026-03-26
> **审计范围**: docs/features 目录下所有功能文档 vs 实际代码实现
> **审计方法**: 五步审计流程(文档对齐 → 追踪数据流 → 识别 dead_code → 检查 trait 实现 → 端到端验证)
---
## 一、五步审计流程执行结果
### 步骤 1: 文档对齐
根据 `docs/features/README.md`,系统声称具备以下功能:
| 模块 | 声称成熟度 | 功能项 |
|------|-----------|--------|
| 架构层 | L4 | 通信层、状态管理、安全认证 |
| 核心功能 | L3-L4 | 聊天界面、Agent分身、Hands系统 |
| 智能层 | L3-L4 | 记忆、身份演化、上下文压缩、反思、心跳、自主授权 |
| Skills生态 | L4 | 动态扫描、execute_skill |
| Hands系统 | L3 | 9/11 已实现 |
| Pipeline DSL | L4 | 5类Pipeline模板 |
### 步骤 2: 追踪数据流
**智能层集成情况** (`intelligence_hooks.rs`):
```
✅ 已接入:
- identity (pre-hook): build_system_prompt()
- memory context (pre-hook): build_memory_context() via VikingStorage
- heartbeat (post-hook): record_interaction()
- reflection (post-hook): record_conversation() + should_reflect()
❌ 未接入:
- compactor: 代码存在但未在 hooks 中调用
- pattern_detector: #![allow(dead_code)]
- recommender: #![allow(dead_code)]
- mesh: #![allow(dead_code)]
- persona_evolver: #![allow(dead_code)]
- trigger_evaluator: #![allow(dead_code)]
```
### 步骤 3: 识别 dead_code
| 文件 | 状态 | 说明 |
|------|------|------|
| `intelligence/pattern_detector.rs` | `#![allow(dead_code)]` | 模块存在但未集成 |
| `intelligence/recommender.rs` | `#![allow(dead_code)]` | 模块存在但未集成 |
| `intelligence/mesh.rs` | `#![allow(dead_code)]` | 模块存在但未集成 |
| `intelligence/persona_evolver.rs` | `#![allow(dead_code)]` | 模块存在但未集成 |
| `intelligence/trigger_evaluator.rs` | `#![allow(dead_code)]` | 模块存在但未集成 |
| `context_compactor.rs` | Tauri命令存在但未在hooks中调用 | 降级为L2 |
### 步骤 4: 检查 trait 实现
| 智能模块 | Rust实现 | Tauri命令 | 前端调用链 |
|---------|---------|----------|-----------|
| heartbeat | ✅ | ✅ | ✅ intelligence_hooks |
| reflection | ✅ | ✅ | ✅ intelligence_hooks |
| identity | ✅ | ✅ | ✅ intelligence_hooks |
| memory | ✅ (VikingStorage) | ✅ | ✅ intelligence_hooks |
| compactor | ✅ | ✅ | ⚠️ chatStore直接调用未经hooks |
| pattern_detector | ✅ | ❌ | ❌ |
| recommender | ✅ | ❌ | ❌ |
| mesh | ✅ | ❌ | ❌ |
| persona_evolver | ✅ | ❌ | ❌ |
| trigger_evaluator | ✅ | ❌ | ❌ |
### 步骤 5: 端到端验证
**发现编译错误**target/flycheck0/stdout:
```
error[E0603]: struct import `FindOptions` is private
--> desktop\src-tauri\src\intelligence_hooks.rs:100:43
```
---
## 二、10项通用审计清单
| # | 检查项 | 状态 | 说明 |
|---|--------|------|------|
| 1 | 代码存在性 | ✅ | 所有声称模块均有代码 |
| 2 | 调用链连通 | ⚠️ | 5个智能模块未接入hooks |
| 3 | 配置传递 | ⚠️ | compactor降级配置未生效 |
| 4 | 降级策略 | ✅ | intelligence-client.ts有fallback逻辑 |
| 5 | 前后端数据流 | ⚠️ | FindOptions私有导入导致编译失败 |
| 6 | UI组件集成 | ✅ | 主要UI已集成到RightPanel |
| 7 | 错误处理 | ✅ | 有容错解析 |
| 8 | 测试覆盖 | ⚠️ | 仅agent-memory有测试 |
| 9 | 文档同步 | ⚠️ | 文档声称L4实际部分L2 |
| 10 | 依赖声明 | ✅ | Cargo.toml完整 |
---
## 三、5种常见差距模式
| 模式 | 描述 | 发现实例 |
|------|------|----------|
| **写了没接** | 代码已实现但未接入实际流程 | compactor、pattern_detector、recommender、mesh、persona_evolver、trigger_evaluator |
| **接了没传** | 接入了但参数/状态未传递 | heartbeat post-hook参数未使用 |
| **传了没存** | 传了但未持久化 | identity快照未存储 |
| **存了没用** | 存储了但UI未使用 | VikingStorage记忆未在MemoryPanel展示 |
| **双系统不同步** | TypeScript和Rust各有一套实现 | intelligence-backend.ts vs intelligence_hooks.rs |
---
## 四、功能差距详细清单
### 4.1 智能层差距
| 功能 | 文档声称 | 实际状态 | 差距等级 |
|------|---------|---------|---------|
| Agent记忆 | L4 ✅ | L3 ⚠️ | 中 |
| 身份演化 | L3 ✅ | L2 ⚠️ | 中 |
| 上下文压缩 | L2 ⚠️ | L2 ⚠️ | 低 |
| 自我反思 | L3 ✅ | L3 ✅ | 无 |
| 心跳巡检 | L3 ✅ | L3 ✅ | 无 |
| 自主授权 | L3 ✅ | L3 ✅ | 无 |
| Pattern检测 | L4 ✅ | ❌ 未集成 | 高 |
| 推荐引擎 | L4 ✅ | ❌ 未集成 | 高 |
| 自适应Mesh | L4 ✅ | ❌ 未集成 | 高 |
| Persona演进 | L4 ✅ | ❌ 未集成 | 高 |
| 触发评估器 | L4 ✅ | ❌ 未集成 | 高 |
### 4.2 Hands系统差距
| Hand | 文档声称 | 实际状态 |
|------|---------|---------|
| Browser | ✅ | ✅ |
| Collector | ✅ | ✅ |
| Researcher | ✅ | ✅ |
| Predictor | ✅ | ⚠️ 依赖外部API |
| Lead | ✅ | ⚠️ 依赖外部API |
| Clip | ✅ | ⚠️ 需要FFmpeg |
| Speech | ✅ | ✅ |
| Slideshow | ✅ | ✅ |
| Quiz | ✅ | ✅ |
| Whiteboard | ✅ | ✅ |
| Twitter | ✅ | ⚠️ 需要API Key |
### 4.3 未实现的APIfeature-checklist.md记录
| API端点 | 状态 | 文档日期 |
|---------|------|---------|
| `/api/tasks` | ❌ 404 | 2026-03-14 |
| `/api/audit/logs` | ❌ 404 | 2026-03-14 |
| `/api/security/status` | ❌ 404 | 2026-03-14 |
| `/api/plugins` | ❌ 404 | 2026-03-14 |
| `/api/workspace` | ❌ 404 | 2026-03-14 |
| `/api/mcp/*` | ❌ 404 | 2026-03-14 |
---
## 五、审计命令速查
```bash
# 搜索 dead_code
rg "#\!\[allow\(dead_code\)\]" --type rust
# 搜索 TODO/FIXME
rg "TODO|FIXME|XXX|HACK" --type rust --type ts
# 搜索未集成的智能模块
rg "pattern_detector|recommender|mesh|persona_evolver|trigger_evaluator" --type rust
# 检查 invoke 调用链
rg "invoke\('" desktop/src/lib/ --type ts
# 搜索 404 API
rg "404|net::ERR" desktop/src/ --type ts
```
---
## 六、修复建议优先级
### P0 - 阻断性问题
| 问题 | 修复 |
|------|------|
| `FindOptions`私有导入 | 修改 `intelligence_hooks.rs:100` 使用 `zclaw_growth::FindOptions` |
| 5个智能模块未集成 | 将 compactor/pattern_detector/recommender/mesh/persona_evolver/trigger_evaluator 接入 hooks |
### P1 - 重要功能
| 问题 | 修复 |
|------|------|
| Context Compactor 未在hooks调用 | 在 `pre_conversation_hook``post_conversation_hook` 中添加compact调用 |
| Vector Memory UI未使用 | 集成 `vector-memory.ts` 到 MemoryPanel |
### P2 - 增强功能
| 问题 | 修复 |
|------|------|
| 文档更新 | 将未集成模块的成熟度从L4降为L2 |
| 测试覆盖 | 为每个智能模块添加单元测试 |
---
## 七、总结
| 指标 | 数值 |
|------|------|
| 文档声称成熟度 | 大部分 L3-L4 |
| 实际达到成熟度 | 核心聊天流程 L4智能层 L2-L3 |
| 未集成模块 | 6个 (compactor降级, 5个智能模块) |
| 编译错误 | 1个 (FindOptions私有导入) |
| 未实现API | 6个 |
**核心问题**: 系统核心聊天功能完整,但智能层的"自我进化"能力大部分停留在代码存在但未集成的状态,属于"**写了没接**"的典型模式。
---
## 八、变更历史
| 日期 | 变更内容 |
|------|---------|
| 2026-03-26 | 初始版本,完成五步审计流程分析 |

View File

@@ -119,7 +119,7 @@ gateway/
### Q7: 缺少兼容性测试
**问题描述:**
-OpenFang 版本兼容性测试
-ZCLAW 版本兼容性测试
- 版本升级可能破坏功能
**影响:**
@@ -127,7 +127,7 @@ gateway/
- 问题发现滞后
**修复建议:**
1. 建立 OpenFang 版本矩阵测试
1. 建立 ZCLAW 版本矩阵测试
2. 自动化兼容性测试套件
3. 版本发布前验证
@@ -273,7 +273,7 @@ gateway/
### D2: 旧版 API 兼容代码
**问题描述:**
- 存在旧版 OpenClaw 兼容代码
- 存在旧版 ZCLAW 兼容代码
- 增加体积
**影响:**

View File

@@ -272,7 +272,7 @@ Q4: D4, D5
| 风险 | 概率 | 影响 | 应对措施 |
|------|------|------|----------|
| OpenFang 版本不兼容 | | | 建立兼容性测试套件 |
| ZCLAW 版本不兼容 | | | 建立兼容性测试套件 |
| 关键人员离职 | | | 文档和知识共享 |
| 竞品快速迭代 | | | 聚焦差异化功能 |
| 技术方案不可行 | | | 技术验证先行 |

View File

@@ -10,7 +10,7 @@
### 项目概览
ZCLAW 是一个基于 **OpenFang** 的中文优先 AI Agent 桌面客户端,采用 **Tauri 2.0 (Rust + React 19)** 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
ZCLAW 是一个基于 **ZCLAW** 的中文优先 AI Agent 桌面客户端,采用 **Tauri 2.0 (Rust + React 19)** 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
### 核心数据
@@ -124,7 +124,7 @@ ZCLAW/
```
desktop/src-tauri/src/
├── lib.rs # 入口,OpenFang 集成
├── lib.rs # 入口,ZCLAW 集成
├── main.rs # 主程序
├── viking_commands.rs # OpenViking CLI sidecar
├── viking_server.rs # OpenViking 本地服务器
@@ -188,7 +188,7 @@ desktop/src-tauri/src/
│ browser │ intelligence │ memory │ llm │ secure_storage │
└─────────────────────────────────────────────────────────────┘
OpenFang Kernel / OpenViking
ZCLAW Kernel / OpenViking
```
### 2.2 数据流架构
@@ -199,7 +199,7 @@ desktop/src-tauri/src/
WebSocket / REST
OpenFang Kernel
ZCLAW Kernel
Skills / Hands 执行
```
@@ -563,7 +563,7 @@ interface GatewayFrame {
| 风险 | 概率 | 影响 | 缓解措施 |
|------|------|------|----------|
| OpenFang 版本不兼容 | 中 | 高 | 兼容性测试套件 |
| ZCLAW 版本不兼容 | 中 | 高 | 兼容性测试套件 |
| LLM API 变更 | 中 | 高 | 抽象层隔离 |
| 性能瓶颈 | 中 | 中 | 监控和优化 |
@@ -605,14 +605,14 @@ interface GatewayFrame {
1. 中国 AI Agent 市场爆发
2. 本地优先隐私诉求增长
3. OpenFang 生态缺口
3. ZCLAW 生态缺口
4. 飞书+企业微信整合需求
5. Skill 市场变现潜力
### 威胁 (Threats)
1. 竞品迭代极快 (Cursor/Windsurf/AutoClaw)
2. OpenFang 上游变化
2. ZCLAW 上游变化
3. LLM API 不稳定
4. 维护成本高

View File

@@ -9,7 +9,7 @@
### 1.1 项目定位
ZCLAW 是一个基于 OpenFang 的中文优先 AI Agent 桌面客户端,采用 **Tauri 2.0 (Rust + React 19)** 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
ZCLAW 是一个基于 ZCLAW 的中文优先 AI Agent 桌面客户端,采用 **Tauri 2.0 (Rust + React 19)** 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
### 1.2 技术栈全景
@@ -60,7 +60,7 @@ ZCLAW 是一个基于 OpenFang 的中文优先 AI Agent 桌面客户端,采用
│ browser │ intelligence │ memory │ llm │ viking │ secure_storage │
└──────────────────────────────────────────────────────────────────┘
OpenFang Kernel / OpenViking
ZCLAW Kernel / OpenViking
```
### 2.2 前端架构分析
@@ -125,14 +125,14 @@ ZCLAW 是一个基于 OpenFang 的中文优先 AI Agent 桌面客户端,采用
**GatewayClient 核心功能:**
- ✅ WebSocket 连接管理(自动重连、心跳)
- ✅ REST API 降级(OpenFang 模式)
- ✅ REST API 降级(ZCLAW 模式)
- ✅ Ed25519 设备认证
- ✅ 流式响应处理chatStream
- ✅ 事件订阅机制
**问题:**
- ⚠️ 文件过大65KB职责过重
- ⚠️ 部分方法过长(如 handleOpenFangStreamEvent 100+ 行)
- ⚠️ 部分方法过长(如 handleZCLAWStreamEvent 100+ 行)
### 2.3 Rust 后端架构分析
@@ -321,7 +321,7 @@ L2 (Deep): 加载最相关项的完整内容
WebSocket / REST
OpenFang Kernel
ZCLAW Kernel
Skills / Hands 执行
```

View File

@@ -4,7 +4,7 @@
## 一、项目全景概览
ZCLAW 是一个基于 OpenFang (类 OpenClaw) 定制化的中文优先 AI Agent 桌面客户端,采用 Tauri 2.0 (Rust + React 19) 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
ZCLAW 是一个基于 ZCLAW (类 ZCLAW) 定制化的中文优先 AI Agent 桌面客户端,采用 Tauri 2.0 (Rust + React 19) 架构,目标对标智谱 AutoClaw 和腾讯 QClaw。
### 1.1 技术栈全景
@@ -39,7 +39,7 @@ ZCLAW 是一个基于 OpenFang (类 OpenClaw) 定制化的中文优先 AI Agent
### 2.1 数据流架构
```
用户操作 → React UI → Zustand Store → GatewayClient (WS) → OpenFang Kernel
用户操作 → React UI → Zustand Store → GatewayClient (WS) → ZCLAW Kernel
↘ TauriGateway (IPC) → Rust Backend
↘ VikingClient → OpenViking (向量DB)
```
@@ -121,31 +121,31 @@ HeartbeatConfig, CreateTriggerModal, PersonalitySelector, ScenarioTags, DevQALoo
5. **~~Tauri Rust 后端基本空白~~** → ✅ **已实现 85-90%**(更新 2026-03-20
**已实现的 Tauri Commands**
- OpenFang Gateway 管理start/stop/restart/status/doctor
- ZCLAW Gateway 管理start/stop/restart/status/doctor
- OpenViking 记忆系统CLI sidecar + 本地服务器)
- 浏览器自动化Fantoccini WebDriver
- 安全存储OS Keyring/Keychain
- LLM 集成Doubao/OpenAI/Anthropic
- 记忆提取和上下文构建
- 进程健康检查(`openfang_health_check`
- 进程健康检查(`zclaw_health_check`
6. **配置系统双重标准**
- config.toml + chinese-providers.toml 是 TOML 格式
- 但 README 提到 openclaw.default.jsonplugins 使用 plugin.json
- 但 README 提到 zclaw.default.jsonplugins 使用 plugin.json
- 配置格式不统一
### 🟡 机会 (Opportunities)
1. **中国 AI Agent 市场爆发** — 智谱/通义/月之暗面/DeepSeek 的中文模型生态成熟
2. **本地优先隐私诉求增长** — 企业和个人对数据隐私要求越来越高
3. **OpenFang 生态缺口** — 市场上没有优质的中文定制化 OpenFang 桌面客户端
3. **ZCLAW 生态缺口** — 市场上没有优质的中文定制化 ZCLAW 桌面客户端
4. **飞书+企业微信整合** — 企业 IM 集成是刚需,特别是在中国市场
5. **Skill 市场变现** — 74 个 Skills 可以发展成社区市场
### 🔵 威胁 (Threats)
1. **竞品迭代极快** — Cursor/Windsurf/AutoClaw/QClaw 都在快速迭代
2. **OpenFang 上游变化** — Gateway Protocol 版本升级可能导致兼容性问题
2. **ZCLAW 上游变化** — Gateway Protocol 版本升级可能导致兼容性问题
3. **LLM API 不稳定** — 中国模型厂商的 API 变更频繁
4. **单人/小团队维护压力** — 50+ 组件、42 个 lib、13 个 store 的维护成本极高
@@ -235,7 +235,7 @@ vector-memory.ts → 应在 Gateway/Rust 端
| 行动 | 验证点 |
|------|--------|
| 安装 OpenFang,验证 Gateway 连接 | 子进程启动 → WS 握手 → 心跳 |
| 安装 ZCLAW,验证 Gateway 连接 | 子进程启动 → WS 握手 → 心跳 |
| 配置中文模型 API Key测试对话 | 流式响应 → 模型切换 → 上下文管理 |
| 测试飞书 Channel 收发消息 | OAuth → 消息接收 → Agent 处理 → 回复 |
| 测试 Hands 触发完整流程 | 意图识别 → 参数收集 → 审批 → 执行 → 结果 |
@@ -327,7 +327,7 @@ ZCLAW 不应与 ChatGPT/Claude Desktop 竞争"对话体验",而应聚焦:
### 📌 短期 (2 周)
1. **完成真实 Gateway 连接测试** — 连接 OpenFang Kernel
1. **完成真实 Gateway 连接测试** — 连接 ZCLAW Kernel
2. **中文模型 API 测试** — 验证流式响应
3. **飞书集成测试** — OAuth 和消息收发