Files
LocalAgent/docs/PROJECT_STRUCTURE.md
Mimikko-zeus 8a538bb950 feat: refactor API key configuration and enhance application initialization
- Renamed `check_environment` to `check_api_key_configured` for clarity, simplifying the API key validation logic.
- Removed the blocking behavior of the API key check during application startup, allowing the app to run while providing a prompt for configuration.
- Updated `LocalAgentApp` to accept an `api_configured` parameter, enabling conditional messaging for API key setup.
- Enhanced the `SandboxRunner` to support backup management and improved execution result handling with detailed metrics.
- Integrated data governance strategies into the `HistoryManager`, ensuring compliance and improved data management.
- Added privacy settings and metrics tracking across various components to enhance user experience and application safety.
2026-02-27 14:32:30 +08:00

232 lines
7.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LocalAgent 项目结构总结
## 项目概述
LocalAgent 是一个基于 LLM 的本地代码执行智能助手,通过自然语言交互帮助用户生成和执行 Python 代码,具备完善的安全机制和历史复用能力。
## 核心架构
```
┌─────────────────────────────────────────────────────────────┐
│ 用户界面层 (ui/) │
│ Chat View │ History View │ Settings View │ Dialogs │
└─────────────────────┬───────────────────────────────────────┘
┌─────────────────────▼───────────────────────────────────────┐
│ 核心控制层 (app/) │
│ Agent (主流程控制与协调) │
└──┬────────┬────────┬────────┬────────┬────────┬────────────┘
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌──────┐┌──────┐┌──────┐┌──────┐┌──────┐┌──────────┐
│Intent││ LLM ││Safety││Execu-││Histo-││Workspace │
│ 意图 ││ 交互 ││ 安全 ││ tor ││ ry ││ 工作区 │
│识别 ││ ││ 检查 ││ 执行 ││ 历史 ││ │
└──────┘└──────┘└──────┘└──────┘└──────┘└──────────┘
```
## 目录结构详解
### 核心业务模块
#### `app/` - 应用核心
- **agent.py** (1503行): 主Agent类协调所有模块处理用户请求
- **exceptions.py**: 自定义异常类型
- **metrics_logger.py**: 性能和行为指标记录
- **privacy_config.py**: 隐私保护配置管理
#### `executor/` - 代码执行引擎
- **sandbox_runner.py** (493行): 沙箱执行器,隔离环境运行代码
- **path_guard.py** (174行): 路径安全守卫,防止越界访问
- **backup_manager.py**: 执行前数据备份管理
- **execution_metrics.py**: 执行性能指标收集
#### `safety/` - 安全防护层
- **rule_checker.py** (334行): 基于规则的静态代码安全检查
- **llm_reviewer.py**: 基于LLM的智能安全审查
- **security_metrics.py**: 安全事件指标统计
#### `history/` - 历史管理
- **manager.py**: 历史任务存储和检索
- **task_features.py**: 任务特征提取TF-IDF
- **reuse_metrics.py**: 代码复用效果指标
#### `intent/` - 意图识别
- **classifier.py**: 基于机器学习的意图分类器
- **labels.py**: 意图标签定义(代码生成/数据分析/文件操作等)
#### `llm/` - LLM交互
- **client.py**: OpenAI API客户端封装
- **prompts.py**: 提示词模板管理
- **config_metrics.py**: LLM配置和调用指标
#### `ui/` - 用户界面
- **chat_view.py**: 主聊天交互界面
- **history_view.py**: 历史任务浏览
- **settings_view.py**: 系统设置
- **task_guide_view.py**: 任务引导
- **privacy_settings_view.py**: 隐私设置
- **reuse_confirm_dialog.py**: 代码复用确认对话框
- **clear_confirm_dialog.py**: 清空确认对话框
- **clarify_view.py**: 需求澄清界面
### 支持目录
#### `tests/` - 测试代码
- **test_rule_checker.py**: 安全规则检查器测试
- **test_intent_classifier.py**: 意图分类器测试
- **test_history_manager.py**: 历史管理器测试
- **test_task_features.py**: 任务特征提取测试
- **test_config_refresh.py**: 配置刷新测试
- **test_retry_fix.py**: 重试机制测试
#### `docs/` - 项目文档
- **PRD.md**: 产品需求文档
- **P0-01_安全边界加固实施报告.md**: 路径安全加固
- **P0-02_历史代码复用安全复检实施报告.md**: 复用安全机制
- **P0-03_执行前清空数据丢失修复报告.md**: 备份机制实施
- **P1-01-solution.md**: 优化方案
- **P1-02_重试策略修复说明.md**: LLM重试优化
- **P1-03_optimization.md**: 性能优化
- **P1-04-optimization-summary.md**: 优化总结
- **P1-05_执行结果状态模型升级.md**: 状态管理升级
- **P1-06_隐私保护优化方案.md**: 隐私保护增强
#### `workspace/` - 运行时工作空间
```
workspace/
├── codes/ # 生成的Python代码
├── input/ # 用户输入文件
├── output/ # 代码执行输出
├── logs/ # 执行日志
├── metrics/ # 性能指标报告
└── history.json # 历史任务记录
```
#### `build/` & `dist/` - 构建输出
- **build/**: PyInstaller构建中间文件
- **dist/LocalAgent/**: 可分发的可执行程序包
### 配置文件
- **main.py**: 程序入口
- **build.py**: PyInstaller构建脚本
- **requirements.txt**: Python依赖清单
- **LocalAgent.spec**: PyInstaller配置
- **README.md**: 项目说明文档
- **RULES.md**: 项目开发规范
## 核心工作流程
### 1. 用户请求处理流程
```
用户输入 → Intent分类 → History检索
复用确认 → LLM生成代码 → Safety双重审查
Backup备份 → Sandbox执行 → 结果展示
保存历史 → 指标记录
```
### 2. 安全检查流程
```
生成代码
RuleChecker (规则检查)
├─ 危险函数检测
├─ 路径安全验证
└─ 导入模块检查
LLMReviewer (智能审查)
├─ 语义安全分析
├─ 潜在风险评估
└─ 修复建议生成
PathGuard (执行时守卫)
└─ 运行时路径拦截
```
### 3. 历史复用流程
```
用户需求 → 特征提取 (TF-IDF)
相似度计算 (余弦相似度)
候选任务排序 → 用户确认
安全复检 → 直接执行/修改后执行
```
## 技术栈
- **UI框架**: Textual (Python TUI)
- **LLM**: OpenAI GPT-4
- **机器学习**: scikit-learn (TF-IDF, 余弦相似度)
- **代码执行**: subprocess (沙箱隔离)
- **打包工具**: PyInstaller
- **Python版本**: 3.8+
## 关键特性
### 安全性
- ✅ 双重安全审查(规则+LLM
- ✅ 沙箱隔离执行
- ✅ 路径访问控制
- ✅ 执行前自动备份
### 智能化
- ✅ 意图自动识别
- ✅ 历史代码复用
- ✅ 相似任务推荐
- ✅ 智能错误修复
### 用户体验
- ✅ 友好的TUI界面
- ✅ 实时执行反馈
- ✅ 历史任务管理
- ✅ 隐私保护模式
### 可观测性
- ✅ 完整的指标体系
- ✅ 执行日志记录
- ✅ 性能报告生成
- ✅ 安全事件追踪
## 代码统计
| 模块 | 核心文件 | 代码行数 | 职责 |
|------|---------|---------|------|
| app | agent.py | 1503 | 主控制逻辑 |
| executor | sandbox_runner.py | 493 | 代码执行 |
| safety | rule_checker.py | 334 | 安全检查 |
| executor | path_guard.py | 174 | 路径守卫 |
| tests | 6个测试文件 | ~800 | 质量保证 |
| docs | 10个文档 | ~15000字 | 项目文档 |
## 开发规范
详见 `RULES.md` 文档,包括:
- 目录组织规范
- 代码命名规范
- 测试编写规范
- 文档管理规范
- 安全开发规范
- 构建发布流程
## 未来规划
- [ ] 支持更多编程语言
- [ ] 增强LLM推理能力
- [ ] 优化历史复用算法
- [ ] 添加Web界面
- [ ] 支持团队协作
- [ ] 插件系统
---
**最后更新**: 2026-02-27
**项目状态**: 活跃开发中
**维护者**: LocalAgent Team