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>
This commit is contained in:
211
plans/twinkly-frolicking-goblet.md
Normal file
211
plans/twinkly-frolicking-goblet.md
Normal file
@@ -0,0 +1,211 @@
|
||||
# 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 设计规格 |
|
||||
Reference in New Issue
Block a user