diff --git a/README.md b/README.md index 17357b7..1188037 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Flomo AI -一个 AI 文本优化工具,包含 Android 原版和 Rust Windows 桌面移植版。 +一个 AI 文本优化工具,支持 Android 原版和 Rust Windows 桌面版。 ## 项目结构 @@ -11,7 +11,6 @@ │ │ │ └── com/example/flomo_ai/ │ │ │ ├── MainActivity.kt # 主界面 │ │ │ ├── SecondActivity.kt # 设置页面 -│ │ │ ├── kwt.kt # JWT 生成工具 │ │ │ └── ui/theme/ # 主题管理 │ │ └── res/ # 布局、颜色、图标等资源 │ └── mumu-pytest/ # MuMu 模拟器自动化测试 @@ -26,10 +25,7 @@ │ │ └── llm_client.rs # LLM API 调用(OpenAI 兼容格式) │ ├── theme/ │ │ └── mod.rs # 明暗主题管理 - │ ├── pages/ - │ │ ├── main_page.rs # 主界面组件 - │ │ └── settings_page.rs # 设置页组件 - │ └── widgets/ # 可复用 UI 组件 + │ └── pages/ # 页面组件 ├── .cargo/config.toml # MinGW 工具链配置 └── Cargo.toml # 依赖声明 ``` @@ -37,7 +33,8 @@ ## 功能特性 ### 核心功能 -- **多模型配置**:支持添加、编辑、删除多个大模型配置,首页可快速切换 +- **多模型并发**:支持同时配置 3 个 LLM 模型,发送时并发调用所有启用的模型 +- **独立测试**:每个模型可单独测试连接状态 - **LLM API 调用**:兼容 OpenAI 格式的 API,支持自定义 Base URL、API Key、Model - **自定义请求头**:可添加额外的 HTTP Header - **提示词管理**:添加、删除、编辑系统提示词,主界面下拉选择 @@ -45,15 +42,18 @@ - **主题切换**:浅色模式 / 深色模式 / 跟随系统 - **配置持久化**:JSON 格式保存到用户配置目录 - **复制结果**:一键复制优化结果到剪贴板 -- **笔记保存**:支持 Flomo、Notion、Joplin 等笔记 API(API Key 可选) ### 界面布局 -- **顶部标题栏**:显示 "AI优化" + 模型选择下拉框 + 配置按钮 -- **快速操作区**:四个 emoji 快捷按钮 -- **提示词选择器**:下拉菜单选择系统提示词,显示提示词内容预览 -- **输入区域**:多行文本输入,自动增长(3-10行限制) -- **发送/停止**:发送按钮 + 生成中可停止 -- **结果展示区**:状态标签 + 可编辑结果文本 + 复制按钮 + 保存笔记按钮 +- **主界面**: + - 顶部标题栏 + 配置按钮 + - 提示词选择器 + 快速操作按钮 + - 输入区域 + 发送按钮 + - **三栏结果显示**:水平排列 3 个模型的结果卡片 +- **配置页面**: + - 3 个模型的独立配置(启用开关、名称、URL、Key、Model) + - 每个模型独立的测试按钮 + - 主题设置 + - 提示词管理 ## 构建说明 @@ -74,7 +74,9 @@ cd flomo-ai-desktop cargo build --release ``` -编译产物:`target/release/flomo-ai.exe`(~4.4MB,无控制台窗口) +或使用 `build.bat`(需先安装 MSYS2 + MinGW)。 + +编译产物:`target/release/flomo-ai.exe`(~4MB,无控制台窗口) ### 编译配置 - `.cargo/config.toml`:指定 MinGW 链接器和 `-mwindows` 参数 @@ -83,8 +85,8 @@ cargo build --release ### 依赖 | 依赖 | 用途 | |------|------| -| `egui` + `eframe` | GUI 框架(纯 Rust,无 C 依赖) | -| `reqwest` (blocking + rustls-tls) | HTTP 客户端(纯 Rust TLS) | +| `egui` + `eframe` (glow) | GUI 框架(纯 Rust,无 C 依赖) | +| `reqwest` (blocking + native-tls) | HTTP 客户端 | | `serde` + `serde_json` | 序列化 / 配置持久化 | | `dirs` | 获取用户配置目录路径 | | `arboard` | 剪贴板操作 | @@ -95,10 +97,30 @@ cargo build --release ```json { - "llm_config": { - "base_url": "https://api.openai.com/v1", - "api_key": "", - "model": "gpt-4o" + "llm_configs": { + "models": [ + { + "enabled": true, + "name": "模型1", + "base_url": "https://api.openai.com/v1", + "api_key": "", + "model": "gpt-4o" + }, + { + "enabled": false, + "name": "模型2", + "base_url": "", + "api_key": "", + "model": "" + }, + { + "enabled": false, + "name": "模型3", + "base_url": "", + "api_key": "", + "model": "" + } + ] }, "header_configs": [], "prompt_configs": [ @@ -116,4 +138,4 @@ cargo build --release ## Android 版本 -Android 版本使用 Gradle 构建,包含完整的 Kotlin 源代码和资源文件。详见 `flomo-ai/` 目录下的 `README.md`。 +Android 版本使用 Gradle 构建,包含完整的 Kotlin 源代码和资源文件。详见 `flomo-ai/` 目录下的 `README.md`。 \ No newline at end of file