docs: 更新README,添加多LLM并发功能说明
This commit is contained in:
64
README.md
64
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Flomo AI
|
# Flomo AI
|
||||||
|
|
||||||
一个 AI 文本优化工具,包含 Android 原版和 Rust Windows 桌面移植版。
|
一个 AI 文本优化工具,支持 Android 原版和 Rust Windows 桌面版。
|
||||||
|
|
||||||
## 项目结构
|
## 项目结构
|
||||||
|
|
||||||
@@ -11,7 +11,6 @@
|
|||||||
│ │ │ └── com/example/flomo_ai/
|
│ │ │ └── com/example/flomo_ai/
|
||||||
│ │ │ ├── MainActivity.kt # 主界面
|
│ │ │ ├── MainActivity.kt # 主界面
|
||||||
│ │ │ ├── SecondActivity.kt # 设置页面
|
│ │ │ ├── SecondActivity.kt # 设置页面
|
||||||
│ │ │ ├── kwt.kt # JWT 生成工具
|
|
||||||
│ │ │ └── ui/theme/ # 主题管理
|
│ │ │ └── ui/theme/ # 主题管理
|
||||||
│ │ └── res/ # 布局、颜色、图标等资源
|
│ │ └── res/ # 布局、颜色、图标等资源
|
||||||
│ └── mumu-pytest/ # MuMu 模拟器自动化测试
|
│ └── mumu-pytest/ # MuMu 模拟器自动化测试
|
||||||
@@ -26,10 +25,7 @@
|
|||||||
│ │ └── llm_client.rs # LLM API 调用(OpenAI 兼容格式)
|
│ │ └── llm_client.rs # LLM API 调用(OpenAI 兼容格式)
|
||||||
│ ├── theme/
|
│ ├── theme/
|
||||||
│ │ └── mod.rs # 明暗主题管理
|
│ │ └── mod.rs # 明暗主题管理
|
||||||
│ ├── pages/
|
│ └── pages/ # 页面组件
|
||||||
│ │ ├── main_page.rs # 主界面组件
|
|
||||||
│ │ └── settings_page.rs # 设置页组件
|
|
||||||
│ └── widgets/ # 可复用 UI 组件
|
|
||||||
├── .cargo/config.toml # MinGW 工具链配置
|
├── .cargo/config.toml # MinGW 工具链配置
|
||||||
└── Cargo.toml # 依赖声明
|
└── Cargo.toml # 依赖声明
|
||||||
```
|
```
|
||||||
@@ -37,7 +33,8 @@
|
|||||||
## 功能特性
|
## 功能特性
|
||||||
|
|
||||||
### 核心功能
|
### 核心功能
|
||||||
- **多模型配置**:支持添加、编辑、删除多个大模型配置,首页可快速切换
|
- **多模型并发**:支持同时配置 3 个 LLM 模型,发送时并发调用所有启用的模型
|
||||||
|
- **独立测试**:每个模型可单独测试连接状态
|
||||||
- **LLM API 调用**:兼容 OpenAI 格式的 API,支持自定义 Base URL、API Key、Model
|
- **LLM API 调用**:兼容 OpenAI 格式的 API,支持自定义 Base URL、API Key、Model
|
||||||
- **自定义请求头**:可添加额外的 HTTP Header
|
- **自定义请求头**:可添加额外的 HTTP Header
|
||||||
- **提示词管理**:添加、删除、编辑系统提示词,主界面下拉选择
|
- **提示词管理**:添加、删除、编辑系统提示词,主界面下拉选择
|
||||||
@@ -45,15 +42,18 @@
|
|||||||
- **主题切换**:浅色模式 / 深色模式 / 跟随系统
|
- **主题切换**:浅色模式 / 深色模式 / 跟随系统
|
||||||
- **配置持久化**:JSON 格式保存到用户配置目录
|
- **配置持久化**: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
|
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` 参数
|
- `.cargo/config.toml`:指定 MinGW 链接器和 `-mwindows` 参数
|
||||||
@@ -83,8 +85,8 @@ cargo build --release
|
|||||||
### 依赖
|
### 依赖
|
||||||
| 依赖 | 用途 |
|
| 依赖 | 用途 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| `egui` + `eframe` | GUI 框架(纯 Rust,无 C 依赖) |
|
| `egui` + `eframe` (glow) | GUI 框架(纯 Rust,无 C 依赖) |
|
||||||
| `reqwest` (blocking + rustls-tls) | HTTP 客户端(纯 Rust TLS) |
|
| `reqwest` (blocking + native-tls) | HTTP 客户端 |
|
||||||
| `serde` + `serde_json` | 序列化 / 配置持久化 |
|
| `serde` + `serde_json` | 序列化 / 配置持久化 |
|
||||||
| `dirs` | 获取用户配置目录路径 |
|
| `dirs` | 获取用户配置目录路径 |
|
||||||
| `arboard` | 剪贴板操作 |
|
| `arboard` | 剪贴板操作 |
|
||||||
@@ -95,10 +97,30 @@ cargo build --release
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"llm_config": {
|
"llm_configs": {
|
||||||
"base_url": "https://api.openai.com/v1",
|
"models": [
|
||||||
"api_key": "",
|
{
|
||||||
"model": "gpt-4o"
|
"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": [],
|
"header_configs": [],
|
||||||
"prompt_configs": [
|
"prompt_configs": [
|
||||||
|
|||||||
Reference in New Issue
Block a user