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    # 设置页面
│   │   │       └── 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/         # 页面组件
    ├── .cargo/config.toml # MinGW 工具链配置
    └── Cargo.toml         # 依赖声明

功能特性

核心功能

  • 多模型并发:支持同时配置 3 个 LLM 模型,发送时并发调用所有启用的模型
  • 独立测试:每个模型可单独测试连接状态
  • LLM API 调用:兼容 OpenAI 格式的 API支持自定义 Base URL、API Key、Model
  • 自定义请求头:可添加额外的 HTTP Header
  • 提示词管理:添加、删除、编辑系统提示词,主界面下拉选择
  • 快速操作:错别字检查、总结、翻译、润色 四个快捷按钮
  • 主题切换:浅色模式 / 深色模式 / 跟随系统
  • 配置持久化JSON 格式保存到用户配置目录
  • 复制结果:一键复制优化结果到剪贴板

界面布局

  • 主界面
    • 顶部标题栏 + 配置按钮
    • 提示词选择器 + 快速操作按钮
    • 输入区域 + 发送按钮
    • 三栏结果显示:水平排列 3 个模型的结果卡片
  • 配置页面
    • 3 个模型的独立配置启用开关、名称、URL、Key、Model
    • 每个模型独立的测试按钮
    • 主题设置
    • 提示词管理

构建说明

环境要求

  • Rust 工具链stable-x86_64-pc-windows-gnu
  • MinGW-w64:通过 MSYS2 安装 (pacman -S mingw-w64-x86_64-gcc)
  • MSYS2https://www.msys2.org/

安装 Rust GNU 工具链

rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu

编译

cd flomo-ai-desktop
cargo build --release

或使用 build.bat(需先安装 MSYS2 + MinGW

编译产物:target/release/flomo-ai.exe~4MB无控制台窗口

编译配置

  • .cargo/config.toml:指定 MinGW 链接器和 -mwindows 参数
  • Cargo.tomlrelease profile 启用 LTO、strip、opt-level=z 优化体积

依赖

依赖 用途
egui + eframe (glow) GUI 框架(纯 Rust无 C 依赖)
reqwest (blocking + native-tls) HTTP 客户端
serde + serde_json 序列化 / 配置持久化
dirs 获取用户配置目录路径
arboard 剪贴板操作

配置文件

配置保存在 %APPDATA%\flomo-ai\settings.json,格式如下:

{
  "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": [
    {
      "id": "default-1",
      "title": "翻译助手",
      "content": "将输入的文本翻译成指定语言"
    }
  ],
  "theme_config": {
    "mode": "FollowSystem"
  }
}

Android 版本

Android 版本使用 Gradle 构建,包含完整的 Kotlin 源代码和资源文件。详见 flomo-ai/ 目录下的 README.md

Description
No description provided
Readme 37 MiB
Languages
Kotlin 36.4%
Rust 31.7%
DM 16.2%
Python 12.8%
Batchfile 2.6%
Other 0.3%