Files
flomo-ai/README.md

120 lines
4.3 KiB
Markdown
Raw 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.
# Flomo AI
一个 AI 文本优化工具,包含 Android 原版和 Rust Windows 桌面移植版。
## 项目结构
```
├── flomo-ai/ # Android 原始项目 (Kotlin + Jetpack Compose)
│ ├── app/src/main/
│ │ ├── java/ # Kotlin 源代码
│ │ │ └── com/example/flomo_ai/
│ │ │ ├── MainActivity.kt # 主界面
│ │ │ ├── SecondActivity.kt # 设置页面
│ │ │ ├── kwt.kt # JWT 生成工具
│ │ │ └── ui/theme/ # 主题管理
│ │ └── res/ # 布局、颜色、图标等资源
│ └── mumu-pytest/ # MuMu 模拟器自动化测试
└── flomo-ai-desktop/ # Rust Windows 桌面版 (egui + eframe)
├── src/
│ ├── main.rs # 入口eframe 启动,无控制台窗口
│ ├── app.rs # 应用状态管理页面路由、API 调用调度)
│ ├── config/
│ │ └── store.rs # 配置类型定义 + JSON 持久化
│ ├── api/
│ │ └── llm_client.rs # LLM API 调用OpenAI 兼容格式)
│ ├── theme/
│ │ └── mod.rs # 明暗主题管理
│ ├── pages/
│ │ ├── main_page.rs # 主界面组件
│ │ └── settings_page.rs # 设置页组件
│ └── widgets/ # 可复用 UI 组件
├── .cargo/config.toml # MinGW 工具链配置
└── Cargo.toml # 依赖声明
```
## 功能特性
### 核心功能
- **多模型配置**:支持添加、编辑、删除多个大模型配置,首页可快速切换
- **LLM API 调用**:兼容 OpenAI 格式的 API支持自定义 Base URL、API Key、Model
- **自定义请求头**:可添加额外的 HTTP Header
- **提示词管理**:添加、删除、编辑系统提示词,主界面下拉选择
- **快速操作**:错别字检查、总结、翻译、润色 四个快捷按钮
- **主题切换**:浅色模式 / 深色模式 / 跟随系统
- **配置持久化**JSON 格式保存到用户配置目录
- **复制结果**:一键复制优化结果到剪贴板
- **笔记保存**:支持 Flomo、Notion、Joplin 等笔记 APIAPI Key 可选)
### 界面布局
- **顶部标题栏**:显示 "AI优化" + 模型选择下拉框 + 配置按钮
- **快速操作区**:四个 emoji 快捷按钮
- **提示词选择器**:下拉菜单选择系统提示词,显示提示词内容预览
- **输入区域**多行文本输入自动增长3-10行限制
- **发送/停止**:发送按钮 + 生成中可停止
- **结果展示区**:状态标签 + 可编辑结果文本 + 复制按钮 + 保存笔记按钮
## 构建说明
### 环境要求
- **Rust 工具链**`stable-x86_64-pc-windows-gnu`
- **MinGW-w64**:通过 MSYS2 安装 (`pacman -S mingw-w64-x86_64-gcc`)
- **MSYS2**https://www.msys2.org/
### 安装 Rust GNU 工具链
```bash
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu
```
### 编译
```bash
cd flomo-ai-desktop
cargo build --release
```
编译产物:`target/release/flomo-ai.exe`~4.4MB,无控制台窗口)
### 编译配置
- `.cargo/config.toml`:指定 MinGW 链接器和 `-mwindows` 参数
- `Cargo.toml`release profile 启用 LTO、strip、opt-level=z 优化体积
### 依赖
| 依赖 | 用途 |
|------|------|
| `egui` + `eframe` | GUI 框架(纯 Rust无 C 依赖) |
| `reqwest` (blocking + rustls-tls) | HTTP 客户端(纯 Rust TLS |
| `serde` + `serde_json` | 序列化 / 配置持久化 |
| `dirs` | 获取用户配置目录路径 |
| `arboard` | 剪贴板操作 |
## 配置文件
配置保存在 `%APPDATA%\flomo-ai\settings.json`,格式如下:
```json
{
"llm_config": {
"base_url": "https://api.openai.com/v1",
"api_key": "",
"model": "gpt-4o"
},
"header_configs": [],
"prompt_configs": [
{
"id": "default-1",
"title": "翻译助手",
"content": "将输入的文本翻译成指定语言"
}
],
"theme_config": {
"mode": "FollowSystem"
}
}
```
## Android 版本
Android 版本使用 Gradle 构建,包含完整的 Kotlin 源代码和资源文件。详见 `flomo-ai/` 目录下的 `README.md`