# Tools 升级执行清单

本清单用于追踪 Tools 升级计划的执行进度。

---

## 总进度

| Phase | 名称 | 状态 | 工作量 |
|-------|------|------|--------|
| T.0 | 现状与目标 | ✅ 完成 | - |
| T.1 | Manifest 驱动系统 | ✅ 完成 | 3 天 |
| T.2 | 工具注册中心 | ✅ 完成 | 2 天 |
| T.3 | 核心工具实现 | ✅ 完成 | 5 天 |
| T.4 | 高级特性 | ✅ 完成 | 4 天 |
| **总计** | | | **14 天** |

---

## Phase T.1：Manifest 驱动系统

### 目标
建立 Jarvis 的 Manifest 驱动工具系统，定义标准化工件声明。

### 任务清单

#### Schema 定义
- [x] 创建 `tools/schemas/manifest.py`
  - [x] 定义 `ToolManifest` Schema
  - [x] 定义 `ToolType` 枚举
  - [x] 定义 `RuntimeType` 枚举
  - [x] 定义 `InvocationCommand` Schema
- [x] 创建 `tools/schemas/tool_call.py`
  - [x] 定义 `ToolCallRequest` Schema
  - [x] 定义 `ToolCallResponse` Schema
  - [x] 定义 `ToolExecutionLog` Schema

#### 验证器
- [x] 创建 `tools/schemas/validator.py`
  - [x] 实现 `validate_manifest` 函数
  - [x] 实现 `validate_tool_call` 函数
  - [x] 实现错误类

#### 配置系统
- [x] 创建 `tools/configs/loader.py`
  - [x] 实现 `ConfigLoader` 类
  - [x] 实现配置缓存
  - [x] 实现配置重载

#### Manifest 文件
- [x] 创建 `tools/manifests/file_operator.yaml`
- [x] 创建 `tools/manifests/web_search.yaml`
- [x] 创建其他工具 Manifest

#### 测试
- [x] 单元测试

### 产出文件
- `tools/schemas/manifest.py`
- `tools/schemas/tool_call.py`
- `tools/schemas/validator.py`
- `tools/configs/loader.py`
- `tools/manifests/*.yaml`

### 验收
- [x] Schema 验证正常工作
- [x] 配置加载器正常工作
- [x] Manifest 文件格式正确
- [x] 单元测试通过

---

## Phase T.2：工具注册中心

### 目标
实现工具的动态注册、发现和管理。

### 任务清单

#### 注册中心
- [x] 创建 `tools/registry.py`
  - [x] 实现 `ToolMetadata` dataclass
  - [x] 实现 `ToolRegistry` 类
  - [x] 实现注册/注销方法
  - [x] 实现查询方法
  - [x] 实现统计方法

#### 工具发现
- [x] 创建 `tools/discovery.py`
  - [x] 实现 `ToolDiscovery` 类
  - [x] 实现自动发现
  - [x] 实现热重载

#### 描述生成
- [x] 创建 `tools/description.py`
  - [x] 实现 AI 友好描述生成
  - [x] 实现工具列表生成

#### 权限控制
- [x] 创建 `tools/permissions.py`
  - [x] 实现 `ToolPermission` 枚举
  - [x] 实现 `ToolPermissionChecker` 类

#### LangChain 集成
- [x] 创建 `tools/langchain_adapter.py`
  - [x] 实现适配器
  - [x] 集成到 Agent

#### 测试
- [x] 单元测试

### 产出文件
- `tools/registry.py`
- `tools/discovery.py`
- `tools/description.py`
- `tools/permissions.py`
- `tools/langchain_adapter.py`

### 验收
- [x] 注册中心正常工作
- [x] 工具发现正常工作
- [x] 权限检查正常工作
- [x] LangChain 适配器正常工作
- [x] 单元测试通过

---

## Phase T.3：核心工具实现

### 目标
实现文件操作、搜索、网页抓取等核心工具。

### 任务清单

#### 文件操作工具
- [x] 创建 `tools/implementations/file_operator.py`
  - [x] 实现 `FileOperator` 类
  - [x] 实现 read_file
  - [x] 实现 write_file
  - [x] 实现 list_directory
  - [x] 实现 search_files
  - [x] 实现路径安全检查
- [x] 实现多格式支持（PDF/DOCX/XLSX）

#### 搜索工具
- [x] 创建 `tools/implementations/web_search.py`
  - [x] 实现 `WebSearch` 类
  - [x] 实现 search 方法
  - [x] 实现 deep_search 方法

#### 网页抓取工具
- [x] 创建 `tools/implementations/web_fetch.py`
  - [x] 实现 `WebFetch` 类
  - [x] 实现 fetch 方法
  - [x] 实现 screenshot 方法

#### 任务管理工具
- [x] 创建 `tools/implementations/task_manager.py`
  - [x] 实现 `TaskManager` 类
  - [x] 实现任务 CRUD

#### Manifest 绑定
- [x] 更新 Manifest 文件
- [x] 注册到工具中心

#### 测试
- [x] 单元测试

### 产出文件
- `tools/implementations/file_operator.py`
- `tools/implementations/web_search.py`
- `tools/implementations/web_fetch.py`
- `tools/implementations/task_manager.py`

### 验收
- [x] 文件操作工具正常工作
- [x] 搜索工具正常工作
- [x] 网页抓取工具正常工作
- [x] 任务管理工具正常工作
- [x] 单元测试通过

---

## Phase T.4：高级特性

### 目标
实现多运行时支持、Agent 协作和定时任务。

### 任务清单

#### 运行时系统
- [x] 创建 `tools/runtime/base.py`
  - [x] 定义 `BaseRuntime` 抽象基类
- [x] 创建 `tools/runtime/python_runtime.py`
- [x] 创建 `tools/runtime/js_runtime.py`
- [x] 创建 `tools/runtime/native_runtime.py`
- [x] 创建 `tools/runtime/manager.py`

#### Agent 协作
- [x] 创建 `agents/tools/collaboration.py`
  - [x] 定义 `CollaborationMessage`
  - [x] 实现 `CollaborationProtocol` 类
  - [x] 实现请求/响应机制

#### 定时任务
- [x] 创建 `tools/scheduler.py`
  - [x] 实现 `ScheduledTask`
  - [x] 实现 `ToolScheduler` 类
  - [x] 实现多种调度类型

#### 测试
- [x] 单元测试

### 产出文件
- `tools/runtime/*.py`
- `agents/tools/collaboration.py`
- `tools/scheduler.py`

### 验收
- [x] 多运行时正常工作
- [x] Agent 协作正常工作
- [x] 定时任务正常工作
- [x] 单元测试通过

---

## 完成标准

- [x] 所有 Phase T.1-T.4 任务完成
- [x] 所有单元测试通过
- [x] API 文档更新完成
- [x] 部署验证通过

---

## 风险与注意事项

| 风险 | 影响 | 缓解措施 |
|------|------|----------|
| 多运行时复杂性 | 开发成本增加 | 优先实现 Python 运行时 |
| JS 运行时依赖 Node | 部署环境要求 | 提供降级方案 |
| 定时任务精度 | 任务延迟 | 使用专业调度库 |
| 安全漏洞 | 系统风险 | 严格权限控制 |

---

## 更新日志

| 日期 | Phase | 变更内容 |
|------|-------|----------|
| 2026-04-04 | T.0 | 创建文档 |
| 2026-04-05 | T.1-T.4 | 完成所有 Phase 实现 |
