Skip to content

FlowTask — 专为 macOS 打造的原生任务管理与笔记应用。SwiftUI + SwiftData 构建,支持 Markdown 所见即所得编辑、JSON 可视化、桌面贴图、菜单栏快捷访问。本地存储,隐私优先,轻量高效。

License

Notifications You must be signed in to change notification settings

zxyyang/FlowTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlowTask Logo

FlowTask

🚀 优雅高效的 macOS 原生任务管理与笔记应用

功能特性安装技术架构截图预览开发指南许可证

Platform Swift SwiftUI License


📖 简介

FlowTask 是一款专为 macOS 设计的原生任务管理与笔记应用,采用 SwiftUI 和 SwiftData 构建,提供流畅的用户体验和强大的功能。无论是日常待办事项管理、Markdown 笔记编写,还是 JSON 数据处理,FlowTask 都能满足您的需求。

  • 拥有和Typora一样的所见即所得markdown功能
  • 一键记录等超便捷todo记录,子任务处理
  • 自定义提醒规则
  • 高度自定义UI、导航栏、桌面贴图,icon等
  • 超现代JSON处理,支持分屏

🎯 设计理念

  • 原生体验:100% 原生 macOS 应用,完美融入系统生态
  • 专注效率:简洁直观的界面设计,让您专注于任务本身
  • 数据安全:本地存储,数据完全由您掌控
  • 高度可定制:丰富的个性化设置,打造专属工作流

image image

✨ 功能特性

📋 任务管理

功能 描述
智能任务列表 支持任务创建、编辑、删除,自动按状态分组显示
子任务支持 将复杂任务拆分为可管理的子任务,追踪完成进度
时间管理 设置开始时间和截止时间,智能提醒逾期任务
重复任务 支持每日、每周、每月重复模式
今日视图 专注当天任务,提高工作效率
日历集成 内置中国节假日日历,支持自定义 ICS 订阅

📝 Markdown 笔记

功能 描述
WYSIWYG 编辑器 基于 Muya 引擎的所见即所得编辑体验
实时预览 编辑时即时渲染 Markdown 格式
图片支持 支持本地图片插入和管理
文件管理 自定义笔记存储目录,支持文件搜索和排序
多格式导出 支持导出为 Markdown、HTML、PDF 格式
大纲视图 快速导航文档结构

📊 数据统计

功能 描述
任务统计 完成率、待办数量、逾期任务一目了然
周趋势图 可视化展示过去 7 天的任务完成情况
效率分析 连续完成天数、最佳工作时段等洞察
子任务进度 追踪子任务完成比例

🔧 JSON 编辑器

功能 描述
多标签页 同时编辑多个 JSON 文件
三种视图模式 文本、树形、分屏视图自由切换
语法高亮 智能 JSON 语法着色
实时验证 即时检测 JSON 格式错误
格式化/压缩 一键美化或压缩 JSON
分屏对比 支持左右分屏对比编辑

🖥️ 系统集成

功能 描述
菜单栏图标 快速查看任务状态,支持自定义显示模式
悬浮球 桌面悬浮球快速访问
桌面贴图 将任务列表固定在桌面
系统通知 任务到期智能提醒
快捷键支持 全局快捷键提升操作效率

� 截图预览

image image image image image image image image image image

📷 截图即将添加...


�💻 系统要求

要求 最低版本
操作系统 macOS 13.0 (Ventura) 或更高版本
处理器 Apple Silicon (M1/M2/M3) 或 Intel 64-bit
内存 4GB RAM
存储空间 100MB 可用空间

📥 安装

方式一:下载预编译版本(推荐)

  1. 前往 Releases 页面
  2. 下载最新版本的 FlowTask.dmg
  3. 打开 DMG 文件,将 FlowTask 拖入 Applications 文件夹
  4. 首次运行时,右键点击应用选择"打开"以绕过 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

方式三:构建发布版本 (DMG)

# 安装依赖 (首次)
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 的响应式数据流

🛠️ 开发指南

环境准备

  1. Xcode 15.0+ - 从 Mac App Store 安装
  2. macOS 14.0+ - 开发环境要求
  3. 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'

代码规范


🤝 贡献指南

我们欢迎社区贡献!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 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 文件。


🙏 致谢

  • Muya - 优秀的 Markdown 编辑器引擎
  • SwiftUI - Apple 声明式 UI 框架
  • SwiftData - Apple 数据持久化框架

📬 联系方式

  • Issues: 请直接提交Issues 和您需要的功能

如果这个项目对您有帮助,请给一个 ⭐️ Star!

Made with ❤️ for macOS

About

FlowTask — 专为 macOS 打造的原生任务管理与笔记应用。SwiftUI + SwiftData 构建,支持 Markdown 所见即所得编辑、JSON 可视化、桌面贴图、菜单栏快捷访问。本地存储,隐私优先,轻量高效。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published