# Agent Team 文件操作能力增强设计 ## 目标 为 Agent Team 赋予类似 opencode/claudecode 的强大文件处理能力,支持智能搜索、大文件处理、精细编辑、多 agent 并行处理、Git 集成和文件可视化。 ## 架构选择 - **工具调用方式**: Tool Calling - Agent 直接调用 LLM 时带上工具定义,LLM 自主决定何时调用哪些工具 - **适用范围**: 全部 workspace 文件 ## 工具定义 ### 1. 智能文件搜索 | 工具 | 功能 | 参数 | |------|------|------| | `glob` | 模式匹配文件 | `pattern`: glob 模式 | | `grep` | 内容搜索 | `pattern`: 正则, `path`: 目录, `include`: 文件过滤 | ### 2. 大文件处理 | 工具 | 功能 | 参数 | |------|------|------| | `read_file` | 读取文件 | `filename`, `offset`, `limit` | | `get_line_count` | 查询总行数 | `filename` | ### 3. 精细编辑操作 | 工具 | 功能 | 参数 | |------|------|------| | `edit_file` | 编辑文件 | `filename`, `old_string`, `new_string` | | `write_file` | 写入文件 | `filename`, `content` | | `create_dir` | 创建目录 | `dir` | | `delete_file` | 删除文件 | `filename` | | `list_workspace` | 列出工作区文件 | - | ### 4. Git 集成 | 工具 | 功能 | 参数 | |------|------|------| | `git_status` | 查看变更状态 | - | | `git_diff` | 查看变更 | `filename` | | `git_commit` | 提交变更 | `message` | ## 实现策略 ### Phase 1: 核心工具实现 - 实现 glob, grep, read_file, edit_file, write_file 工具 - 集成到 Room 的 Agent 调用中 ### Phase 2: 大文件支持 - 添加 offset/limit 支持 - 实现 get_line_count ### Phase 3: Git 集成 - 实现 git_status, git_diff, git_commit ### Phase 4: 并行处理 - 添加文件锁机制 - 处理并发编辑冲突 ## 数据流 ``` User Message ↓ Room.HandleUserMessage() ↓ Agent.StreamWithTools([glob, grep, read_file, edit_file, ...]) ↓ LLM 自主选择工具 → 执行 → 返回结果 ↓ 继续生成或结束 ```