# file-mind **Repository Path**: Firoly_li/file-mind ## Basic Information - **Project Name**: file-mind - **Description**: 文件管理工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-17 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PARA Organizer PARA Organizer 是一个智能文档组织工具,它利用AI技术帮助用户自动分析文档内容,并根据PARA方法论提供组织建议。 ## 功能特点 - **AI驱动的文档分析**:利用先进的AI模型分析文档内容 - **智能标签提取**:自动识别文档中的关键主题和概念 - **PARA方法论分类**:基于PARA(Projects, Areas, Resources, Archives)方法对文档进行分类 - **优先级评估**:根据文档内容评估其重要性和紧急性 - **组织建议**:提供具体的文件存储位置和命名建议 ## 技术架构 本项目采用领域驱动设计(DDD)架构模式,分为以下几个层次: - **Domain(领域层)**:核心业务逻辑和实体定义 - **Application(应用层)**:协调领域层和基础设施层的服务 - **Infrastructure(基础设施层)**:外部依赖的实现,如数据库、AI服务等 - **Interfaces(接口层)**:用户界面和API端点 ## 快速开始 ### 环境准备 1. 创建并激活Python虚拟环境: ``` python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows ``` 2. 安装依赖: ``` pip install -r requirements.txt ``` ### 配置 设置环境变量,支持多种AI提供商: #### OpenAI - `OPENAI_API_KEY`:您的OpenAI API密钥 - `OPENAI_MODEL`:要使用的OpenAI模型(默认:gpt-3.5-turbo) #### Deepseek - `DEEPSEEK_API_KEY`:您的Deepseek API密钥 - `DEEPSEEK_MODEL`:要使用的Deepseek模型(默认:deepseek-chat) - `DEEPSEEK_API_BASE`:Deepseek API基础URL(默认:https://api.deepseek.com/v1) #### 硅基流动 - `SILICONFLOW_API_KEY`:您的硅基流动API密钥 - `SILICONFLOW_MODEL`:要使用的硅基流动模型(默认:gpt-3.5-turbo) - `SILICONFLOW_API_BASE`:硅基流动API基础URL(默认:https://api.siliconflow.cn/v1) #### Ollama(本地部署) - `OLLAMA_MODEL`:要使用的Ollama模型(默认:llama2) - `OLLAMA_API_BASE`:Ollama API基础URL(默认:http://localhost:11434/v1) #### 通用配置 - `DEFAULT_AI_PROVIDER`:默认使用的AI提供商(默认:openai) - `DEBUG`:是否启用调试模式(默认:False) ### 启动服务 1. 启动API服务: ``` python src/main.py ``` API服务将在 `http://localhost:8001` 上运行。 2. 启动Web界面服务(可选): ``` python src/interfaces/web/main.py ``` Web界面将在 `http://localhost:8002` 上运行。 ### API文档 - **Swagger UI**:`http://localhost:8001/docs` - 交互式API文档,支持在线测试 - **ReDoc**:`http://localhost:8001/redoc` - 简洁的API文档 - **OpenAPI JSON**:`http://localhost:8001/openapi.json` - 机器可读的API规范 ## API端点 通过API文档可以查看完整的API端点列表和详细说明: - `GET /health` - 健康检查 - `GET /api/status` - 获取应用程序状态 - 更多API端点请查看 [Swagger UI](http://localhost:8001/docs) ## 开发指南 ### 项目结构 ``` src/ ├── application/ # 应用层 │ ├── dtos/ # 数据传输对象 │ ├── interfaces/ # 应用接口 │ └── services/ # 应用服务 ├── domain/ # 领域层 │ ├── entities/ # 实体 │ ├── exceptions/ # 自定义异常 │ ├── models/ # 领域模型 │ ├── services/ # 领域服务 │ └── values/ # 值对象 ├── infrastructure/ # 基础设施层 │ ├── config/ # 配置管理 │ ├── database/ # 数据库访问 │ ├── repositories/ # 仓储实现 │ └── services/ # 基础设施服务 └── interfaces/ # 接口层 ├── api/ # REST API ├── cli/ # 命令行接口 └── web/ # Web界面 ``` ### 日志 #### 日志配置 项目使用Python标准库的logging模块实现日志功能,支持以下配置: - **日志级别**:INFO/DEBUG/WARNING/ERROR/CRITICAL - **日志输出**: - 控制台输出(默认) - 文件输出: - `logs/app-info.log`:INFO级别及以上日志 - `logs/app-debug.log`:DEBUG级别及以上日志 - **日志滚动**:按天滚动,默认保留7天 - **日志压缩**:自动压缩旧日志文件 #### 日志配置参数 可以通过环境变量或配置文件调整日志配置: | 参数 | 描述 | 默认值 | |------|------|--------| | LOG_LEVEL | 日志级别 | INFO | | LOG_DIR | 日志目录 | logs | | LOG_ROTATION_WHEN | 日志滚动时间单位 | D(天) | | LOG_ROTATION_INTERVAL | 日志滚动间隔 | 1 | | LOG_BACKUP_COUNT | 日志保留天数 | 7 | | LOG_COMPRESS | 是否压缩旧日志 | True | #### 日志使用 在代码中使用日志: ```python from utils.logger import logger logger.debug("这是一条DEBUG日志") logger.info("这是一条INFO日志") logger.warning("这是一条WARNING日志") logger.error("这是一条ERROR日志") logger.critical("这是一条CRITICAL日志") ``` ## 贡献 欢迎提交Issue和Pull Request来改进这个项目。 ## 许可证 [MIT License](LICENSE)