专注高效的个人效率工具 · Flutter 跨平台 App
一款以番茄钟为核心,集日程、文件云盘、博客、AI 助手与多云端工具于一体的生产力 App。支持 Android、iOS、Web、macOS、Windows、Linux 等多平台,采用 MIT 开源协议,允许商业使用和自由修改。
📥 下载 APK · 📖 在线博客 · 🐛 问题反馈 · 💬 讨论 · 📄 许可证
FlowTime 集成了 8 个核心功能模块,为用户提供一体化的生产力解决方案。
| 模块 | 功能说明 | 亮点 |
|---|---|---|
| 📅 日程管理 | 日历、提醒、节假日、本地通知 | 支持农历、自定义提醒 |
| 🍅 番茄专注 | 自定义时长、白噪音、统计图表、MIUI 风格 UI | 深度专注追踪、数据可视化 |
| 🌤️ 每日一句 & 天气 | 一言 API、实时天气、定位服务 | 自动定位、多城市切换 |
| 🤖 AI 助手 | DeepSeek 深度对接、快捷指令、多轮对话 | 上下文记忆、快捷命令库 |
| 📝 博客系统 | 文章发布、分享链接 SSR 预览、评论、搜索 | SEO 友好、实时预览 |
| 📁 云端文件 | 上传、下载、分享、断点续传、Unicode 文件名安全处理 | 真实进度动画、秒传支持 |
| ☁️ 云端工具套件 | 6 项开源服务统一接入、一键测试通路 | 并发探测、延迟显示 |
| ⚙️ 多账户 & 数据隔离 | 登录门控、防套壳、完整性校验、HMAC-SHA256 签名 | 企业级安全 |
FlowTime 集成了 6 项开源服务,通过统一的 API 网关进行管理。用户可在「设置 → 云端工具 → 测试通路」中并发探测所有服务的可用性与延迟。
| 工具 | 用途 | 技术栈 | 路径 |
|---|---|---|---|
| Watermark | 图片 / 视频去水印 | FFmpeg | /api/cloud-tools/watermark/ |
| Netdisk | 网盘直链解析(百度云、阿里云等) | Python | /api/cloud-tools/netdisk/ |
| AList | 多网盘聚合挂载 | Go | /api/cloud-tools/alist/ |
| SpeedTest | 网络测速 | Speedtest CLI | /api/cloud-tools/speedtest/ |
| Pandoc | 文档格式转换(Markdown、PDF、Word 等) | Pandoc | /api/cloud-tools/pandoc/ |
| Netdata | 服务器实时监控 | Netdata | /api/cloud-tools/netdata/ |
┌─────────────────────────────────────────────────────────────┐
│ 客户端层 (Flutter App) │
│ ├─ Android / iOS / Web / macOS / Windows / Linux │
│ ├─ Provider (状态管理) │
│ ├─ Hive (本地存储) │
│ └─ shared_preferences (配置存储) │
└────────────────┬────────────────────────────────────────────┘
│ HTTPS + 签名请求
│ (X-Timestamp / X-Nonce / X-Signature)
┌────────────────▼────────────────────────────────────────────┐
│ 网关层 (Nginx) │
│ ├─ TLS 1.3 加密 │
│ ├─ /api/* → productivity-api (8900) │
│ ├─ /blog/<slug> → Flask SSR Preview │
│ ├─ /api/cloud-tools/ → Docker 云端工具反代 │
│ └─ /admin · /blog/ → SPA 静态资源 │
└────────────────┬────────────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────────────┐
│ 应用层 (Python Backend) │
│ ├─ productivity-api (Gunicorn × 4) │
│ ├─ Flask + SQLite │
│ ├─ HMAC-SHA256 安全签名验证 │
│ ├─ 增量包生成 (bsdiff) │
│ └─ SSR 博客预览 │
└────────────────┬────────────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────────────┐
│ 云端工具层 (Docker Services) │
│ ├─ Watermark (FFmpeg) │
│ ├─ Netdisk (Python) │
│ ├─ AList (Go) │
│ ├─ SpeedTest · Pandoc · Netdata │
│ ├─ Redis (缓存) │
│ ├─ MySQL (数据库) │
│ └─ 自动重启 & 日志聚合 │
└─────────────────────────────────────────────────────────────┘
| 层级 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 前端 | Flutter | 3.9+ | 跨平台 UI 框架 |
| 前端 | Dart | 3.0+ | Flutter 编程语言 |
| 状态管理 | Provider | 6.0+ | 响应式状态管理 |
| 本地存储 | Hive | 2.0+ | 高性能 NoSQL 数据库 |
| 后端 | Flask | 2.3+ | 轻量级 Web 框架 |
| 后端 | Gunicorn | 20.0+ | WSGI HTTP 服务器 |
| 数据库 | SQLite | 3.0+ | 轻量级关系数据库 |
| 缓存 | Redis | 6.0+ | 高性能缓存存储 |
| 容器 | Docker | 20.0+ | 容器化部署 |
| 反向代理 | Nginx | 1.20+ | 高性能 Web 服务器 |
| 云端工具 | FFmpeg / Go / Python | 多版本 | 多种开源工具 |
- Flutter SDK 3.9.0 或更高版本
- Dart SDK 3.0.0 或更高版本
- Android SDK (仅 Android 开发)
- Xcode 14.0+ (仅 iOS 开发)
- Git 2.0+
# 1. 克隆项目
git clone https://github.com/FelixZoe/flowtime.git
cd flowtime
# 2. 获取依赖
flutter pub get
# 3. 运行开发版本
flutter run
# 4. 构建 APK (Android)
flutter build apk --release
# 5. 构建 IPA (iOS)
flutter build ios --release详细的部署文档请参考 DEPLOYMENT.md。
# 1. 进入部署目录
cd server_deploy
# 2. 运行一键部署脚本
chmod +x deploy.sh
sudo ./deploy.sh
# 3. 按照提示输入配置信息
# 脚本会自动完成所有配置和启动# 查看服务状态
docker-compose ps
# 查看实时日志
docker-compose logs -f
# 验证 API 健康状态
curl https://YOUR_DOMAIN/api/healthflowtime/
├── lib/ # Flutter 应用源代码
│ ├── main.dart # 应用入口
│ ├── models/ # 数据模型
│ │ ├── user_model.dart # 用户模型
│ │ ├── task_model.dart # 任务模型
│ │ └── ...
│ ├── services/ # 业务服务层
│ │ ├── api_service.dart # API 调用
│ │ ├── auth_service.dart # 认证服务
│ │ ├── storage_service.dart # 本地存储
│ │ └── ...
│ ├── providers/ # 状态管理
│ │ ├── user_provider.dart # 用户状态
│ │ ├── task_provider.dart # 任务状态
│ │ └── ...
│ ├── pages/ # 页面组件
│ │ ├── home_page.dart # 主页
│ │ ├── task_page.dart # 任务页
│ │ └── ...
│ ├── widgets/ # 可复用组件
│ │ ├── task_card.dart # 任务卡片
│ │ ├── timer_widget.dart # 计时器
│ │ └── ...
│ ├── utils/ # 工具函数
│ │ ├── constants.dart # 常量定义
│ │ ├── validators.dart # 验证器
│ │ └── ...
│ └── config/ # 配置文件
│ ├── theme.dart # 主题配置
│ └── routes.dart # 路由配置
│
├── server_deploy/ # 服务器部署文件
│ ├── deploy.sh # 一键部署脚本
│ ├── docker-compose.yml # Docker 编排
│ ├── nginx.conf # Nginx 配置
│ ├── config.example.env # 配置模板
│ ├── snapshots/ # 快照工具
│ │ ├── server.py # Python 服务器
│ │ ├── blog_adapter.py # 博客适配器
│ │ └── ...
│ └── patches/ # 补丁文件
│
├── android/ # Android 原生代码
│ ├── app/ # App 模块
│ ├── gradle/ # Gradle 配置
│ └── build.gradle # 构建配置
│
├── ios/ # iOS 原生代码
│ ├── Runner/ # App 模块
│ └── Podfile # CocoaPods 配置
│
├── web/ # Web 版本
│ ├── index.html # HTML 入口
│ └── manifest.json # Web 清单
│
├── docs/ # 文档
│ ├── API.md # API 文档
│ ├── ARCHITECTURE.md # 架构文档
│ └── ...
│
├── pubspec.yaml # Flutter 依赖配置
├── pubspec.lock # 依赖锁定文件
├── analysis_options.yaml # Dart 分析配置
├── .gitignore # Git 忽略规则
├── LICENSE # MIT 开源协议
├── README.md # 项目说明
├── DEPLOYMENT.md # 部署指南
├── CONTRIBUTING.md # 贡献指南
├── CODE_OF_CONDUCT.md # 行为准则
├── SECURITY.md # 安全政策
└── CHANGELOG.md # 版本日志
FlowTime 采用分层模块化架构,确保代码的可维护性和可扩展性。
前端模块划分:
- Models — 数据模型和业务对象
- Services — API 调用、认证、存储等业务逻辑
- Providers — 使用 Provider 进行状态管理
- Pages — 页面级组件
- Widgets — 可复用的 UI 组件
- Utils — 工具函数和常量
后端模块划分:
- server.py — 核心 API 服务
- blog_adapter.py — 博客 SSR 预览
- auth_module.py — 认证模块
- file_module.py — 文件管理模块
- utils/ — 工具函数库
FlowTime 采用多层安全防护机制,确保用户数据的安全性和隐私性。
所有 API 请求都需要经过签名验证,防止请求被篡改:
X-Timestamp: 1704067200000
X-Nonce: abc123def456
X-Signature: HMAC-SHA256(timestamp + nonce + body, secret_key)
- 传输层:HTTPS + TLS 1.3
- 存储层:敏感数据加密存储
- 认证:JWT Token + Refresh Token
- 防套壳:验证应用签名和包名
- 完整性校验:HMAC-SHA256 签名验证
- 多账户隔离:用户数据完全隔离
- 速率限制:防止暴力攻击
- 输入验证:防止 SQL 注入和 XSS 攻击
我们欢迎所有形式的贡献!详细信息请参考 CONTRIBUTING.md。
- Fork 项目 — 在 GitHub 上 Fork 本仓库
- 创建分支 —
git checkout -b feature/your-feature - 提交更改 —
git commit -m "feat: 你的功能描述" - 推送分支 —
git push origin feature/your-feature - 提交 PR — 在 GitHub 上提交 Pull Request
- 遵循 Dart 风格指南
- 使用
flutter analyze检查代码质量 - 添加适当的注释和文档
- 编写单元测试
FlowTime 采用 MIT 开源协议。详细信息请参考 LICENSE 文件。
您可以自由地:
- ✓ 使用本软件进行任何目的(包括商业用途)
- ✓ 复制、修改和分发本软件
- ✓ 在您的项目中集成本软件
- ✓ 创建衍生作品
您需要:
- • 在复制或修改后的代码中保留本协议和版权声明
- • 在分发时附带本协议
您不需要:
- ✗ 开源您的修改(可以闭源)
- ✗ 获得作者的许可
- ✗ 支付任何费用
- 问题反馈:GitHub Issues
- 讨论交流:GitHub Discussions
- 安全问题:请参考 SECURITY.md
感谢所有为 FlowTime 做出贡献的开发者和用户!
最后更新:2026 年 5 月 3 日 · 版本 2.10.6