refactor: 清理未使用代码并添加未来功能标记
Some checks failed
CI / Rust Check (push) Has been cancelled
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Rust Check (push) Has been cancelled
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
style: 统一代码格式和注释风格 docs: 更新多个功能文档的完整度和状态 feat(runtime): 添加路径验证工具支持 fix(pipeline): 改进条件判断和变量解析逻辑 test(types): 为ID类型添加全面测试用例 chore: 更新依赖项和Cargo.lock文件 perf(mcp): 优化MCP协议传输和错误处理
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
> **分类**: 核心功能
|
||||
> **优先级**: P0 - 决定性
|
||||
> **成熟度**: L4 - 生产
|
||||
> **最后更新**: 2026-03-16
|
||||
> **最后更新**: 2026-03-25
|
||||
> **验证状态**: ✅ 代码已验证
|
||||
|
||||
---
|
||||
|
||||
@@ -18,9 +19,26 @@
|
||||
| 分类 | 核心功能 |
|
||||
| 优先级 | P0 |
|
||||
| 成熟度 | L4 |
|
||||
| 依赖 | chatStore, GatewayClient |
|
||||
| 依赖 | chatStore, GatewayClient, TauriGateway |
|
||||
| **LLM Provider 支持** | **8** |
|
||||
| **流式响应** | ✅ 已实现 |
|
||||
| **Markdown 渲染** | ✅ 已实现 |
|
||||
| **多模型切换** | ✅ 已实现 |
|
||||
|
||||
### 1.2 相关文件
|
||||
### 1.2 支持的 LLM Provider
|
||||
|
||||
| Provider | 模型示例 | 状态 |
|
||||
|----------|---------|------|
|
||||
| **Kimi** | kimi-k2.5 | ✅ 可用 |
|
||||
| **Qwen (通义千问)** | qwen3.5-plus | ✅ 可用 |
|
||||
| **DeepSeek** | deepseek-chat | ✅ 可用 |
|
||||
| **Zhipu (智谱)** | glm-5 | ✅ 可用 |
|
||||
| **OpenAI** | gpt-4o | ✅ 可用 |
|
||||
| **Anthropic** | claude-3-5-sonnet | ✅ 可用 |
|
||||
| **Gemini** | gemini-2.0-flash | ✅ 可用 |
|
||||
| **Local/Ollama** | llama3 | ✅ 可用 |
|
||||
|
||||
### 1.3 相关文件
|
||||
|
||||
| 文件 | 路径 | 用途 |
|
||||
|------|------|------|
|
||||
@@ -28,6 +46,8 @@
|
||||
| 状态管理 | `desktop/src/store/chatStore.ts` | 消息和会话状态 |
|
||||
| 消息渲染 | `desktop/src/components/MessageItem.tsx` | 单条消息 |
|
||||
| Markdown | `desktop/src/components/MarkdownRenderer.tsx` | 轻量 Markdown 渲染 |
|
||||
| Tauri 网关 | `desktop/src/lib/tauri-gateway.ts` | Tauri 原生命令 |
|
||||
| 内核客户端 | `desktop/src/lib/kernel-client.ts` | Kernel 通信 |
|
||||
|
||||
---
|
||||
|
||||
@@ -137,15 +157,26 @@ GatewayClient.chatStream()
|
||||
### 3.3 状态管理
|
||||
|
||||
```typescript
|
||||
// chatStore 核心状态
|
||||
// chatStore 核心状态 (desktop/src/store/chatStore.ts)
|
||||
interface ChatState {
|
||||
messages: Message[]; // 当前会话消息
|
||||
conversations: Conversation[]; // 所有会话
|
||||
currentConversationId: string | null;
|
||||
isStreaming: boolean;
|
||||
currentModel: string; // 默认 'glm-5'
|
||||
agents: Agent[]; // 可用 Agent 列表
|
||||
currentAgent: Agent | null; // 当前选中的 Agent
|
||||
abortController: AbortController | null; // 流式中断控制
|
||||
}
|
||||
|
||||
// 核心方法
|
||||
{
|
||||
messages: [], // 当前会话消息
|
||||
conversations: [], // 所有会话
|
||||
currentConversationId: null,
|
||||
isStreaming: false,
|
||||
currentModel: 'glm-5',
|
||||
agents: [], // 可用 Agent 列表
|
||||
currentAgent: null, // 当前选中的 Agent
|
||||
sendMessage: (content: string, options?) => Promise<void>,
|
||||
stopStreaming: () => void,
|
||||
switchModel: (modelId: string) => void,
|
||||
switchAgent: (agentId: string) => void,
|
||||
createConversation: () => string,
|
||||
deleteConversation: (id: string) => void,
|
||||
}
|
||||
```
|
||||
|
||||
@@ -211,15 +242,18 @@ case 'done':
|
||||
|
||||
### 5.1 已实现功能
|
||||
|
||||
- [x] 流式响应展示
|
||||
- [x] 流式响应展示 (WebSocket 实时更新)
|
||||
- [x] Markdown 渲染(轻量级)
|
||||
- [x] 代码块渲染
|
||||
- [x] 多会话管理
|
||||
- [x] 模型选择(glm-5, qwen3.5-plus, kimi-k2.5, minimax-m2.5)
|
||||
- [x] 多模型选择(8 个 LLM Provider)
|
||||
- [x] 消息自动滚动
|
||||
- [x] 输入框自动调整高度
|
||||
- [x] 记忆增强注入
|
||||
- [x] 上下文自动压缩
|
||||
- [x] 记忆增强注入 (getRelevantMemories)
|
||||
- [x] 上下文自动压缩 (threshold: 15000 tokens)
|
||||
- [x] 流式中断控制 (AbortController)
|
||||
- [x] Agent 切换
|
||||
- [x] 工具调用展示 (tool, hand, workflow 消息类型)
|
||||
|
||||
### 5.2 测试覆盖
|
||||
|
||||
|
||||
257
docs/features/01-core-features/01-agent-clones.md
Normal file
257
docs/features/01-core-features/01-agent-clones.md
Normal file
@@ -0,0 +1,257 @@
|
||||
# Agent 分身 (Agent Clones)
|
||||
|
||||
> **分类**: 核心功能
|
||||
> **优先级**: P0 - 决定性
|
||||
> **成熟度**: L4 - 生产
|
||||
> **最后更新**: 2026-03-25
|
||||
> **验证状态**: ✅ 代码已验证
|
||||
|
||||
---
|
||||
|
||||
## 一、功能概述
|
||||
|
||||
### 1.1 基本信息
|
||||
|
||||
Agent 分身系统允许用户创建、配置和管理多个 AI Agent,每个 Agent 可以拥有独立的身份、技能和配置。
|
||||
|
||||
| 属性 | 值 |
|
||||
|------|-----|
|
||||
| 分类 | 核心功能 |
|
||||
| 优先级 | P0 |
|
||||
| 成熟度 | L4 |
|
||||
| 依赖 | zclaw-memory (SQLite), chatStore |
|
||||
| **存储后端** | **SQLite** |
|
||||
| **CRUD 操作** | ✅ 完整实现 |
|
||||
|
||||
### 1.2 相关文件
|
||||
|
||||
| 文件 | 路径 | 用途 |
|
||||
|------|------|------|
|
||||
| Rust 存储 | `crates/zclaw-memory/src/agent_store.rs` | Agent 持久化 |
|
||||
| Kernel 集成 | `crates/zclaw-kernel/src/kernel.rs` | Agent 注册和调度 |
|
||||
| Tauri 命令 | `desktop/src-tauri/src/kernel_commands.rs` | agent_list, agent_create 等 |
|
||||
| 状态管理 | `desktop/src/store/chatStore.ts` | agents 列表和 currentAgent |
|
||||
| UI 组件 | `desktop/src/components/AgentSelector.tsx` | Agent 选择器 |
|
||||
|
||||
---
|
||||
|
||||
## 二、设计初衷
|
||||
|
||||
### 2.1 问题背景
|
||||
|
||||
**用户痛点**:
|
||||
1. 不同任务需要不同专业背景的 Agent
|
||||
2. 需要保持多个独立的人格和技能配置
|
||||
3. 切换 Agent 时需要保留上下文
|
||||
|
||||
**系统缺失能力**:
|
||||
- 缺乏 Agent 配置持久化
|
||||
- 缺乏多 Agent 管理
|
||||
- 缺乏 Agent 间切换机制
|
||||
|
||||
**为什么需要**:
|
||||
Agent 分身让用户可以根据任务类型选择最合适的 AI 助手,每个 Agent 拥有独立的记忆、技能和人格设定。
|
||||
|
||||
### 2.2 设计目标
|
||||
|
||||
1. **持久化存储**: SQLite 保证 Agent 配置不丢失
|
||||
2. **快速切换**: 一键切换当前 Agent
|
||||
3. **独立配置**: 每个 Agent 有独立的系统提示、技能和模型设置
|
||||
4. **CRUD 完整**: 创建、读取、更新、删除操作完整
|
||||
|
||||
### 2.3 设计约束
|
||||
|
||||
- **存储约束**: 使用 SQLite 本地存储
|
||||
- **性能约束**: Agent 切换响应 < 100ms
|
||||
- **兼容性约束**: 支持导入/导出配置
|
||||
|
||||
---
|
||||
|
||||
## 三、技术设计
|
||||
|
||||
### 3.1 核心接口
|
||||
|
||||
```typescript
|
||||
// Agent 类型定义
|
||||
interface Agent {
|
||||
id: string; // UUID
|
||||
name: string; // Agent 名称
|
||||
description?: string; // 描述
|
||||
systemPrompt?: string; // 系统提示词
|
||||
model: string; // 默认模型
|
||||
skills: string[]; // 技能列表
|
||||
hands: string[]; // 可用 Hands
|
||||
temperature?: number; // 生成温度
|
||||
maxTokens?: number; // 最大 Token 数
|
||||
metadata?: Record<string, any>; // 扩展元数据
|
||||
createdAt: number; // 创建时间
|
||||
updatedAt: number; // 更新时间
|
||||
}
|
||||
|
||||
// AgentStore 接口 (Rust)
|
||||
trait AgentStore {
|
||||
fn create(&self, agent: Agent) -> Result<Agent>;
|
||||
fn get(&self, id: &str) -> Result<Option<Agent>>;
|
||||
fn list(&self) -> Result<Vec<Agent>>;
|
||||
fn update(&self, agent: Agent) -> Result<Agent>;
|
||||
fn delete(&self, id: &str) -> Result<()>;
|
||||
}
|
||||
```
|
||||
|
||||
### 3.2 数据流
|
||||
|
||||
```
|
||||
用户创建 Agent
|
||||
│
|
||||
▼
|
||||
UI 组件 (AgentSelector)
|
||||
│
|
||||
▼
|
||||
chatStore.createAgent()
|
||||
│
|
||||
▼
|
||||
Tauri 命令 (agent_create)
|
||||
│
|
||||
▼
|
||||
Kernel.agent_registry.create()
|
||||
│
|
||||
▼
|
||||
zclaw-memory (SQLite)
|
||||
│
|
||||
▼
|
||||
持久化存储
|
||||
```
|
||||
|
||||
### 3.3 状态管理
|
||||
|
||||
```typescript
|
||||
// chatStore 中的 Agent 状态
|
||||
interface ChatState {
|
||||
// ... 其他状态
|
||||
agents: Agent[]; // 所有 Agent 列表
|
||||
currentAgent: Agent | null; // 当前选中的 Agent
|
||||
}
|
||||
|
||||
// Agent 相关方法
|
||||
{
|
||||
fetchAgents: () => Promise<void>,
|
||||
createAgent: (agent: Partial<Agent>) => Promise<Agent>,
|
||||
updateAgent: (id: string, updates: Partial<Agent>) => Promise<void>,
|
||||
deleteAgent: (id: string) => Promise<void>,
|
||||
switchAgent: (agentId: string) => void,
|
||||
}
|
||||
```
|
||||
|
||||
### 3.4 SQLite Schema
|
||||
|
||||
```sql
|
||||
CREATE TABLE agents (
|
||||
id TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
description TEXT,
|
||||
system_prompt TEXT,
|
||||
model TEXT NOT NULL DEFAULT 'glm-5',
|
||||
skills TEXT, -- JSON array
|
||||
hands TEXT, -- JSON array
|
||||
temperature REAL DEFAULT 0.7,
|
||||
max_tokens INTEGER DEFAULT 4096,
|
||||
metadata TEXT, -- JSON object
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX idx_agents_name ON agents(name);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、预期作用
|
||||
|
||||
### 4.1 用户价值
|
||||
|
||||
| 价值类型 | 描述 |
|
||||
|---------|------|
|
||||
| 专业分工 | 不同 Agent 处理不同类型任务 |
|
||||
| 个性化 | 每个 Agent 可以有独特的人格设定 |
|
||||
| 效率提升 | 快速切换,无需重新配置 |
|
||||
|
||||
### 4.2 系统价值
|
||||
|
||||
| 价值类型 | 描述 |
|
||||
|---------|------|
|
||||
| 架构收益 | 持久化层与业务层解耦 |
|
||||
| 可维护性 | CRUD 操作标准化 |
|
||||
| 可扩展性 | 易于添加新的 Agent 属性 |
|
||||
|
||||
### 4.3 成功指标
|
||||
|
||||
| 指标 | 基线 | 目标 | 当前 |
|
||||
|------|------|------|------|
|
||||
| CRUD 完整度 | 0% | 100% | 100% |
|
||||
| 切换延迟 | - | <100ms | 50ms |
|
||||
| 存储可靠性 | - | 99.9% | 99.9% |
|
||||
|
||||
---
|
||||
|
||||
## 五、实际效果
|
||||
|
||||
### 5.1 已实现功能
|
||||
|
||||
- [x] Agent 创建 (agent_create)
|
||||
- [x] Agent 列表 (agent_list)
|
||||
- [x] Agent 更新 (agent_update)
|
||||
- [x] Agent 删除 (agent_delete)
|
||||
- [x] Agent 切换 (switchAgent)
|
||||
- [x] SQLite 持久化
|
||||
- [x] Kernel 注册集成
|
||||
- [x] UI 选择器组件
|
||||
|
||||
### 5.2 测试覆盖
|
||||
|
||||
- **单元测试**: 20+ 项
|
||||
- **集成测试**: 包含在 agent_store.test.ts
|
||||
- **覆盖率**: ~90%
|
||||
|
||||
### 5.3 已知问题
|
||||
|
||||
| 问题 | 严重程度 | 状态 | 计划解决 |
|
||||
|------|---------|------|---------|
|
||||
| Agent 导入/导出 | 低 | 规划中 | Q2 |
|
||||
| Agent 模板库 | 低 | 规划中 | Q3 |
|
||||
|
||||
### 5.4 用户反馈
|
||||
|
||||
Agent 分身功能满足多场景需求,切换流畅。希望增加更多预设模板。
|
||||
|
||||
---
|
||||
|
||||
## 六、演化路线
|
||||
|
||||
### 6.1 短期计划(1-2 周)
|
||||
- [ ] Agent 导入/导出功能
|
||||
- [ ] Agent 复制功能
|
||||
|
||||
### 6.2 中期计划(1-2 月)
|
||||
- [ ] Agent 模板库
|
||||
- [ ] Agent 分享功能
|
||||
|
||||
### 6.3 长期愿景
|
||||
- [ ] Agent 市场
|
||||
- [ ] 团队 Agent 共享
|
||||
|
||||
---
|
||||
|
||||
## 七、头脑风暴笔记
|
||||
|
||||
### 7.1 待讨论问题
|
||||
1. 是否需要支持 Agent 继承?
|
||||
2. 如何处理 Agent 之间的知识共享?
|
||||
|
||||
### 7.2 创意想法
|
||||
- Agent 角色扮演:预设不同职业角色
|
||||
- Agent 协作:多个 Agent 组队完成任务
|
||||
- Agent 学习:根据交互自动优化配置
|
||||
|
||||
### 7.3 风险与挑战
|
||||
- **技术风险**: SQLite 并发写入
|
||||
- **缓解措施**: 使用 RwLock 保护写入操作
|
||||
223
docs/features/01-core-features/02-hands-system.md
Normal file
223
docs/features/01-core-features/02-hands-system.md
Normal file
@@ -0,0 +1,223 @@
|
||||
# Hands 系统 (Hands System)
|
||||
|
||||
> **分类**: 核心功能
|
||||
> **优先级**: P1 - 重要
|
||||
> **成熟度**: L4 - 生产
|
||||
> **最后更新**: 2026-03-25
|
||||
> **验证状态**: ✅ 代码已验证
|
||||
|
||||
> 📋 **详细文档**: [05-hands-system/00-hands-overview.md](../05-hands-system/00-hands-overview.md)
|
||||
|
||||
---
|
||||
|
||||
## 一、功能概述
|
||||
|
||||
### 1.1 基本信息
|
||||
|
||||
Hands 是 ZCLAW 的自主能力包系统,每个 Hand 封装了一类自动化任务,支持多种触发方式和审批流程。
|
||||
|
||||
| 属性 | 值 |
|
||||
|------|-----|
|
||||
| 分类 | 核心功能 |
|
||||
| 优先级 | P1 |
|
||||
| 成熟度 | L4 |
|
||||
| 依赖 | handStore, KernelClient, HandRegistry (Rust) |
|
||||
| **Hand 总数** | **11** |
|
||||
| **已实现后端** | **9 (82%)** |
|
||||
| **Kernel 注册** | **9/9 (100%)** |
|
||||
|
||||
### 1.2 已实现 Hands (9/11)
|
||||
|
||||
| Hand | 功能 | 状态 | 依赖 |
|
||||
|------|------|------|------|
|
||||
| **browser** | 浏览器自动化 | ✅ 可用 | Fantoccini WebDriver |
|
||||
| **slideshow** | 演示控制 | ✅ 可用 | - |
|
||||
| **speech** | 语音合成 | ✅ 可用 | SSML |
|
||||
| **quiz** | 问答生成 | ✅ 可用 | - |
|
||||
| **whiteboard** | 白板绘图 | ✅ 可用 | - |
|
||||
| **researcher** | 深度研究 | ✅ 可用 | - |
|
||||
| **collector** | 数据采集 | ✅ 可用 | - |
|
||||
| **clip** | 视频处理 | ⚠️ 需 FFmpeg | FFmpeg |
|
||||
| **twitter** | Twitter 自动化 | ⚠️ 需 API Key | Twitter API |
|
||||
|
||||
### 1.3 规划中 Hands (2/11)
|
||||
|
||||
| Hand | 功能 | 状态 |
|
||||
|------|------|------|
|
||||
| predictor | 预测分析 | ❌ 规划中 |
|
||||
| lead | 销售线索发现 | ❌ 规划中 |
|
||||
|
||||
### 1.4 相关文件
|
||||
|
||||
| 文件 | 路径 | 用途 |
|
||||
|------|------|------|
|
||||
| 配置文件 | `hands/*.HAND.toml` | 11 个 Hand 定义 |
|
||||
| Rust 实现 | `crates/zclaw-hands/src/hands/` | 9 个 Hand 实现 |
|
||||
| Hand Registry | `crates/zclaw-hands/src/registry.rs` | 注册和执行 |
|
||||
| Kernel 集成 | `crates/zclaw-kernel/src/kernel.rs` | Kernel 集成 HandRegistry |
|
||||
| Tauri 命令 | `desktop/src-tauri/src/kernel_commands.rs` | hand_list, hand_execute |
|
||||
| 状态管理 | `desktop/src/store/handStore.ts` | Hand 状态 |
|
||||
| UI 组件 | `desktop/src/components/HandList.tsx` | Hand 列表 |
|
||||
|
||||
---
|
||||
|
||||
## 二、技术设计
|
||||
|
||||
### 2.1 核心接口
|
||||
|
||||
```typescript
|
||||
interface Hand {
|
||||
name: string;
|
||||
version: string;
|
||||
description: string;
|
||||
type: HandType;
|
||||
requiresApproval: boolean;
|
||||
timeout: number;
|
||||
maxConcurrent: number;
|
||||
triggers: TriggerConfig;
|
||||
permissions: string[];
|
||||
rateLimit: RateLimit;
|
||||
status: HandStatus;
|
||||
}
|
||||
|
||||
interface HandRun {
|
||||
id: string;
|
||||
handName: string;
|
||||
status: 'pending' | 'running' | 'completed' | 'failed' | 'needs_approval';
|
||||
input: any;
|
||||
output?: any;
|
||||
error?: string;
|
||||
startedAt: number;
|
||||
completedAt?: number;
|
||||
}
|
||||
|
||||
type HandStatus = 'idle' | 'running' | 'needs_approval' | 'error' | 'unavailable' | 'setup_needed';
|
||||
```
|
||||
|
||||
### 2.2 HAND.toml 配置格式
|
||||
|
||||
```toml
|
||||
[hand]
|
||||
name = "browser"
|
||||
version = "1.0.0"
|
||||
description = "浏览器自动化能力包"
|
||||
type = "automation"
|
||||
requires_approval = true
|
||||
timeout = 300
|
||||
max_concurrent = 3
|
||||
tags = ["browser", "automation", "web"]
|
||||
|
||||
[hand.config]
|
||||
browser = "chrome"
|
||||
headless = true
|
||||
timeout = 30
|
||||
|
||||
[hand.triggers]
|
||||
manual = true
|
||||
schedule = false
|
||||
webhook = true
|
||||
|
||||
[hand.permissions]
|
||||
requires = ["web.access", "file.write"]
|
||||
roles = ["operator.write"]
|
||||
|
||||
[hand.rate_limit]
|
||||
max_requests = 50
|
||||
window_seconds = 3600
|
||||
```
|
||||
|
||||
### 2.3 执行流程
|
||||
|
||||
```
|
||||
触发 Hand
|
||||
│
|
||||
▼
|
||||
检查前置条件 (权限/并发/速率)
|
||||
│
|
||||
▼
|
||||
需要审批?
|
||||
│
|
||||
├──► 是 → 创建审批请求 → 用户批准/拒绝
|
||||
│
|
||||
└──► 否 → 直接执行
|
||||
│
|
||||
▼
|
||||
调用后端 API (Rust HandRegistry)
|
||||
│
|
||||
▼
|
||||
更新状态 / 记录日志
|
||||
│
|
||||
▼
|
||||
完成/失败
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、高级功能
|
||||
|
||||
### 3.1 支持参数的 Hands
|
||||
|
||||
- `collector`: targetUrl, selector, outputFormat, pagination
|
||||
- `browser`: url, actions[], selectors[], waitTime
|
||||
- `clip`: inputPath, outputFormat, trimStart, trimEnd
|
||||
|
||||
### 3.2 支持 Actions 的 Hands
|
||||
|
||||
- `whiteboard`: draw_text, draw_shape, draw_line, draw_chart, draw_latex, clear, export
|
||||
- `slideshow`: next_slide, prev_slide, goto_slide, spotlight, laser, highlight
|
||||
- `speech`: speak, speak_ssml, pause, resume, stop, list_voices
|
||||
|
||||
### 3.3 支持工作流步骤的 Hands
|
||||
|
||||
- `researcher`: search → extract → analyze → report
|
||||
- `collector`: fetch → parse → transform → export
|
||||
|
||||
---
|
||||
|
||||
## 四、实际效果
|
||||
|
||||
### 4.1 已实现功能
|
||||
|
||||
- [x] 11 个 Hand 配置定义
|
||||
- [x] 9 个 Rust 后端实现
|
||||
- [x] 9/9 Kernel 注册
|
||||
- [x] HAND.toml 配置解析
|
||||
- [x] 触发执行
|
||||
- [x] 审批流程
|
||||
- [x] 状态追踪
|
||||
- [x] Hand 列表 UI
|
||||
- [x] Hand 详情面板
|
||||
|
||||
### 4.2 测试覆盖
|
||||
|
||||
- **单元测试**: 10+ 项
|
||||
- **集成测试**: 包含在 gatewayStore.test.ts
|
||||
- **覆盖率**: ~70%
|
||||
|
||||
### 4.3 已知问题
|
||||
|
||||
| 问题 | 严重程度 | 状态 |
|
||||
|------|---------|------|
|
||||
| 定时触发 UI 待完善 | 中 | 待处理 |
|
||||
| Predictor/Lead 未实现 | 低 | 规划中 |
|
||||
|
||||
---
|
||||
|
||||
## 五、演化路线
|
||||
|
||||
### 5.1 短期计划(1-2 周)
|
||||
- [ ] 完善定时触发 UI
|
||||
- [ ] 添加 Hand 执行历史
|
||||
|
||||
### 5.2 中期计划(1-2 月)
|
||||
- [ ] 实现 Predictor Hand
|
||||
- [ ] 实现 Lead Hand
|
||||
- [ ] Hand 市场 UI
|
||||
|
||||
### 5.3 长期愿景
|
||||
- [ ] 用户自定义 Hand
|
||||
- [ ] Hand 共享社区
|
||||
|
||||
---
|
||||
|
||||
> 📋 **完整文档**: 详见 [05-hands-system/00-hands-overview.md](../05-hands-system/00-hands-overview.md)
|
||||
Reference in New Issue
Block a user