Files
zclaw_openfang/plans/twinkly-frolicking-goblet.md
iven 3ff08faa56 release(v0.2.0): streaming, MCP protocol, Browser Hand, security enhancements
## 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>
2026-03-24 03:24:24 +08:00

212 lines
5.5 KiB
Markdown
Raw Permalink 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 上线发布分析 & 头脑风暴计划
## 一、项目现状总结
### 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 设计规格 |