4554177db00f77d01f5b54320b2313370f5b0ac6
## 主要变更 ### 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 提前终止,避免大目录全量遍历
MetonaAI Desktop
生产级通用 AI Agent 智能体桌面应用。
技术栈
- 运行时: Electron 35 + React 19 + TypeScript 5.8
- 状态管理: Zustand 5
- 数据库: better-sqlite3
- LLM: DeepSeek / Agnes AI / Ollama
- 协议: MCP (Model Context Protocol)
- 构建: electron-vite + Vite 6
快速开始
# 安装依赖
npm install
# 开发模式
npm run dev
# 构建
npm run build
配置
复制 .env.example 为 .env,填入 API Key:
cp .env.example .env
或在应用设置界面中配置 LLM Provider。
项目结构
MetonaAI-Desktop/
├── electron/ # Electron 主进程
│ ├── main.ts # 应用入口
│ ├── preload.ts # 安全桥接脚本
│ ├── ipc/ # IPC 通道处理
│ ├── services/ # 业务服务(数据库、会话、记忆等)
│ └── harness/ # Agent 核心引擎
│ ├── agent-loop/ # ReAct 状态机
│ ├── adapters/ # LLM Provider 适配器
│ ├── tools/ # 工具注册与内置工具
│ ├── memory/ # 记忆系统
│ ├── prompts/ # System Prompt 构建
│ └── types/ # Metona IR 类型定义
├── src/ # React 渲染进程
│ ├── components/ # UI 组件
│ ├── hooks/ # React Hooks
│ ├── stores/ # Zustand 状态管理
│ ├── styles/ # 全局样式
│ └── types/ # 类型声明
├── docs/ # 设计文档
├── standard/ # 开发规范
└── apis/ # API 文档
功能
- ✅ 三栏布局(Sidebar + Chat + DetailPanel)
- ✅ 流式对话(DeepSeek / Agnes / Ollama)
- ✅ 9 个内置工具(文件系统、网络、记忆、命令行)
- ✅ MCP 协议支持
- ✅ 会话持久化(SQLite)
- ✅ 三层记忆系统(情节/语义/工作)
- ✅ 全链路追踪(Trace Viewer)
- ✅ 审计日志(防篡改)
- ✅ 系统托盘 + 全局快捷键
- ✅ 暗色/亮色主题
- ✅ 14 个键盘快捷键
许可证
MIT