返回作品列表

网友作品 #000245 · 提交于 2026/10/10

MYN任务管理系统:手机电脑双端云端同步

★★★★★程序员水平AI 编程工具国内其他模型pythonAndiodApp

作品作者

李伟坚-Excel催化剂&EasyShu作者程序员水平微信号liweijian08可加好友交流
开发工具
AI 编程工具
AI 模型
国内其他模型
使用 Skill
pythonAndiodApp
提交你的作品

作品简介

MYN 任务管理系统把《掌控你的工作!》中的 MYN(Master Your Now)时间管理方法论完整落成软件,由三部分组成:Android 手机 APP(Kotlin + Jetpack Compose)、Windows/macOS/Linux 桌面应用(Python + NiceGUI)以及腾讯云 CloudBase 云函数 + NoSQL 后端。

手机端与桌面端共享同一个云端数据库,任务数据实时互通;两端都直连自己部署的 CloudBase 环境,换手机、多设备只要填同一份接口地址和令牌即可,任务数据不经过任何第三方服务,完全自持。

核心亮点

  • 方法论即软件:所有任务进一个列表,靠四大分区驱动轻重缓急——目前紧急/目前机会/推迟回顾/视线外,分区规则两端同一套纯函数并带完整单元测试
  • FRESH 排序:「目前机会」分区中最新创建的任务排最前,最紧急的事往往就是刚记录的那件事
  • 战略性推迟:暂时做不了的任务推迟到下周一/两周/三周/四周后,移出视线减少心理负担,到期自动回归「推迟回顾」,周一统一处理
  • 双维度评估:需时三档(30/90/90+ 分钟)+ 内在重要性 II(0~3),区分“工作紧急”与“人生重要”,工作量统计一眼看清未来一周是否超载
  • AI 结构化录入:口述一段话,云端大模型拆解成标题、优先级、需时、日期齐全的任务,自动复用你已有的项目与标签习惯,一段话含多件事自动拆成多条候选
  • 乐观更新:完成/新建/修改/推迟立即本地生效、无需等待云端往返,云端失败自动回滚;手机端 Room 离线缓存,桌面端每 5 分钟自动同步
  • 提醒体系:手机端任务写入 Android 系统日历(APP 被杀也能提醒)+ 闹钟级循环响铃、支持贪睡;桌面端到点提示音 + 置顶对话框
  • 番茄钟与子任务:25/40/60 分钟专注计时落账进报表;子任务链顺序锁逐个推进,全部完成父任务自动完结;重复任务(每天/每周/每月)完成时云端原子生成下一次

技术与工具

  • 手机端:Kotlin 2.0 + Jetpack Compose + Room,网络层用原生 HttpURLConnection 零第三方依赖,54 个单元/界面测试
  • 桌面端:Python 3.12 + NiceGUI Native,core 纯业务层不依赖任何 UI 框架可独立测试,pytest + ruff + mypy,PyInstaller 一键三平台打包
  • 云端:腾讯云 CloudBase 云函数(Node.js 18)+ NoSQL,令牌鉴权,AI 解析走 CloudBase 托管模型(DeepSeek 等)免外部 Key
  • 协议:两端对称实现同一套 POST 单端点 JSON 协议,编解码独立可测
  • 开发方式:程序员水平,借助 AI 编程类工具与国内低价 Flash 模型完成

适用场景

  • 想实践 MYN 时间管理方法论的人:开箱即用的完整实现,手机 + 电脑双端联动
  • 想要数据自持的人:任务数据存在自己的 CloudBase 环境里,不经过任何第三方
  • 想学习相关技术的人:涵盖 Kotlin + Compose 现代安卓开发、Python + NiceGUI 桌面开发、CloudBase Serverless 后端、多端共享协议与离线优先架构等实践样本
原始提交内容(点开查看,可复制全文去问 AI)

MYN 任务管理系统

一套把 MYN(Master Your Now)时间管理方法论完整落地的跨平台任务管理系统: Android 手机端 + 桌面端共享同一个云端数据库,任务数据实时互通,数据完全自持。


项目简介

本项目是迈克尔·林恩伯格(Michael Linenberger)《掌控你的工作!》中 MYN 任务管理法的软件实现,由三部分组成:

组成 位置 形态 技术栈
手机端 myn-app/ Android APP Kotlin + Jetpack Compose + Room
桌面端 myn-desktop/ Windows / macOS / Linux 桌面应用 Python 3.12 + NiceGUI Native
云端 myn-app/cloudbase-functions/ 腾讯云 CloudBase 云函数 + NoSQL Node.js 18 + @cloudbase/node-sdk

两个客户端都直连你自己部署的 CloudBase 环境:换手机、多设备只要填同一份接口地址和令牌即可,任务数据不经过任何第三方服务,完全自持。


