## Major Features ### Streaming Response System - Implement LlmDriver trait with `stream()` method returning async Stream - Add SSE parsing for Anthropic and OpenAI API streaming - Integrate Tauri event system for frontend streaming (`stream:chunk` events) - Add StreamChunk types: Delta, ToolStart, ToolEnd, Complete, Error ### MCP Protocol Implementation - Add MCP JSON-RPC 2.0 types (mcp_types.rs) - Implement stdio-based MCP transport (mcp_transport.rs) - Support tool discovery, execution, and resource operations ### Browser Hand Implementation - Complete browser automation with Playwright-style actions - Support Navigate, Click, Type, Scrape, Screenshot, Wait actions - Add educational Hands: Whiteboard, Slideshow, Speech, Quiz ### Security Enhancements - Implement command whitelist/blacklist for shell_exec tool - Add SSRF protection with private IP blocking - Create security.toml configuration file ## Test Improvements - Fix test import paths (security-utils, setup) - Fix vi.mock hoisting issues with vi.hoisted() - Update test expectations for validateUrl and sanitizeFilename - Add getUnsupportedLocalGatewayStatus mock ## Documentation Updates - Update architecture documentation - Improve configuration reference - Add quick-start guide updates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
212 lines
5.5 KiB
Markdown
212 lines
5.5 KiB
Markdown
# ZCLAW 上线发布分析 & 头脑风暴计划
|
||
|
||
## 一、项目现状总结
|
||
|
||
### 1.1 整体完成度评估
|
||
|
||
| 层级 | 完成度 | 关键问题 |
|
||
|------|--------|----------|
|
||
| **Rust 后端** | 72% | 流式响应、MCP 协议、驱动完整性 |
|
||
| **前端界面** | 85% | 技能创建 UI、工作流可视化 |
|
||
| **基础设施** | 60% | CI/CD 缺失、测试覆盖不足 |
|
||
|
||
### 1.2 各模块详细状态
|
||
|
||
#### Rust 后端 (72%)
|
||
|
||
| Crate | 完成度 | 关键缺失 | 风险 |
|
||
|-------|--------|----------|------|
|
||
| zclaw-types | 90% | 测试覆盖 | 低 |
|
||
| zclaw-memory | 85% | 迁移管理 | 中 |
|
||
| **zclaw-runtime** | **70%** | 流式响应未实现、Gemini/Local 驱动占位符 | **高** |
|
||
| zclaw-kernel | 80% | 配置加载、权限验证 | 中 |
|
||
| zclaw-skills | 75% | WASM/Native 执行器 | 中 |
|
||
| zclaw-hands | 85% | Browser Hand 未实现 | 中 |
|
||
| **zclaw-protocols** | **60%** | MCP 协议通信未实现 | **高** |
|
||
|
||
#### 前端界面 (85%)
|
||
|
||
| 模块 | 完成度 | 状态 |
|
||
|------|--------|------|
|
||
| 聊天界面 | 90% | 流式响应、多模型切换 ✅ |
|
||
| 分身管理 | 85% | CRUD 完成 |
|
||
| Hands 自动化 | 80% | 缺少实时执行进度 |
|
||
| 技能市场 | 70% | 缺少创建/编辑 UI |
|
||
| 工作流编辑 | 75% | 缺少可视化编辑器 |
|
||
| 配置管理 | 85% | 安全存储已实现 ✅ |
|
||
|
||
#### 基础设施 (60%)
|
||
|
||
| 项目 | 状态 | 影响 |
|
||
|------|------|------|
|
||
| E2E 测试 | 12 个 spec | 覆盖核心流程 |
|
||
| Rust 单元测试 | 34 个 | 需要扩展 |
|
||
| **CI/CD** | **缺失** | 无自动化构建/测试 |
|
||
| 文档 | 90+ md | 文档齐全 |
|
||
| Skills 定义 | 76+ | 生态丰富 |
|
||
| Hands 配置 | 11 个 | 核心能力覆盖 |
|
||
|
||
---
|
||
|
||
## 二、关键问题分级
|
||
|
||
### P0 - 阻塞发布 (必须有)
|
||
|
||
1. **流式响应实现**
|
||
- 位置: `crates/zclaw-runtime/src/loop_runner.rs:125`
|
||
- 状态: TODO 占位符
|
||
- 影响: 用户等待体验差,v0.2.0 核心卖点
|
||
|
||
2. **MCP 协议 MVP**
|
||
- 位置: `crates/zclaw-protocols/src/mcp.rs:151,155`
|
||
- 状态: 所有方法返回 "Not implemented"
|
||
- 影响: 无法接入 Claude Code 等工具生态
|
||
|
||
3. **Browser Hand 实现**
|
||
- 位置: `hands/browser.HAND.toml` (配置存在,实现缺失)
|
||
- 状态: 仅有配置,无 Rust 实现
|
||
- 影响: 最常用的自动化能力缺失
|
||
|
||
### P1 - 核心体验 (应该有)
|
||
|
||
4. **Ollama/Local 驱动**
|
||
- 位置: `crates/zclaw-runtime/src/driver/local.rs`
|
||
- 影响: 本地模型用户无法使用
|
||
|
||
5. **工具安全验证**
|
||
- 位置: `crates/zclaw-runtime/src/tool/builtin/shell_exec.rs`
|
||
- 状态: 返回模拟输出
|
||
- 影响: 安全风险
|
||
|
||
6. **测试覆盖提升**
|
||
- 当前: ~60%
|
||
- 目标: 70%+
|
||
|
||
### P2 - 完善功能 (可以有)
|
||
|
||
7. CI/CD 自动化
|
||
8. 技能创建 UI
|
||
9. 工作流可视化编辑器
|
||
10. Gemini 驱动
|
||
|
||
---
|
||
|
||
## 三、头脑风暴核心问题
|
||
|
||
### 3.1 发布策略
|
||
|
||
**Q1: 发布版本选择**
|
||
- A. v0.2.0-beta (内测) - 仅邀请用户
|
||
- B. v0.2.0-rc (公测) - 开放下载
|
||
- C. v0.2.0 (正式) - 完整发布
|
||
|
||
**Q2: 功能取舍**
|
||
- 流式响应: Plan A (完整实现) vs Plan B (SSE 简化) vs Plan C (优化模拟)
|
||
- MCP 协议: MVP (基础连接) vs 完整实现
|
||
- Browser Hand: 基础功能 vs 完整功能
|
||
|
||
**Q3: 时间线**
|
||
- 2 周内发布 (仅 P0)
|
||
- 4 周内发布 (P0 + P1)
|
||
- 6 周内发布 (完整功能)
|
||
|
||
### 3.2 技术决策
|
||
|
||
**Q4: 流式响应技术选型**
|
||
- 方案 A: 修改 LlmDriver trait + Tauri 事件
|
||
- 方案 B: SSE 端点 + EventSource
|
||
- 方案 C: WebSocket 流式通道
|
||
|
||
**Q5: Browser Hand 技术选型**
|
||
- headless-chrome (原生)
|
||
- playwright-rust
|
||
- puppeteer (Node.js 依赖)
|
||
|
||
**Q6: 代码签名**
|
||
- 自签名 (内测可接受)
|
||
- 购买证书 (正式发布必需)
|
||
|
||
### 3.3 用户策略
|
||
|
||
**Q7: 内测规模**
|
||
- 10-20 位核心用户
|
||
- 50-100 位早期用户
|
||
- 开放申请
|
||
|
||
**Q8: 反馈收集**
|
||
- GitHub Issues
|
||
- 专属反馈群
|
||
- 应用内反馈表单
|
||
|
||
---
|
||
|
||
## 四、推荐发布路径
|
||
|
||
```
|
||
Week 1-2: P0 完成
|
||
├── 流式响应实现 (Plan A/B)
|
||
├── MCP MVP 实现
|
||
└── 工具安全基础
|
||
|
||
Week 3-4: P1 完成
|
||
├── Browser Hand 基础
|
||
├── Ollama 驱动
|
||
└── 测试覆盖提升
|
||
|
||
Week 5-6: 测试+修复
|
||
├── 全量测试
|
||
├── Bug 修复
|
||
└── 文档完善
|
||
|
||
Week 7-8: 内测
|
||
├── 10-20 用户
|
||
├── 收集反馈
|
||
└── 问题修复
|
||
|
||
Week 9+: 公测/正式
|
||
├── 开放下载
|
||
├── 迭代优化
|
||
└── 正式发布
|
||
```
|
||
|
||
---
|
||
|
||
## 五、风险评估
|
||
|
||
| 风险 | 概率 | 影响 | 缓解措施 |
|
||
|------|------|------|----------|
|
||
| 流式响应延期 | 高 | 高 | SSE 简化方案备选 |
|
||
| MCP 兼容问题 | 中 | 中 | 先测试主流服务器 |
|
||
| Browser 依赖问题 | 中 | 中 | 预先验证 playwright |
|
||
| 内测反馈问题多 | 高 | 中 | 控制用户数量 |
|
||
| 安全漏洞 | 低 | 严重 | 安全审计 |
|
||
|
||
---
|
||
|
||
## 六、下一步行动
|
||
|
||
### 立即需要回答的问题
|
||
|
||
1. **发布时间目标**: 期望何时发布?
|
||
2. **功能优先级**: P0/P1 哪些必须完成?
|
||
3. **内测策略**: 邀请制还是开放申请?
|
||
4. **资源投入**: 全职开发还是兼职?
|
||
|
||
### 需要验证的技术点
|
||
|
||
1. `loop_runner.rs` 流式响应实现复杂度
|
||
2. `mcp.rs` MCP 协议最小实现范围
|
||
3. Browser Hand 技术选型验证
|
||
|
||
---
|
||
|
||
## 七、关键文件清单
|
||
|
||
| 文件 | 优先级 | 说明 |
|
||
|------|--------|------|
|
||
| `crates/zclaw-runtime/src/loop_runner.rs` | P0 | 流式响应核心 |
|
||
| `crates/zclaw-protocols/src/mcp.rs` | P0 | MCP 协议实现 |
|
||
| `crates/zclaw-runtime/src/tool/builtin/shell_exec.rs` | P1 | 工具安全 |
|
||
| `crates/zclaw-runtime/src/driver/local.rs` | P1 | 本地驱动 |
|
||
| `docs/superpowers/specs/2026-03-23-v0.2.0-release-design.md` | 参考 | v0.2.0 设计规格 |
|