Files
zclaw_openfang/docs/new-session-prompt-openfang-migration.md
2026-03-13 18:04:53 +08:00

162 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ZClaw OpenFang 迁移 - 新会话提示词
> **更新日期**: 2026-03-13
> **状态**: Phase 1-2 基础设施已完成,继续 Phase 3-7
---
## 当前状态
### ✅ 已完成
1. **OpenFang 打包架构** (Phase 1-2)
- 创建 `prepare-openfang-runtime.mjs` 跨平台下载脚本
- 更新 Rust `lib.rs` 支持二进制运行时
- 配置 Tauri 打包 `resources/openfang-runtime/`
- 验证构建成功
2. **OpenFang 特性 UI 组件**
- `HandsPanel.tsx` - Hands 管理界面
- `WorkflowList.tsx` - 工作流列表
- `SecurityStatus.tsx` - 16层安全状态
- `TriggersPanel.tsx` - 触发器管理
- `AuditLogsPanel.tsx` - 审计日志
3. **状态管理更新**
- `gatewayStore.ts` 添加 OpenFang 类型定义
- `gateway-config.ts` 配置管理
### 🔄 进行中
- **OpenFangClient 实现**: 需要完成 WebSocket 客户端适配 OpenFang 协议
### 📋 待完成 (Phase 3-7)
| Phase | 任务 | 状态 |
|-------|------|------|
| Phase 3 | 状态迁移 (gatewayStore 适配) | 待开始 |
| Phase 4 | 插件迁移 (zclaw-*) | 待开始 |
| Phase 5 | Tauri 后端完善 | 待开始 |
| Phase 6 | UI 增强 (Hands/Workflow) | 待开始 |
| Phase 7 | 测试验证 | 待开始 |
---
## 关键架构
### 打包结构
```
ZClaw-Desktop-Setup.exe
├── desktop.exe # Tauri 应用
└── resources/
└── openfang-runtime/
├── openfang.exe # 57MB OpenFang 二进制
├── openfang.cmd # Windows 启动脚本
├── openfang.sh # Unix 启动脚本
└── runtime-manifest.json
```
### 运行时解析优先级
1. `ZCLAW_OPENFANG_BIN` 环境变量
2. 打包的 `openfang-runtime/` 目录
3. 系统 PATH (`openfang`)
### 端点和协议
| 项目 | OpenClaw (旧) | OpenFang (新) |
|------|---------------|---------------|
| 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 |
| 配置目录 | `~/.openclaw/` | `~/.openfang/` |
---
## 下一步工作
### 优先级 1: OpenFangClient 实现
文件: `desktop/src/lib/openfang-client.ts`
```typescript
// 需要实现
class OpenFangClient implements GatewayBackend {
private ws: WebSocket;
private url = 'ws://127.0.0.1:4200/ws';
async connect(): Promise<void> { /* OpenFang 认证协议 */ }
async chat(message: string, opts?: ChatOptions): Promise<{runId: string}> { /* chat 格式 */ }
onStream(callback: StreamCallback): () => void { /* 流式事件 */ }
}
```
### 优先级 2: gatewayStore 适配
文件: `desktop/src/store/gatewayStore.ts`
```typescript
// 添加后端切换
interface GatewayStore {
backendType: 'openclaw' | 'openfang';
switchBackend(type: 'openclaw' | 'openfang'): void;
}
```
### 优先级 3: 测试 OpenFang 集成
```bash
# 1. 启动 OpenFang
cd desktop/src-tauri/resources/openfang-runtime
./openfang.exe gateway start
# 2. 运行 Tauri 开发模式
pnpm tauri:dev
# 3. 验证连接
# - WebSocket 连接到 4200 端口
# - 消息发送和接收
# - Hands/Workflow 功能
```
---
## 构建命令
```bash
# 开发
pnpm tauri:dev
# 生产构建 (自动下载 OpenFang)
pnpm tauri:build:bundled
# 手动准备运行时
pnpm prepare:openfang-runtime
```
---
## 参考文档
- 迁移计划: `plans/immutable-imagining-naur.md`
- OpenFang 技术参考: `docs/openfang-technical-reference.md`
- 运行时 README: `desktop/src-tauri/resources/openfang-runtime/README.md`
- OpenFang GitHub: https://github.com/RightNow-AI/openfang
---
## 新会话提示词模板
```
我正在开发 ZClaw Desktop一个从 OpenClaw 迁移到 OpenFang 的 AI Agent 桌面客户端。
当前状态:
- OpenFang 打包架构已完成
- UI 组件已创建 (Hands, Workflow, Security)
- 需要继续: OpenFangClient 实现、状态迁移、插件迁移
请阅读 docs/new-session-prompt-openfang-migration.md 了解详细上下文,然后继续以下工作:
[具体任务]
```