MYN 方法论在本项目中的落地

如果你不了解 MYN,这一节就是入门导读;如果你了解 MYN,可以对照看软件如何还原方法论。

1. 单一扁平任务列表 + 分区(不做项目/清单层级)

MYN 的核心主张:所有任务进一个列表,靠「分区」驱动轻重缓急,而不是靠清单归类。新建任务时零选择、直接输主题,降低记录摩擦。

分区 判定规则(优先级驱动) 含义
目前紧急 高优先级 且 开始日期已到 今天必须完成
目前机会 中优先级(或未设置) 且 已到 7 天内计划做
推迟回顾 低优先级 且 已到 周一统一处理
视线外 未到期,或低优先级未排期 战略性推迟的任务

2. FRESH 排序

「目前机会」分区中,最新创建的任务排最前(Fresh = 新鲜优先)。这是 MYN 与其他 GTD 类工具最大的差异之一——最紧急的事往往是刚记录的那件事。

3. 战略性推迟(Strategic Defer)

把暂时做不了的任务推迟到下周一 / 两周 / 三周 / 四周后,移出当前视线,减少心理负担;到期自动回归「推迟回顾」,周一处理四选一:纳入 / 再推迟 / 立即执行 / 删除。

4. 需时与内在重要性(II)双维度评估

  • 需时(工作量):三档必选——低 30 分钟 · 中 90 分钟 · 高 >90 分钟
  • 内在重要性 II:0 一般 ~ 3 很重要,区分「工作紧急」与「人生重要」(MYN 的核心洞察:二者不是一回事)

「所有任务」视图汇总:本周任务数、今后 7 天任务数、按需时三档合计的预计工作量——一眼看清未来一周是否超载。

5. 纪律提醒

紧急 5 条 / 机会 20 条的分区纪律超限时,界面给出提醒,防止分区退化成「什么都在紧急里」。


核心功能

两端共有

  • 分区视图:目前紧急 / 目前机会 / 推迟回顾 / 视线外,两端规则完全一致(同一套纯函数规则,分别有完整单元测试)
  • 所有任务 / 周回顾:全量清单 + 工作量评估统计卡;本周完成任务清单与投入统计
  • 任务操作:完成 / 战略性推迟(下周一、两周/三周/四周后)/ 优先级与开始日期解耦设置 / 改开始与截止日期 / 需时与重要性 / 备注 / 项目与标签 / 重复规则(每天·每周·每月,完成时云端原子生成下一次) / 恢复待办
  • 子任务链:详情内拆解子任务(完成 / 当前 / 序号等待),顺序锁逐个推进,全部完成后父任务自动完结;卡片显示「子任务 done/total」进度
  • AI 结构化录入:口述一段话(或截图),云端大模型拆解成任务(标题 / 优先级 / 需时 / 重要性 / 开始日期 / 详细信息 / 自动复用你的项目与标签习惯),回填表单核对后保存;一段话含多件事自动拆成多条候选勾选创建
  • 逐一处理模式:分区任务全屏逐个处理,完成后自动进入下一项,重要性与需时内联单选(选中即存)
  • 到点提醒:定时任务开始前 5 分钟 / 全天任务当天 8:55 响铃提醒,支持贪睡(5~60 分钟多档)
  • 番茄钟专注:从任务启动 25/40/60 分钟专注,暂停/继续秒表式控制;专注记录落账进报表(今日/本周/累计、近 7 天柱状图、可跳回原任务)
  • 报表:任务概况卡(进行中/已完成/视线外,含优先级/重要性/需时分布)+ 专注统计
  • 搜索:标题与备注即时匹配
  • 乐观更新:所有任务操作(完成 / 新建 / 修改 / 推迟 / 删除)立即生效于本地、无需等待云端往返——手机端先写 Room 缓存(界面经 Flow 即时刷新,新建用临时 id,云端返回真 id 后替换),桌面端直接改内存状态;云端推送失败自动回滚还原并提示
  • 浅色 / 深色主题

手机端独有

  • 系统日历提醒:任务可写入 Android 系统日历(独立本地日历「MYN 任务」),由系统触发提醒——APP 被杀、后台被清理都不影响;任务修改/完成/删除时日历事件自动同步
  • 闹钟级应用内提醒:AlarmManager 精确闹钟 + FLAG_INSISTENT 循环响铃,重启/升级后自动重排
  • 系统分享接收:在任意 App 选中文字「分享」即可快速建任务
  • 语音口述识别(配合输入法语音 AI 识别按钮)

桌面端独有

  • 列表悬停快捷操作:优先级圆钮快切(高红/中蓝/低灰)、设为今天、推迟到下周一、完成、详情、删除
  • 硬截止徽章:有截止日期的任务标题旁常驻红旗「Due」
  • 每 5 分钟自动同步:推送期间自动避让,避免与乐观更新互相干扰

