thzxx
4554177db0
feat: 升级至 v0.3.3 — 新增 delete_file 工具 + 文件工具全面优化
## 主要变更
### 1. 新增 delete_file 工具(26 → 27 个)
- 支持:删除文件/空目录(默认)/递归删除非空目录(recursive: true)
- 5 层安全防护:
* isPathWithinWorkspace — 路径遍历防护
* isProtectedWorkspaceFile — MEMORY.md 拦截
* 工作空间根目录保护 — 禁止删除 workspace 本身
* 递归删除需显式开启 — 默认仅删空目录
* riskLevel: HIGH + requiresPermission — 破坏性操作必须确认
- 友好错误处理:ENOTEMPTY 时提示设置 recursive: true
### 2. 文件工具全面优化(6 个工具)
- 抽取共享代码到 file-guard.ts:
* safeResolvePath — 合并路径遍历 + MEMORY.md 校验
* matchGlob — 简易通配符匹配
* extractErrorMessage — 统一错误提取
* MAX_FILE_SIZE_BYTES (10MB) / FILE_TOOL_TIMEOUT_MS (15s) / MAX_LINE_LENGTH (10000)
- read_file:stat 预检 + 超长行截断 + 二进制检测 + 大小上限
- write_file:原子写入(临时文件+rename)+ 内容大小上限 + append 返回 new_file_size
- list_directory:1000 结果上限 + modified time + include_hidden 参数 + 提前终止优化
- search_files:regex lastIndex 修复 + context_lines + include_hidden + 大文件跳过
- file_editor:dry_run 预览模式 + 文件大小上限
### 3. 审计修复(1 FAIL + 3 WARN)
- FAIL: isBinaryFile 用 bytesRead 限制循环,修复 < 8KB 文本误判为二进制
- WARN-1: file-editor dry_run preview 分模式计算,修复 insert 范围过大
- WARN-2: write_file 允许空字符串创建空文件
- WARN-3: list_directory listDir 提前终止,避免大目录全量遍历
2026-07-14 21:42:46 +08:00
..
2026-07-12 21:21:55 +08:00
2026-07-06 22:48:33 +08:00
2026-07-12 12:54:52 +08:00
2026-07-13 22:36:58 +08:00
2026-07-07 21:22:24 +08:00
2026-07-14 21:15:54 +08:00
2026-07-12 12:54:52 +08:00
2026-07-14 21:42:46 +08:00
2026-07-14 21:42:46 +08:00
2026-07-14 21:42:46 +08:00
2026-07-14 21:15:54 +08:00
2026-07-14 21:15:54 +08:00
2026-07-14 21:42:46 +08:00
2026-07-12 19:46:47 +08:00
2026-07-13 22:36:58 +08:00
2026-07-05 21:24:22 +08:00
2026-07-12 12:54:52 +08:00
2026-07-14 21:15:54 +08:00
2026-07-14 21:15:54 +08:00
2026-07-14 21:15:54 +08:00
2026-07-13 22:36:58 +08:00
2026-07-07 22:31:28 +08:00