Files
zclaw_openfang/docs/plans/splendid-orbiting-tarjan.md
iven 0d4fa96b82
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
refactor: 统一项目名称从OpenFang到ZCLAW
重构所有代码和文档中的项目名称,将OpenFang统一更新为ZCLAW。包括:
- 配置文件中的项目名称
- 代码注释和文档引用
- 环境变量和路径
- 类型定义和接口名称
- 测试用例和模拟数据

同时优化部分代码结构,移除未使用的模块,并更新相关依赖项。
2026-03-27 07:36:03 +08:00

16 KiB
Raw Permalink Blame History

ZCLAW 项目深度分析与头脑风暴

一、项目全景概览

1.1 项目定位

ZCLAW 是一个基于 ZCLAW 框架的定制化中文 AI 助手平台,对标 AutoClaw (智谱) 和 QClaw (腾讯)。

核心价值主张

ZCLAW Gateway (成熟执行引擎)
      ↕ WebSocket Protocol v3
ZCLAW Tauri App (轻量桌面 UI)
      + 中文模型 Provider (GLM/Qwen/Kimi/MiniMax)
      + 飞书 Channel Plugin
      + 分身(Clone) 管理系统
      + 自定义 Skills

1.2 架构演进历程

阶段 架构方向 状态
v1 自建 AI Agent 框架 (src/core/*) 🗑️ 已归档
v2 基于 ZCLAW + Tauri 当前方向

架构转向原因v1 偏离初衷约 75%,重复造轮子而非复用 ZCLAW 生态。

1.3 技术栈一览

层级 技术 版本
执行引擎 ZCLAW Gateway Node.js daemon
桌面壳 Tauri 2.0
前端框架 React 19.1.0
状态管理 Zustand 5.0.11
样式 TailwindCSS 4.2.1
构建工具 Vite 7.0.4
语言 TypeScript 5.8.3
通信协议 WebSocket Gateway Protocol v3

二、当前项目状态

2.1 已完成阶段

Phase 内容 完成度
Phase 1 后端 Gateway 层 + 插件 + Skills 100%
Phase 2 前端 Settings 页面体系 (10页) 100%
Phase 3 聊天对接 + 分身管理 100%
Phase 3.5 前端质量提升 100%
Phase 4 ZCLAW 真实集成测试 待开始
Phase 5 Tauri Rust sidecar + 打包发布 📋 规划中

2.2 代码统计

类别 文件数 说明
Gateway 层 3 manager.ts, ws-client.ts, index.ts
插件 6 3 plugins × (index.ts + plugin.json)
Skills 2 2 × SKILL.md
配置 5 1 JSON + 4 MD
前端组件 15+ 组件/Store/工具库
v1 遗留代码 37+ src/core/* (已归档)

2.3 编译状态

  • TypeScript: 0 errors
  • Vite build: 成功 (1766 modules, 268 KB JS + 26 KB CSS)

三、核心模块深度分析

3.1 ZCLAW Gateway 集成层 (src/gateway/)

manager.ts - 子进程管理器

功能: 管理 ZCLAW Gateway 子进程生命周期
特性:
  - 启动/停止 Gateway daemon
  - 健康检查 (HTTP 探测)
  - 自动重启 (最多 5 次)
  - 连接外部已运行实例

ws-client.ts - WebSocket 客户端

功能: 实现 ZCLAW Gateway Protocol v3
特性:
  - 三步握手 (challenge → connect → hello-ok)
  - 请求/响应模式 (30秒超时)
  - 事件订阅 (agent/chat/presence/health/heartbeat)
  - 自动重连 (指数退避 1.5x, 最大 30s)

3.2 自定义插件系统 (plugins/)

@zclaw/chinese-models - 中文模型 Provider

Provider 模型
智谱 GLM glm-5, glm-4.7, glm-4-plus, glm-4-flash
通义千问 qwen3.5-plus, qwen-max, qwen-vl-max
Kimi kimi-k2.5, moonshot-v1-128k
MiniMax minimax-m2.5, abab6.5s-chat

设计特点: 全部使用 OpenAI 兼容 API 格式,支持自定义 Base URL。

@zclaw/feishu - 飞书 Channel Plugin

功能: 将飞书注册为 ZCLAW 消息渠道
特性:
  - OAuth tenant_access_token 管理 (2h 有效期, 1.5h 刷新)
  - 文本/富文本消息发送
  - 多账户支持

@zclaw/ui - UI 扩展 RPC

方法 功能
zclaw.clones.* 分身 CRUD
zclaw.stats.* 用量/会话统计
zclaw.config.quick 快速配置
zclaw.workspace.info 工作区信息
zclaw.plugins.status 插件状态

3.3 前端架构 (desktop/src/)

三层布局

┌─────────────────────────────────────────────────────────┐
│ Sidebar (w-64) │ ChatArea (flex-1) │ RightPanel (w-72) │
│   左侧边栏      │     中间对话区      │      右侧边栏       │
└─────────────────────────────────────────────────────────┘

状态管理 (Zustand)

  • chatStore: 消息/对话/Agent/流式状态
  • gatewayStore: 连接/分身/统计/插件状态

关键组件

组件 职责
ChatArea 消息展示 + 流式输出 + Markdown渲染 + 模型选择
Sidebar 四标签 (对话/分身/频道/任务)
RightPanel Gateway状态 + 会话统计 + 插件状态
Settings/* 10个设置页面对标 AutoClaw

3.4 v1 遗留代码 (已归档)

以下代码位于 src/core/ 等目录,已从编译范围排除:

模块 状态 替代方案
remote-execution/ 🗑️ ZCLAW 工具执行
task-orchestration/ 🗑️ ZCLAW Agent Loop
multi-agent/ 🗑️ ZCLAW agents.list
memory/ 🗑️ ZCLAW Memory Plugin
proactive/ 🗑️ ZCLAW Heartbeat Engine
im/ 🗑️ ZCLAW Channel 系统
db/ 🗑️ ZCLAW 自带 SQLite
config/ 🗑️ ZCLAW 配置系统
api/ 🗑️ WebSocket + Tauri Commands

四、头脑风暴:机会与挑战

4.1 架构优势 💪

  1. 复用成熟生态

    • ZCLAW 28万+ Stars工具执行/Skills/MCP/心跳引擎成熟
    • 避免重复造轮子,专注差异化价值
  2. Tauri 轻量化

    • ~10MB vs Electron ~150MB
    • Rust native 性能优异
    • 系统级集成能力
  3. 中文优先定位

    • 4大中文模型原生支持
    • 飞书/微信/QQ 等 IM 渠道
  4. 模块化插件设计

    • Provider/Channel/RPC 插件独立开发
    • 可扩展性强

4.2 潜在风险 ⚠️

  1. ZCLAW 依赖

    • 版本兼容性风险
    • 文档/社区支持限制
  2. v1 遗留代码清理

    • 37+ 文件需要决策 (保留/删除/重构)
    • 可能存在可复用的代码片段
  3. Tauri 后端功能有限

    • 当前 Rust 代码几乎为空
    • 需要实现 sidecar/文件系统/通知等
  4. 测试覆盖不足

    • 未见测试文件
    • 集成测试缺失

4.3 创新机会 💡

A. 分身系统增强

当前: 基础 CRUD
增强方向:
  - 分身间协作 (多 Agent 编排)
  - 分身记忆隔离/共享
  - 分身能力画像 (擅长领域)
  - 分身市场 (社区分享)

B. Skills 生态扩展

当前: 2 个基础 Skills
扩展方向:
  - 社媒运营套件 (微博/小红书/抖音)
  - 学术研究助手 (论文/文献/翻译)
  - 代码审查专家 (PR Review/安全审计)
  - 数据分析专家 (SQL/报表/可视化)

C. IM 渠道深化

当前: 飞书基础支持
深化方向:
  - 微信企业号 (WeCom API)
  - QQ 机器人 (NapCat/Go-CQHTTP)
  - 钉钉/飞书/企业微信三合一
  - 消息路由规则 (关键词/时间/来源)

D. 工作区智能化

当前: 基础目录配置
智能方向:
  - 项目上下文感知 (package.json/README 解析)
  - 代码库索引 (LSP 集成)
  - 文件变更监听 (自动同步理解)
  - 多工作区切换

E. 数据分析增强

当前: 基础用量统计
增强方向:
  - 对话质量分析 (满意度/解决率)
  - Token 成本优化建议
  - 使用模式洞察 (高峰时段/常用功能)
  - 导出报告 (PDF/Excel)

4.4 技术改进建议 🔧

短期 (1-2周)

  1. 完成 Phase 4 集成测试

    • 安装并验证 ZCLAW
    • 测试 Gateway 连接
    • 验证插件注册
    • 端到端消息收发测试
  2. 清理 v1 遗留代码

    • 评估每模块的可复用性
    • 删除确定无用的代码
    • 保留有价值的工具函数
  3. 补充基础测试

    • Gateway 协议单元测试
    • 前端组件测试
    • E2E 关键流程测试

中期 (1-2月)

  1. Tauri Rust 后端扩展

    • Gateway sidecar 管理
    • 系统托盘集成
    • 原生通知
    • 文件系统访问
  2. 微信/QQ Channel Plugin

    • 调研 NapCat/Go-CQHTTP
    • 实现 Channel Plugin 接口
  3. Skills 扩展

    • 社媒运营套件
    • 代码审查助手

长期 (3-6月)

  1. 多 Agent 协作可视化

    • 任务依赖图
    • 执行进度追踪
    • 结果聚合展示
  2. 插件市场

    • 插件发现/安装/更新
    • 社区贡献机制
  3. 移动端伴侣 App

    • Flutter/React Native
    • 与桌面端数据同步

五、竞品对标分析

维度 AutoClaw (智谱) QClaw (腾讯) ZCLAW
基础框架 ZCLAW ZCLAW ZCLAW
IM 渠道 飞书 微信+QQ 飞书 (计划微信/QQ)
桌面框架 自研 Electron Tauri 2.0
模型支持 GLM 系列 腾讯混元 GLM/Qwen/Kimi/MiniMax
安装包大小 未知 ~150MB ~10MB (目标)
开源状态 未开源 未开源 MIT 开源

差异化优势

  • 🦀 Tauri 轻量化
  • 🌐 多中文模型支持
  • 🔓 开源可定制
  • 🧩 插件生态开放

六、下一步行动计划

Phase 4: 真实集成测试 (当前优先级)

[ ] 1. 安装 ZCLAW
      - Windows: iwr -useb https://zclaw.ai/install.ps1 | iex
      - 验证: zclaw --version

[ ] 2. 配置 Gateway
      - 运行 zclaw configure
      - 填入 API Key (智谱/通义/Kimi 任选)

[ ] 3. 启动 Gateway
      - zclaw gateway
      - 验证: curl http://127.0.0.1:18789/health

[ ] 4. 注册 ZCLAW 插件
      - pnpm setup
      - 验证插件加载

[ ] 5. 前端连接测试
      - cd desktop && pnpm tauri dev
      - 验证 WebSocket 连接
      - 测试消息收发

[ ] 6. 飞书 Channel 测试
      - 配置飞书应用凭证
      - 测试消息收发

Phase 5: 打包发布准备

[ ] Tauri Rust sidecar 实现
[ ] 安装包测试 (Windows/macOS/Linux)
[ ] 自动更新机制
[ ] 文档完善
[ ] 发布 v0.1.0

七、总结

ZCLAW 是一个定位清晰的 ZCLAW 定制化项目,通过复用成熟生态 + Tauri 轻量桌面 + 中文优先策略,有望成为开源领域的 AutoClaw/QClaw 替代方案。

核心建议

  1. 🎯 聚焦 Phase 4 集成测试,打通端到端流程
  2. 🧹 清理 v1 遗留代码,减少维护负担
  3. 补充测试覆盖,提升代码质量
  4. 🚀 迭代发布,快速验证市场反馈


八、执行路线图 (用户选择)

基于用户反馈,将并行推进以下四个方向:

8.1 Phase 4: 真实集成测试 🔌

目标: 打通 ZCLAW Gateway ↔ ZCLAW Tauri 端到端流程

任务清单:

[ ] 安装 ZCLAW CLI
    - Windows: iwr -useb https://zclaw.ai/install.ps1 | iex
    - 验证: zclaw --version

[ ] 配置 Gateway
    - 运行 zclaw configure
    - 配置 API Key (智谱 GLM 作为首选)

[ ] 启动 Gateway daemon
    - zclaw gateway --port 18789
    - 验证: curl http://127.0.0.1:18789/health

[ ] 注册 ZCLAW 插件
    - pnpm setup (执行 scripts/setup.ts)
    - 验证插件加载: zclaw plugins list

[ ] 前端连接测试
    - cd desktop && pnpm tauri dev
    - 验证 WebSocket 连接成功
    - 测试消息发送和流式接收

[ ] 飞书 Channel 测试 (可选)
    - 配置飞书应用凭证
    - 测试飞书消息收发

验收标准:

  • Gateway 启动成功,健康检查通过
  • 前端显示"已连接"状态
  • 发送消息能收到 AI 流式回复
  • 模型切换功能正常

8.2 清理 v1 遗留代码 🧹

目标: 评估并处理 src/core/ 等 37+ 个归档文件

待处理目录:

目录 文件数 建议操作
src/core/remote-execution/ ~4 🗑️ 删除 (ZCLAW 替代)
src/core/task-orchestration/ ~3 🗑️ 删除 (ZCLAW 替代)
src/core/multi-agent/ ~8 🗑️ 删除 (ZCLAW 替代)
src/core/memory/ ~2 🗑️ 删除 (ZCLAW 替代)
src/core/proactive/ ~2 🗑️ 删除 (ZCLAW 替代)
src/core/ai/ ~6 ⚠️ 评估 (可能复用 Provider)
src/im/ ~4 🗑️ 删除 (ZCLAW 替代)
src/db/ ~3 🗑️ 删除 (ZCLAW 替代)
src/config/ ~2 🗑️ 删除 (ZCLAW 替代)
src/api/ ~1 🗑️ 删除 (WebSocket 替代)
src/app.ts 1 🗑️ 删除
src/index.ts 1 🔄 重写为简单入口

任务清单:

[ ] 创建 archive/v1-backup 分支保存当前状态
[ ] 评估 src/core/ai/ 的可复用性
    - providers/zhipu.ts 可能对插件开发有参考价值
    - manager.ts 的 fallback 逻辑可借鉴
[ ] 删除确认无用的目录
[ ] 重写 src/index.ts 为最小化入口
[ ] 更新 tsconfig.json 移除对旧代码的引用
[ ] 验证编译: pnpm build (0 errors)

验收标准:

  • v1 代码已备份到独立分支
  • 主分支代码精简,无死代码
  • TypeScript 编译 0 errors
  • 项目结构清晰,符合 v2 架构

8.3 补充测试覆盖

目标: 建立基础测试框架,覆盖关键模块

测试分层:

tests/
├── unit/                    # 单元测试
│   ├── gateway/
│   │   ├── manager.test.ts  # 子进程管理
│   │   └── ws-client.test.ts # WebSocket 客户端
│   └── utils/
│       ├── logger.test.ts
│       └── id.test.ts
├── integration/             # 集成测试
│   ├── gateway-protocol.test.ts  # Gateway 协议
│   └── plugin-loading.test.ts    # 插件加载
└── e2e/                     # 端到端测试
    └── chat-flow.test.ts    # 完整对话流程

任务清单:

[ ] 配置测试框架
    - 安装 Vitest + @testing-library/react
    - 配置 vitest.config.ts

[ ] Gateway 层单元测试
    - ws-client.ts: 握手流程、重连逻辑
    - manager.ts: 进程管理、健康检查

[ ] 前端组件测试
    - chatStore: 消息发送、流式处理
    - gatewayStore: 连接状态管理
    - ChatArea: 消息渲染、输入处理

[ ] 集成测试
    - Gateway Protocol v3 完整握手
    - 插件注册和 RPC 调用

[ ] CI 集成
    - GitHub Actions 自动运行测试
    - 覆盖率报告

验收标准:

  • 测试框架配置完成
  • 核心模块测试覆盖率 > 60%
  • CI 流水线运行成功

8.4 扩展 Skills/插件 🧩

目标: 丰富 Skills 生态,增加 IM 渠道支持

Skills 扩展计划:

Skill 触发词 功能
social-media 发微博/小红书/抖音 社媒内容创作和发布
code-review 审查代码/PR Review 代码质量分析和建议
data-analysis 分析数据/生成报表 SQL 查询和可视化
translation 翻译/中译英 多语言翻译

插件扩展计划:

插件 类型 优先级
@zclaw/wechat Channel
@zclaw/qq Channel
@zclaw/terminal Tool
@zclaw/advanced-memory Memory

任务清单:

[ ] Skills 开发
    - 创建 skills/social-media/SKILL.md
    - 创建 skills/code-review/SKILL.md
    - 创建 skills/data-analysis/SKILL.md
    - 创建 skills/translation/SKILL.md

[ ] 微信 Channel Plugin 调研
    - 评估 WeCom API 可行性
    - 评估 NapCat/Go-CQHTTP 桥接方案
    - 输出技术方案文档

[ ] QQ Channel Plugin 调研
    - 评估 NapCatQQ 方案
    - 输出技术方案文档

[ ] 插件开发 (选一个优先)
    - 实现微信或 QQ Channel Plugin

验收标准:

  • 至少 2 个新 Skills 可用
  • 微信/QQ 技术方案文档完成
  • 至少 1 个新 Channel Plugin 可测试

九、执行优先级排序

基于依赖关系和价值,建议执行顺序:

第 1 周: Phase 4 集成测试 + v1 代码清理
    └─ 这两项可以并行,互不依赖

第 2 周: 补充测试覆盖
    └─ 在集成测试通过后补充自动化测试

第 3-4 周: Skills/插件扩展
    └─ 在稳定基础上扩展功能

里程碑:

  • 🏁 Week 1 结束: 端到端流程打通 + 代码库精简
  • 🏁 Week 2 结束: 测试覆盖率 > 60%
  • 🏁 Week 4 结束: 4+ 新 Skills + 1 新 Channel Plugin

分析完成于 2026-03-12 执行计划更新于 2026-03-12