技术架构

总体架构

        
  手机端 myn-app                桌面端 myn-desktop  
  Kotlin + Compose             Python + NiceGUI   
  Room 仅离线缓存               JSON 本机缓存       
        
             HTTPS POST(同一协议)        
                                         
    
      CloudBase 云函数 myn-api(Node.js 18)  
      事件函数 + HTTP 访问服务网关(集成响应)   
       令牌鉴权(token in body)             
       CRUD / 全量同步 / 重复任务原子生成     
       AI 结构化解析(文本 + 视觉双通道)     
    
                       
          CloudBase NoSQL 集合 myn_tasks
          (唯一事实来源,字段全部结构化存储)

通信协议(两端一致)

POST 单端点 JSON 协议,自定编解码、两端对称实现、协议层单独测试:

请求:{token, action:"sync" | "createTask" | "updateTask" | "completeTask" | "deleteTask" | "aiParse" | "aiParseImage", ...}
响应:{code:0, data:{...}}   失败统一 {code:非0, message}(401=令牌无效)

手机端技术栈(myn-app)

项 选型 说明
语言/UI Kotlin 2.0 + Jetpack Compose(BOM 2024.06)+ Material3 单 Activity 声明式 UI
网络层 HttpURLConnection 零第三方依赖 不引 OkHttp/Retrofit,可审计、包体小
本地存储 Room 2.6.1(KSP) 仅做离线缓存,CloudBase 是唯一事实来源
提醒 AlarmManager + USE_EXACT_ALARM 精确闹钟,BootReceiver 开机重排
分层 myn/ 纯域逻辑 · data/ 数据层 · ui/ 界面层 规则全部纯函数,20 个单元测试守护
测试 JUnit4 + Robolectric + Compose UI Test 54 个单元/界面测试全绿
构建 AGP 8.5 / Gradle Version Catalog / build.py 一键打包 版本号集中单一来源管理

桌面端技术栈(myn-desktop)

项 选型 说明
语言 Python 3.12(uv 管理锁定依赖) uv sync --locked 一键还原环境
UI NiceGUI 3.16 Native(Quasar 组件) 同一份代码可跑桌面窗口/浏览器双模式
业务分层 core/ 纯业务层(不 import NiceGUI)+ ui/ 界面层 core 可独立测试
网络 httpx + asyncio.to_thread 回调统一 try/except + 日志 + 通知,绝不静默失败
持久化 本机 JSON(设置 + 任务缓存 + 番茄钟状态) 进程重启可恢复,令牌不进代码/仓库/打包产物
打包 PyInstaller(scripts/build.py 零参数三平台打包) Windows 双击 exe 即用
质量 pytest + ruff + mypy 规则/协议/仓库/设置/番茄钟/提醒全覆盖

云端(CloudBase 云函数 myn-api)

  • 形态:Node.js 18 事件函数 + HTTP 访问服务网关路由(集成响应),凭证自动注入
  • AI 双通道:
    • aiParse(口述文本) CloudBase 托管模型(DeepSeek 等,免外部 Key,计费走 Token 资源点)
    • aiParseImage(截图) 支持直连 DeepSeek(自备 Key,存云函数环境变量)
    • 提示词注入北京日期 + 用户项目/标签使用频次上下文,AI 优先复用你已有的分类习惯,不自创项目名
  • 安全:访问令牌 / AI Key 只存云函数环境变量,函数不回显任何 event/env 内容
  • 部署:cloudbase-functions/ 内含 cloudbaserc.example.json 模板与部署说明,首次 sync 自动建集合

快速体验

第 0 步:部署云端(一次性)

按 myn-app/cloudbase-functions/部署说明.md(原资料链接未迁移) 操作:

  1. 注册腾讯云 CloudBase,创建环境(有免费额度,个人使用成本极低)
  2. 用 cloudbaserc.example.json 复制出你的 cloudbaserc.json,填入环境 ID 与访问令牌
  3. 部署云函数并配置 HTTP 访问路径,记下接口地址

想先跑起来再研究?也可以直接在云函数控制台粘贴 functions/myn-api/index.js 创建函数。

第 1 步:手机端

cd myn-app
python build.py          # 一键构建 APK(本地有 JDK17 + Android SDK 即可)

安装 APK 后首次启动进入「连接你的 MYN 云端」:填接口地址 + 访问令牌 测试连接 保存,即自动同步全部任务。配置持久化在设备上,重装保留。

第 2 步:桌面端

方式一(直接用打包产物):双击 myn_desktop.exe(Windows),填与手机端相同的接口地址和令牌即可。

方式二(源码运行,需先装 uv):

