174 lines
8.0 KiB
Markdown
174 lines
8.0 KiB
Markdown
|
|
# Jarvis Tools 升级计划索引
|
|||
|
|
|
|||
|
|
本目录用于存放 Jarvis 工具系统的分阶段升级规划文档。
|
|||
|
|
|
|||
|
|
## 文档说明
|
|||
|
|
|
|||
|
|
| 文件 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| `README.md` | 总览、阶段关系、实施顺序 |
|
|||
|
|
| `phase-t-0-current-state.md` | 当前现状、问题、目标架构、VCPToolBox 借鉴 |
|
|||
|
|
| `phase-t-1-manifest-system.md` | Manifest 驱动系统 |
|
|||
|
|
| `phase-t-2-tool-registry.md` | 工具注册中心 |
|
|||
|
|
| `phase-t-3-tool-implementation.md` | 核心工具实现 |
|
|||
|
|
| `phase-t-4-advanced.md` | 高级特性(多运行时/Agent协作) |
|
|||
|
|
| `checklist.md` | 执行清单 |
|
|||
|
|
|
|||
|
|
## 推荐阅读顺序
|
|||
|
|
|
|||
|
|
1. 先读 `phase-t-0-current-state.md`
|
|||
|
|
2. 再按顺序阅读 phase t-1 ~ t-4
|
|||
|
|
3. 实施时严格按阶段推进
|
|||
|
|
4. 参考 `checklist.md` 进行任务追踪
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 总体升级原则
|
|||
|
|
|
|||
|
|
1. **Manifest 驱动** - 声明式工具定义,热插拔
|
|||
|
|
2. **标准契约** - 统一的调用格式和返回结构
|
|||
|
|
3. **多运行时** - 支持 Python/JS/原生
|
|||
|
|
4. **类型安全** - Pydantic Schema 验证
|
|||
|
|
5. **可观测性** - 调用日志、耗时统计
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 阶段总览图
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
T.0 ──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 现状与目标 │
|
|||
|
|
│ - 当前工具系统分析 │
|
|||
|
|
│ - 短板识别 │
|
|||
|
|
│ - VCPToolBox 工具系统借鉴 │
|
|||
|
|
└────────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
T.1 ──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Manifest 驱动系统 │
|
|||
|
|
│ - 工具 manifest 定义 │
|
|||
|
|
│ - 标准化契约 │
|
|||
|
|
│ - Schema 验证 │
|
|||
|
|
│ │
|
|||
|
|
│ 核心文件: tools/manifests/, tools/schemas/ │
|
|||
|
|
│ 工作量: 3 天 │
|
|||
|
|
└────────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
T.2 ──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 工具注册中心 │
|
|||
|
|
│ - 工具发现机制 │
|
|||
|
|
│ - 动态注册 │
|
|||
|
|
│ - 工具描述生成 │
|
|||
|
|
│ │
|
|||
|
|
│ 核心文件: tools/registry.py │
|
|||
|
|
│ 依赖: T.1 │
|
|||
|
|
│ 工作量: 2 天 │
|
|||
|
|
└────────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
T.3 ──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 核心工具实现 │
|
|||
|
|
│ - 文件操作工具 │
|
|||
|
|
│ - 搜索工具 │
|
|||
|
|
│ - 网页抓取工具 │
|
|||
|
|
│ - 任务管理工具 │
|
|||
|
|
│ │
|
|||
|
|
│ 核心文件: tools/implementations/ │
|
|||
|
|
│ 依赖: T.2 │
|
|||
|
|
│ 工作量: 5 天 │
|
|||
|
|
└────────────────────────────────────────────────────────────────────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
T.4 ──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 高级特性 │
|
|||
|
|
│ - 多运行时支持 │
|
|||
|
|
│ - Agent 间协作 │
|
|||
|
|
│ - 定时任务 │
|
|||
|
|
│ │
|
|||
|
|
│ 核心文件: tools/runtime/, agents/tools/ │
|
|||
|
|
│ 依赖: T.3 │
|
|||
|
|
│ 工作量: 4 天 │
|
|||
|
|
└────────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## VCPToolBox 工具系统核心借鉴
|
|||
|
|
|
|||
|
|
| 借鉴点 | 实现位置 | 难度 |
|
|||
|
|
|--------|---------|------|
|
|||
|
|
| Manifest 驱动 | T.1 | 🟢 低 |
|
|||
|
|
| 标准化契约 | T.1 | 🟢 低 |
|
|||
|
|
| configSchema 配置 | T.1 | 🟢 低 |
|
|||
|
|
| 工具注册中心 | T.2 | 🟡 中 |
|
|||
|
|
| 动态发现 | T.2 | 🟡 中 |
|
|||
|
|
| 文件操作工具 | T.3 | 🟢 低 |
|
|||
|
|
| 搜索工具 | T.3 | 🟡 中 |
|
|||
|
|
| 网页抓取 | T.3 | 🟡 中 |
|
|||
|
|
| 多运行时支持 | T.4 | 🟡 中 |
|
|||
|
|
| Agent 间协作 | T.4 | 🟡 中 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 实施顺序
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
T.0 → T.1 → T.2 → T.3 → T.4
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ │ │ │ └── 多运行时/Agent协作
|
|||
|
|
│ │ │ └── 核心工具
|
|||
|
|
│ │ └── 注册中心
|
|||
|
|
│ └── Manifest系统
|
|||
|
|
└── 现状与目标
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**注意:** T.1 是基础,后续阶段都依赖 T.1。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 文件变更追踪
|
|||
|
|
|
|||
|
|
| Phase | 新增文件 | 修改文件 |
|
|||
|
|
|-------|---------|---------|
|
|||
|
|
| T.1 | `tools/manifests/*.yaml`, `tools/schemas/` | `pyproject.toml` |
|
|||
|
|
| T.2 | `tools/registry.py`, `tools/base.py` | `services/agent_service.py` |
|
|||
|
|
| T.3 | `tools/implementations/*.py` | `tools/registry.py` |
|
|||
|
|
| T.4 | `tools/runtime/`, `agents/tools/` | `agents/graph.py` |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 与 Agent Phase 1-5 的关系
|
|||
|
|
|
|||
|
|
| Agent Phase | Tools 协作内容 |
|
|||
|
|
|-------------|---------------|
|
|||
|
|
| Phase 1 | Task Schema 追踪工具调用 |
|
|||
|
|
| Phase 2 | 工具可委托给执行 Agent |
|
|||
|
|
| Phase 3 | 动态选择最优工具 |
|
|||
|
|
| Phase 4 | 工具调用可视化 |
|
|||
|
|
| Phase 5 | 多 Agent 工具协作 |
|
|||
|
|
| **Phase T** | **工具系统升级,与 Phase 1-5 协同** |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
| 注意事项 | 说明 |
|
|||
|
|
|---------|------|
|
|||
|
|
| T.1 是基础 | T.2-T.4 都依赖 T.1 的 Manifest 系统 |
|
|||
|
|
| 兼容性优先 | 保持现有 Agent 工具调用方式 |
|
|||
|
|
| 安全第一 | 严格权限控制,防止滥用 |
|
|||
|
|
| 测试优先 | 每个工具都要配套测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 总工作量
|
|||
|
|
|
|||
|
|
| Phase | 工作量 |
|
|||
|
|
|-------|--------|
|
|||
|
|
| T.1 | 3 天 |
|
|||
|
|
| T.2 | 2 天 |
|
|||
|
|
| T.3 | 5 天 |
|
|||
|
|
| T.4 | 4 天 |
|
|||
|
|
| **总计** | **14 天** |
|