🚀 优雅高效的 macOS 原生任务管理与笔记应用
功能特性 • 安装 • 技术架构 • 截图预览 • 开发指南 • 许可证
FlowTask 是一款专为 macOS 设计的原生任务管理与笔记应用,采用 SwiftUI 和 SwiftData 构建,提供流畅的用户体验和强大的功能。无论是日常待办事项管理、Markdown 笔记编写,还是 JSON 数据处理,FlowTask 都能满足您的需求。
- 拥有和Typora一样的所见即所得markdown功能
- 一键记录等超便捷todo记录,子任务处理
- 自定义提醒规则
- 高度自定义UI、导航栏、桌面贴图,icon等
- 超现代JSON处理,支持分屏
- 原生体验:100% 原生 macOS 应用,完美融入系统生态
- 专注效率:简洁直观的界面设计,让您专注于任务本身
- 数据安全:本地存储,数据完全由您掌控
- 高度可定制:丰富的个性化设置,打造专属工作流
| 功能 | 描述 |
|---|---|
| 智能任务列表 | 支持任务创建、编辑、删除,自动按状态分组显示 |
| 子任务支持 | 将复杂任务拆分为可管理的子任务,追踪完成进度 |
| 时间管理 | 设置开始时间和截止时间,智能提醒逾期任务 |
| 重复任务 | 支持每日、每周、每月重复模式 |
| 今日视图 | 专注当天任务,提高工作效率 |
| 日历集成 | 内置中国节假日日历,支持自定义 ICS 订阅 |
| 功能 | 描述 |
|---|---|
| WYSIWYG 编辑器 | 基于 Muya 引擎的所见即所得编辑体验 |
| 实时预览 | 编辑时即时渲染 Markdown 格式 |
| 图片支持 | 支持本地图片插入和管理 |
| 文件管理 | 自定义笔记存储目录,支持文件搜索和排序 |
| 多格式导出 | 支持导出为 Markdown、HTML、PDF 格式 |
| 大纲视图 | 快速导航文档结构 |
| 功能 | 描述 |
|---|---|
| 任务统计 | 完成率、待办数量、逾期任务一目了然 |
| 周趋势图 | 可视化展示过去 7 天的任务完成情况 |
| 效率分析 | 连续完成天数、最佳工作时段等洞察 |
| 子任务进度 | 追踪子任务完成比例 |
| 功能 | 描述 |
|---|---|
| 多标签页 | 同时编辑多个 JSON 文件 |
| 三种视图模式 | 文本、树形、分屏视图自由切换 |
| 语法高亮 | 智能 JSON 语法着色 |
| 实时验证 | 即时检测 JSON 格式错误 |
| 格式化/压缩 | 一键美化或压缩 JSON |
| 分屏对比 | 支持左右分屏对比编辑 |
| 功能 | 描述 |
|---|---|
| 菜单栏图标 | 快速查看任务状态,支持自定义显示模式 |
| 悬浮球 | 桌面悬浮球快速访问 |
| 桌面贴图 | 将任务列表固定在桌面 |
| 系统通知 | 任务到期智能提醒 |
| 快捷键支持 | 全局快捷键提升操作效率 |
📷 截图即将添加...
| 要求 | 最低版本 |
|---|---|
| 操作系统 | macOS 13.0 (Ventura) 或更高版本 |
| 处理器 | Apple Silicon (M1/M2/M3) 或 Intel 64-bit |
| 内存 | 4GB RAM |
| 存储空间 | 100MB 可用空间 |
- 前往 Releases 页面
- 下载最新版本的
FlowTask.dmg - 打开 DMG 文件,将 FlowTask 拖入 Applications 文件夹
- 首次运行时,右键点击应用选择"打开"以绕过 Gatekeeper
# 克隆仓库
git clone https://github.com/YOUR_USERNAME/FlowTask.git
cd FlowTask
# 使用 Xcode 打开项目
open FlowTask.xcodeproj
# 或使用命令行构建
xcodebuild -project FlowTask.xcodeproj -scheme FlowTask -configuration Release build# 安装依赖 (首次)
brew install create-dmg
# 运行构建脚本
./scripts/build-release.sh构建完成后:
- 应用位于
build/FlowTask.app - DMG 安装包位于
release/FlowTask.dmg
┌─────────────────────────────────────────────────────────────┐
│ FlowTask │
├─────────────────────────────────────────────────────────────┤
│ UI Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ SwiftUI │ │ AppKit │ │ WKWebView │ │
│ │ Views │ │ Integration│ │ (Muya) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Business Logic │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ ViewModels │ │ Services │ │ Managers │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ SwiftData │ │ Repositories│ │ FileManager │ │
│ │ (SQLite) │ │ │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
FlowTask/
├── FlowTask/ # 应用资源
│ ├── Assets.xcassets/ # 图标和颜色资源
│ └── FlowTask.entitlements # 应用权限配置
├── macOS/ # macOS 平台代码
│ ├── FlowTaskMacApp.swift # 应用入口
│ ├── Resources/ # 资源文件
│ │ └── Muya/ # Markdown 编辑器引擎
│ ├── ViewModels/ # 视图模型
│ └── Views/ # 视图层
│ ├── Notes/ # 笔记模块
│ ├── TaskList/ # 任务列表模块
│ ├── Statistics/ # 统计模块
│ ├── Settings/ # 设置模块
│ └── ...
├── Shared/ # 共享代码
│ ├── Data/ # 数据层
│ │ ├── LocalStorage/ # 本地存储
│ │ ├── Repositories/ # 数据仓库
│ │ └── Services/ # 业务服务
│ ├── Domain/ # 领域层
│ │ ├── Entities/ # 实体定义
│ │ ├── Errors/ # 错误类型
│ │ └── Repositories/ # 仓库协议
│ └── Utilities/ # 工具类
│ ├── DesignSystem/ # 设计系统
│ ├── Extensions/ # 扩展方法
│ └── Helpers/ # 辅助工具
└── FlowTaskTests/ # 单元测试
| 技术 | 用途 |
|---|---|
| SwiftUI | 声明式 UI 框架,构建现代化界面 |
| SwiftData | Apple 新一代数据持久化框架 |
| Combine | 响应式编程,处理异步事件流 |
| WKWebView | 集成 Muya Markdown 编辑器 |
| AppKit | 原生 macOS 功能集成 |
- MVVM 架构:清晰的视图与业务逻辑分离
- Repository 模式:统一的数据访问接口
- 依赖注入:提高代码可测试性
- 观察者模式:基于 Combine 的响应式数据流
- Xcode 15.0+ - 从 Mac App Store 安装
- macOS 14.0+ - 开发环境要求
- Git - 版本控制
# 1. 克隆项目
git clone https://github.com/YOUR_USERNAME/FlowTask.git
cd FlowTask
# 2. 打开 Xcode 项目
open FlowTask.xcodeproj
# 3. 选择目标设备 (My Mac)
# 4. 点击 Run (⌘R) 或 Build (⌘B)# 使用 Xcode
# Product → Test (⌘U)
# 或使用命令行
xcodebuild test -project FlowTask.xcodeproj -scheme FlowTask -destination 'platform=macOS'- 遵循 Swift API Design Guidelines
- 使用 SwiftLint 进行代码检查
- 提交前确保所有测试通过
我们欢迎社区贡献!请遵循以下步骤:
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- 🐛 Bug 修复
- ✨ 新功能
- 📝 文档改进
- 🌐 国际化翻译
- 🎨 UI/UX 优化
- 云同步支持 (iCloud)
- 快捷指令集成
- 更多主题选项
- 任务标签系统
- iOS/iPadOS 版本
- 团队协作功能
- 第三方服务集成
- 插件系统
Q: 应用无法打开,提示"无法验证开发者"?
A: 这是 macOS Gatekeeper 的安全机制。请右键点击应用,选择"打开",然后在弹出的对话框中再次点击"打开"。
Q: 笔记文件存储在哪里?
A: 笔记文件存储在您选择的自定义目录中。首次使用时,应用会提示您选择存储位置。您可以在设置中随时更改。
Q: 如何备份我的数据?
A: 任务数据存储在应用沙盒中,会随 Time Machine 自动备份。笔记文件存储在您指定的目录,建议定期备份该目录。
Q: 支持哪些 Markdown 语法?
A: FlowTask 支持 GitHub Flavored Markdown (GFM),包括表格、任务列表、代码块、数学公式等。
本项目采用 Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) 许可证。
- ✅ 分享 — 在任何媒介以任何形式复制、发行本作品
- ✅ 演绎 — 修改、转换或以本作品为基础进行创作
- ✅ 个人使用 — 用于个人学习、研究和非商业目的
- ✅ 企业内部使用 — 企业可在内部使用本软件(非商业销售)
- ❌ 商业用途 — 不得将本软件用于商业目的或销售
- ❌ 去除署名 — 必须保留原作者署名
- 📌 署名 — 您必须给出适当的署名,提供指向本许可证的链接,同时标明是否作出了修改
- 📌 非商业性使用 — 您不得将本作品用于商业目的
详细信息请参阅 LICENSE 文件。
- Issues: 请直接提交Issues 和您需要的功能
如果这个项目对您有帮助,请给一个 ⭐️ Star!
Made with ❤️ for macOS