cd myn-desktop
uv sync --locked
uv run myn               # 桌面窗口模式
$env:APP_NATIVE="0"; uv run myn   # 浏览器模式调试

第 3 步:开始使用

  1. 新建任务:直接输入主题,或用口令 【任务 高 30 2】撰写周报(优先级/需时/II 自动识别),或点「AI 识别」口述一段话
  2. 今天必须做的设为「目前紧急」;7 天内的设「目前机会」;暂时不做的「战略性推迟」
  3. 每天看「目前紧急」,每周一看「推迟回顾」处理积压,每周五过一遍「周回顾」

两端功能对照

功能 手机端 桌面端
四大分区视图 + FRESH 排序
所有任务 / 工作量评估 / 周回顾
战略性推迟 / 重复规则 / 子任务链
AI 结构化录入(文本) 语音口述 键入口述
AI 截图识别(协议已实现) — 协议就绪,入口待接
系统日历提醒 —
应用内到点提醒 + 贪睡 闹钟级循环响铃 提示音 + 置顶对话框
番茄钟 + 专注报表
逐一处理模式
列表悬停快捷操作 / Due 徽章 滑动操作 悬停操作
乐观更新 / 自动同步 每 5 分钟
浅色/深色主题

工程亮点(给想学习源码的你)

  1. 方法论即代码:MYN 分区/FRESH/推迟规则全部是纯函数(MynRules.kt(附件请在多维表格原记录中获取) / rules.py(附件请在多维表格原记录中获取)),两端各带完整单元测试——改规则不会悄悄坏
  2. 零第三方网络依赖的 Android 端:网络层用原生 HttpURLConnection + 自定 REST 协议(CloudBaseProtocol.kt(附件请在多维表格原记录中获取)),协议编解码独立可测
  3. 严格分层的桌面端:core/ 不依赖任何 UI 框架,业务逻辑可独立 pytest;界面层约定(可点击区域用 ui.button、后台通知走统一入口等)沉淀在 myn-desktop/README.md(原资料链接未迁移)
  4. 乐观更新与离线优先:两端任务操作均本地立即生效、云端失败自动回滚(手机端 MynRepository.kt(附件请在多维表格原记录中获取) 的 optimistic 骨架 / 桌面端 repository 同款机制);手机端 Room 缓存 + 断网横幅,桌面端本机 JSON 缓存
  5. 测试文化:手机端 54 个单元/界面测试(Robolectric 起 JVM 真界面);桌面端 pytest + ruff + mypy 三件套;云函数 11 项真实联调用例
  6. 密钥治理:令牌/AI Key 全部走环境变量与本机存储,不进代码、不进仓库、不进打包产物
  7. 一键工具链:手机端 build.py 一键出 APK;桌面端 scripts/build.py 零参数三平台打包

目录速览

MYN任务查看/
 myn-app/                      # Android 手机端
    app/src/main/java/com/myn/taskview/
       myn/                  #   MYN 域逻辑(纯 Kotlin):分区/FRESH/推迟/口令解析
       data/                 #   协议/云客户端/Room 缓存/提醒/番茄钟/日历同步
       ui 相关               #   AppRoot / 五视图 / 处理模式 / 报表 / 设置
    cloudbase-functions/      # 云函数 myn-api 源码 + 部署说明
    build.py                  # 一键构建脚本
 myn-desktop/                  # 桌面端
     src/myn_desktop/
        core/                 #   纯业务层(模型/规则/协议/API/仓库/番茄钟/提醒)
        ui/                   #   NiceGUI 界面层(主装配/任务卡/详情抽屉/处理模式)
     scripts/build.py          # 零参数三平台打包
     tests/                    # pytest 单元测试

适合谁

  • 想实践 MYN 方法论的人:这是一个开箱即用的完整实现,手机 + 电脑双端联动
  • 想要数据自持的人:任务数据存在自己的 CloudBase 环境里,不经过任何第三方
  • 想学习这些技术的人:
    • Kotlin + Compose 的现代化 Android 开发(含 Room、AlarmManager、Robolectric 测试)
    • Python + NiceGUI 的快速桌面应用开发(含 PyInstaller 三平台打包)
    • 腾讯云 CloudBase 云函数 + NoSQL 的 Serverless 后端(含 AI 大模型集成)
    • 多端共享协议设计、离线优先架构、纯函数业务规则与测试实践

已知边界

  • 云函数 sync 为分页拉全(100 条/页),适合个人使用量级;对外分发建议绑定自定义域名
  • 手机端系统日历事件本体存于各设备本机(跨设备仅同步标志)
  • 桌面端 NiceGUI 锁定 3.16.x(3.17 存在动态元素事件监听回归)

许可

学习交流用途。图标来自 Tabler Icons 风格图标库(桌面端 THIRD_PARTY_NOTICES.txt 含第三方声明)。