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。包括: - 配置文件中的项目名称 - 代码注释和文档引用 - 环境变量和路径 - 类型定义和接口名称 - 测试用例和模拟数据 同时优化部分代码结构,移除未使用的模块,并更新相关依赖项。
197 lines
4.9 KiB
Markdown
197 lines
4.9 KiB
Markdown
# ZClaw ZCLAW 迁移 - 新会话提示词
|
||
|
||
> **更新日期**: 2026-03-13 (Session 4)
|
||
> **状态**: Phase 1-7 基本完成
|
||
|
||
---
|
||
|
||
## 当前状态
|
||
|
||
### ✅ 已完成
|
||
|
||
1. **ZCLAW 打包架构** (Phase 1-2) ✅
|
||
- 创建 `prepare-zclaw-runtime.mjs` 跨平台下载脚本
|
||
- 更新 Rust `lib.rs` 支持二进制运行时
|
||
- 配置 Tauri 打包 `resources/zclaw-runtime/`
|
||
- 验证构建成功
|
||
|
||
2. **ZCLAW 特性 UI 组件** ✅
|
||
- `HandsPanel.tsx` - Hands 管理界面 (含审批流程)
|
||
- `WorkflowList.tsx` - 工作流列表
|
||
- `SecurityStatus.tsx` - 16层安全状态
|
||
- `TriggersPanel.tsx` - 触发器管理
|
||
- `AuditLogsPanel.tsx` - 审计日志 (已集成到 RightPanel)
|
||
|
||
3. **状态管理更新** ✅
|
||
- `gatewayStore.ts` 添加 ZCLAW 类型定义
|
||
- `gateway-config.ts` 配置管理
|
||
- `loadHands()`, `loadWorkflows()`, `loadTriggers()`, `loadSecurityStatus()` 方法
|
||
- `approveHand()`, `cancelHand()`, `cancelWorkflow()` 方法
|
||
- `isLoading` 状态管理
|
||
- `connect()` 后自动加载 ZCLAW 数据
|
||
|
||
4. **Gateway Client** ✅
|
||
- `gateway-client.ts` 已适配 ZCLAW 协议
|
||
- WebSocket 连接到 `ws://127.0.0.1:4200/ws`
|
||
- REST API 调用 `/api/*` 端点
|
||
- Ed25519 设备认证 + JWT
|
||
- Hand 审批/取消 API
|
||
|
||
5. **后端切换功能** ✅
|
||
- `Settings/General.tsx` 添加后端类型选择器
|
||
- 支持 ZCLAW (TypeScript) 和 ZCLAW (Rust) 切换
|
||
- localStorage 持久化 `zclaw-backend`
|
||
|
||
6. **Tauri 后端完善** (Phase 5) ✅
|
||
- `zclaw_process_list` - 列出 ZCLAW 进程
|
||
- `zclaw_process_logs` - 获取进程日志
|
||
- `zclaw_version` - 获取版本信息
|
||
- 前端 `tauri-gateway.ts` 适配
|
||
|
||
7. **Hand 审批流程** (Phase 6.1) ✅
|
||
- `approveHand()` / `cancelHand()` API
|
||
- `HandsPanel.tsx` 审批 UI (批准/拒绝按钮)
|
||
- 运行中取消执行功能
|
||
|
||
8. **测试基础设施** (Phase 7) ✅
|
||
- `tests/fixtures/zclaw-mock-server.ts` - 完整 Mock Server
|
||
- 支持 REST API 和 WebSocket 模拟
|
||
- `tests/desktop/integration/zclaw-api.test.ts` - 34 个集成测试
|
||
- 所有 63 个桌面端测试全部通过
|
||
|
||
9. **构建脚本修复** ✅
|
||
- `tauri-build-bundled.mjs` 更新为使用 `prepare-zclaw-runtime.mjs`
|
||
|
||
### 📋 可选后续工作
|
||
|
||
| Phase | 任务 | 状态 |
|
||
|-------|------|------|
|
||
| Phase 7.3 | E2E 测试 (Playwright) | 可选 |
|
||
| - | CSP 配置 (生产环境) | 可选 |
|
||
| - | chinese-writing 插件迁移 | 待定 |
|
||
|
||
---
|
||
|
||
## 关键架构
|
||
|
||
### 打包结构
|
||
|
||
```
|
||
ZClaw-Desktop-Setup.exe
|
||
├── desktop.exe # Tauri 应用
|
||
└── resources/
|
||
└── zclaw-runtime/
|
||
├── zclaw.exe # 57MB ZCLAW 二进制
|
||
├── zclaw.cmd # Windows 启动脚本
|
||
├── zclaw.sh # Unix 启动脚本
|
||
└── runtime-manifest.json
|
||
```
|
||
|
||
### 运行时解析优先级
|
||
|
||
1. `ZCLAW_BIN` 环境变量
|
||
2. 打包的 `zclaw-runtime/` 目录
|
||
3. 系统 PATH (`zclaw`)
|
||
|
||
### 端点和协议
|
||
|
||
| 项目 | ZCLAW (旧) | ZCLAW (新) |
|
||
|------|---------------|---------------|
|
||
| WebSocket | `ws://127.0.0.1:18789` | `ws://127.0.0.1:4200/ws` |
|
||
| REST API | 无 | `http://127.0.0.1:4200/api` |
|
||
| 配置格式 | JSON | TOML |
|
||
| 配置目录 | `~/.zclaw/` | `~/.zclaw/` |
|
||
|
||
---
|
||
|
||
## 测试
|
||
|
||
### 运行测试
|
||
|
||
```bash
|
||
# 所有桌面端测试 (63 个)
|
||
pnpm vitest run tests/desktop/
|
||
|
||
# 仅集成测试 (34 个)
|
||
pnpm vitest run tests/desktop/integration/
|
||
|
||
# 单元测试
|
||
pnpm vitest run tests/desktop/chatStore.test.ts
|
||
pnpm vitest run tests/desktop/gatewayStore.test.ts
|
||
```
|
||
|
||
### Mock Server
|
||
|
||
Mock Server (`tests/fixtures/zclaw-mock-server.ts`) 提供:
|
||
|
||
- **REST API**: 所有 `/api/*` 端点
|
||
- **WebSocket**: `/ws` 路径握手
|
||
- **可配置数据**: Hands, Workflows, Triggers, Agents, Security Layers
|
||
- **审计日志**: 可添加自定义日志条目
|
||
|
||
---
|
||
|
||
## 下一步工作
|
||
|
||
### 优先级 1: 真实 ZCLAW 集成测试
|
||
|
||
```bash
|
||
# 1. 启动 ZCLAW
|
||
cd desktop/src-tauri/resources/zclaw-runtime
|
||
./zclaw.exe gateway start
|
||
|
||
# 2. 运行 Tauri 开发模式
|
||
pnpm tauri:dev
|
||
|
||
# 3. 验证连接
|
||
# - WebSocket 连接到 4200 端口
|
||
# - 消息发送和接收
|
||
# - Hands/Workflow 功能
|
||
```
|
||
|
||
### 优先级 2: 插件迁移 (chinese-writing)
|
||
|
||
将 `plugins/zclaw-chinese-models` 中的模型配置迁移到 ZCLAW TOML 格式。
|
||
|
||
参考: `config/chinese-providers.toml`
|
||
|
||
---
|
||
|
||
## 构建命令
|
||
|
||
```bash
|
||
# 开发
|
||
pnpm tauri:dev
|
||
|
||
# 生产构建 (自动下载 ZCLAW)
|
||
pnpm tauri:build:bundled
|
||
|
||
# 手动准备运行时
|
||
pnpm prepare:zclaw-runtime
|
||
```
|
||
|
||
---
|
||
|
||
## 参考文档
|
||
|
||
- 迁移计划: `plans/immutable-imagining-naur.md`
|
||
- ZCLAW 技术参考: `docs/zclaw-technical-reference.md`
|
||
- 运行时 README: `desktop/src-tauri/resources/zclaw-runtime/README.md`
|
||
- ZCLAW GitHub: https://github.com/RightNow-AI/zclaw
|
||
|
||
---
|
||
|
||
## 新会话提示词模板
|
||
|
||
```
|
||
我正在开发 ZClaw Desktop,一个从 ZCLAW 迁移到 ZCLAW 的 AI Agent 桌面客户端。
|
||
|
||
当前状态:
|
||
- Phase 1-7 基本完成
|
||
- 63 个测试全部通过
|
||
- Mock Server 集成测试可用
|
||
|
||
请阅读 docs/new-session-prompt-zclaw-migration.md 了解详细上下文,然后继续以下工作:
|
||
[具体任务]
|
||
```
|