From 8190b48dbf58379676cb481cf00335bf8b9da58d Mon Sep 17 00:00:00 2001 From: xiaji Date: Sat, 4 Apr 2026 17:41:59 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=20?= =?UTF-8?q?README=EF=BC=8C=E8=AF=A6=E7=BB=86=E6=8F=8F=E8=BF=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=93=E6=9E=84=E3=80=81=E5=8A=9F=E8=83=BD=E3=80=81?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..836bf3e --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# 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 格式保存到用户配置目录 +- **复制结果**:一键复制优化结果到剪贴板 + +### 界面布局 +- **顶部标题栏**:显示 "AI优化" + 配置按钮 +- **快速操作区**:四个 emoji 快捷按钮 +- **提示词选择器**:下拉菜单选择系统提示词,显示提示词内容预览 +- **输入区域**:多行文本输入,字符计数显示 +- **发送/停止**:发送按钮 + 生成中可停止 +- **结果展示区**:状态标签 + 结果文本 + 复制按钮 + +## 构建说明 + +### 环境要求 +- **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`。