文件结构
本文档详细介绍 Mindra 开源版本的项目结构和各文件功能。
项目目录结构
Mindra-oa/
├── main.py # 主程序入口
├── ai_sidebar.py # AI 侧边栏模块
├── config.yaml # 配置文件
├── cookie_manager.py # Cookie 管理器
├── homepage.html # 自定义主页
├── more_dialog.py # 更多功能对话框
├── settings_dialog.py # 设置对话框
├── style_settings.py # 样式设置
├── user_operations.py # 用户操作模块
├── mindra.sql # 数据库初始化脚本
├── README.md # 英文文档
├── README_ch.MD # 中文文档
├── Mindra_logo.png # 项目 Logo
└── requirements.txt # Python 依赖(如有)
核心文件说明
main.py
主程序入口文件,负责:
- 创建应用程序实例
- 初始化主窗口 (
BrowserWindow) - 设置 WebEngine 配置
- 协调各个模块的运行
主要类:
BrowserWindow: 主浏览器窗口类,继承自QMainWindow
ai_sidebar.py
AI 侧边栏模块,实现 AI 对话功能:
- AI 对话界面
- 消息显示和管理
- 支持文本、图片、文件输入
- 模型切换和参数配置
user_operations.py
用户操作模块,负责用户相关的所有功能:
DBConnection: 数据库连接管理类LoginDialog: 登录对话框RegisterDialog: 注册对话框UserOperations: 用户操作工具类
功能包括:
- 用户登录和注册
- 激活码验证
- 积分管理
- 用户信息管理
cookie_manager.py
Cookie 管理器,负责:
- Cookie 的存储和读取
- Cookie 的增删改查
- Cookie 持久化到 JSON 文件
主要类:
CookieManager: Cookie 管理器类
settings_dialog.py
设置对话框模块,提供应用配置界面:
- AI 模型配置
- 界面样式设置
- 其他应用偏好设置
style_settings.py
样式设置模块,集中管理应用样式:
MainWindowStyles: 主窗口样式ButtonStyles: 按钮样式InputStyles: 输入框样式MenuStyles: 菜单样式
more_dialog.py
更多功能对话框,提供扩展功能入口。
homepage.html
自定义主页 HTML 文件,应用启动时的默认页面。
config.yaml
应用配置文件,包含:
database:
host: "<database host>"
database: "<database name>"
user: "<username>"
password: "<password>"
ai:
api_key: "<api key>"
base_url: "<base url>"
models:
text_parsing: "<text parsing model>"
image_parsing: "<image parsing model>"
daily_conversation: "<daily conversation model>"
mindra.sql
数据库初始化脚本,创建以下表:
users: 用户表activation: 激活码表
数据目录结构
程序运行时会自动创建 Mindra_data 目录:
Mindra_data/
└── cookie/
└── cookies.json # Cookie 存储文件
模块依赖关系
main.py
├── ai_sidebar.py
├── cookie_manager.py
├── more_dialog.py
├── settings_dialog.py
├── style_settings.py
└── user_operations.py
└── style_settings.py
扩展开发
如果您需要添加新功能,建议:
- 在相应模块中添加功能代码
- 如需新对话框,参考
settings_dialog.py或more_dialog.py - 样式修改集中在
style_settings.py - 新增依赖请在文档中说明