|
|
@@ -1447,7 +1447,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `ReadFileSchema(file_path, offset?, limit?, pages?)`
|
|
|
- 依赖: 无
|
|
|
|
|
|
-- [ ] **A02: 精确文件编辑工具 `EditFile`** [2d]
|
|
|
+- [x] **A02: 精确文件编辑工具 `EditFile`** [2d]
|
|
|
- 基于 old_string → new_string 的精确替换
|
|
|
- 唯一性校验: old_string 在文件中必须唯一,否则报错
|
|
|
- `replace_all` 模式: 替换所有匹配
|
|
|
@@ -1456,14 +1456,14 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `EditFileSchema(file_path, old_string, new_string, replace_all?)`
|
|
|
- 依赖: A01 (需先读取才能编辑)
|
|
|
|
|
|
-- [ ] **A03: 文件写入工具 `WriteFile`** [0.5d]
|
|
|
+- [x] **A03: 文件写入工具 `WriteFile`** [0.5d]
|
|
|
- 创建新文件或覆盖已有文件
|
|
|
- 自动创建中间目录 (`os.makedirs`)
|
|
|
- 安全检查: 拒绝写入 .env、credentials 等敏感文件名
|
|
|
- Schema: `WriteFileSchema(file_path, content)`
|
|
|
- 依赖: 无
|
|
|
|
|
|
-- [ ] **A04: 文件搜索工具 `ListFiles` (Glob)** [1d]
|
|
|
+- [x] **A04: 文件搜索工具 `ListFiles` (Glob)** [1d]
|
|
|
- 基于 glob 模式搜索 (`**/*.py`, `src/**/*.ts`)
|
|
|
- 按修改时间排序
|
|
|
- 自动忽略 .git, node_modules, __pycache__, .venv
|
|
|
@@ -1471,7 +1471,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `ListFilesSchema(pattern, path?, max_results?)`
|
|
|
- 依赖: 无
|
|
|
|
|
|
-- [ ] **A05: 内容搜索工具 `SearchContent` (Grep)** [1.5d]
|
|
|
+- [x] **A05: 内容搜索工具 `SearchContent` (Grep)** [1.5d]
|
|
|
- 正则表达式搜索文件内容
|
|
|
- 上下文行 (-A, -B, -C)
|
|
|
- 文件类型过滤 (--type py, js, etc.)
|
|
|
@@ -1481,7 +1481,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `SearchContentSchema(pattern, path?, glob?, context?, output_mode?)`
|
|
|
- 依赖: 无
|
|
|
|
|
|
-- [ ] **A06: 增强 Shell 执行 `Bash`** [2d]
|
|
|
+- [x] **A06: 增强 Shell 执行 `Bash`** [2d]
|
|
|
- 工作目录跨命令持久化 (session CWD)
|
|
|
- 后台运行模式 (`run_in_background=True`)
|
|
|
- 环境变量继承自用户 shell profile
|
|
|
@@ -1491,7 +1491,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `BashSchema(command, timeout?, run_in_background?, working_dir?)`
|
|
|
- 依赖: 无 (增强现有 ShellTool)
|
|
|
|
|
|
-- [ ] **A07: Git 工作流工具集** [2d]
|
|
|
+- [x] **A07: Git 工作流工具集** [2d]
|
|
|
- `GitStatus`: 查看工作区状态 + 未追踪文件
|
|
|
- `GitDiff`: 查看 staged/unstaged 变更
|
|
|
- `GitLog`: 查看提交历史 (--oneline, -n)
|
|
|
@@ -1501,14 +1501,14 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: 每个子工具独立 Schema
|
|
|
- 依赖: 无 (封装 subprocess git 命令)
|
|
|
|
|
|
-- [ ] **A08: 内置工具注册表 + from_config 集成** [1d]
|
|
|
+- [x] **A08: 内置工具注册表 + from_config 集成** [1d]
|
|
|
- `lambdagent/builtin_tools/__init__.py`: 统一导出所有内置工具
|
|
|
- `BUILTIN_TOOLS` 注册表 (Dict[str, ValidatedTool])
|
|
|
- `from_config` 编译器: `mcp.localTools` 支持内置工具名自动解析
|
|
|
- YAML 配置: `localTools: [ReadFile, EditFile, WriteFile, Bash, terminate]`
|
|
|
- 依赖: A01-A07
|
|
|
|
|
|
-- [ ] **A09: 流式终端 UI (基础版)** [3d]
|
|
|
+- [x] **A09: 流式终端 UI (基础版)** [3d]
|
|
|
- 基于 `rich` 库的终端渲染
|
|
|
- Token 逐字流式输出 (消费 AsyncReActEngine 的 StreamEvent)
|
|
|
- 工具调用展示 (折叠模式: 显示工具名 + 耗时,展开显示输入/输出)
|
|
|
@@ -1516,7 +1516,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- 彩色 β-reduction 追踪
|
|
|
- 依赖: T01 (async), T02 (streaming)
|
|
|
|
|
|
-- [ ] **A10: 集成测试 — MVP 全部工具** [2d]
|
|
|
+- [x] **A10: 集成测试 — MVP 全部工具** [2d]
|
|
|
- ReadFile: 普通文件/大文件/编码/不存在的文件
|
|
|
- EditFile: 精确替换/唯一性失败/replace_all
|
|
|
- WriteFile: 新建/覆盖/敏感文件拒绝
|
|
|
@@ -1529,7 +1529,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
|
|
|
**Tier 2 — 智能层 (编程助手 V1)**
|
|
|
|
|
|
-- [ ] **A11: 代码搜索引擎 `CodeSearch`** [3d]
|
|
|
+- [x] **A11: 代码搜索引擎 `CodeSearch`** [3d]
|
|
|
- 语义代码搜索: 类定义 (`class Foo`)、函数定义 (`def/func/function`)
|
|
|
- 基于 ripgrep + 语言感知正则 (不依赖 AST)
|
|
|
- 支持 Python, TypeScript/JS, Go, Java, Rust 语法模式
|
|
|
@@ -1537,7 +1537,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `CodeSearchSchema(query, language?, type?, path?)`
|
|
|
- 依赖: A05
|
|
|
|
|
|
-- [ ] **A12: 项目结构概览 `ProjectMap`** [2d]
|
|
|
+- [x] **A12: 项目结构概览 `ProjectMap`** [2d]
|
|
|
- 递归生成目录树 (忽略 .git/node_modules 等)
|
|
|
- 关键文件自动识别 (README, package.json, pyproject.toml, Makefile 等)
|
|
|
- 文件统计 (按语言分类,行数统计)
|
|
|
@@ -1545,7 +1545,7 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `ProjectMapSchema(path?, depth?, include_summary?)`
|
|
|
- 依赖: A04
|
|
|
|
|
|
-- [ ] **A13: 测试运行器 `RunTests`** [2d]
|
|
|
+- [x] **A13: 测试运行器 `RunTests`** [2d]
|
|
|
- 自动检测测试框架 (pytest, jest, go test, cargo test)
|
|
|
- 执行测试 + 结构化输出 (passed/failed/error 计数)
|
|
|
- 失败用例详情提取 (文件、行号、错误消息)
|
|
|
@@ -1553,21 +1553,21 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
- Schema: `RunTestsSchema(target?, framework?, verbose?)`
|
|
|
- 依赖: A06
|
|
|
|
|
|
-- [ ] **A14: 任务管理器 `TaskManager`** [1d]
|
|
|
+- [x] **A14: 任务管理器 `TaskManager`** [1d]
|
|
|
- `TaskCreate(subject, description)` → task_id
|
|
|
- `TaskUpdate(task_id, status)`: pending → in_progress → completed
|
|
|
- `TaskList()`: 列出所有任务
|
|
|
- 内存数据结构 + JSON 持久化到 `.lambdagent/tasks.json`
|
|
|
- 依赖: 无
|
|
|
|
|
|
-- [ ] **A15: 权限审批 CLI 交互** [1.5d]
|
|
|
+- [x] **A15: 权限审批 CLI 交互** [1.5d]
|
|
|
- ToolGateway `confirm_callback` 实现: 终端 `input("Allow? [y/n/always]")`
|
|
|
- "always" 模式: 本次会话记忆已授权的工具模式
|
|
|
- 显示工具名、风险等级、输入预览
|
|
|
- 超时自动拒绝 (30s)
|
|
|
- 依赖: 无 (接入现有 ToolGateway)
|
|
|
|
|
|
-- [ ] **A16: 项目级配置 `.lambdagent.md`** [0.5d]
|
|
|
+- [x] **A16: 项目级配置 `.lambdagent.md`** [0.5d]
|
|
|
- Agent 启动时自动加载项目根目录的 `.lambdagent.md`
|
|
|
- 内容拼接到 systemPrompt 末尾
|
|
|
- 支持 `from_config` 编译器 + REPL 两种入口
|
|
|
@@ -1745,9 +1745,9 @@ Phase 3 (P2): 竞争力提升 [4-6 周]
|
|
|
|------|------|--------|-------------|
|
|
|
| 工程改善 (T01-T22) | 22 项 | 22 ✅ | ~42 人天 |
|
|
|
| 安全加固 (S01-S34) | 34 项 | 16 ✅ | ~38 人天 |
|
|
|
-| 助手工具 Tier 1-3 (A01-A23) | 23 项 | 0 | ~40 人天 |
|
|
|
+| 助手工具 Tier 1-3 (A01-A23) | 23 项 | 17 ✅ | ~40 人天 |
|
|
|
| 助手工具 Tier 4 (A24-A33) | 10 项 | 0 | ~20 人天 |
|
|
|
-| **总计** | **89 项** | **38 ✅** | **~140 人天** |
|
|
|
+| **总计** | **89 项** | **55 ✅** | **~140 人天** |
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -1835,7 +1835,7 @@ Phase 5 (助手): 个人助手 & 编程助手 [8-12 周]
|
|
|
└── Tier 4 CC: A24-A33 (LSP + 规划模式 + Agent Team + 延迟加载) ~20 人天
|
|
|
```
|
|
|
|
|
|
-**总计: 89 项 TODO (22 工程 + 34 安全 + 33 助手), 已完成 38 项, 预估 ~140 人天**
|
|
|
+**总计: 89 项 TODO (22 工程 + 34 安全 + 33 助手), 已完成 55 项, 预估 ~140 人天**
|
|
|
|
|
|
---
|
|
|
|