cascade - 自动从代办事项生成日程计划 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
LEXUGE
V2EX    分享创造

cascade - 自动从代办事项生成日程计划

  •  
  •   LXUGE
    LEXUGE 29 天前 2000 次点击

    GitHub

    我做了个简单的 CLI 小工具,名叫 Cascade 。它的核心功能很简单:帮你把待-办事项( todo-list )自动规划成一份排期合理的日历。

    一直想要一个能处理任务依赖关系、自动躲开我的固定日程(比如吃饭、上课)的规划工具,市面上的产品要么太重,要么需要订阅。所以就自己动手造了这个轮子,可以看作是一个穷人版的 Motion 。

    主要特性

    • 智能时区处理:自动处理跨时区的截止日期和日程规划。
    • 任务依赖感知:能理解任务之间的前后关系(比如任务 B 必须在任务 A 完成后开始),并据此自动传递优先级和截止日期。
    • 导入外部日历:可以导入你的 Google Calendar 或公司日历(任何 .ics 链接),它会把这些现有安排作为背景事件,并围绕它们规划你的新任务。
    • 纯本地,无云端,无 AI:所有数据和计算都在你的电脑上完成,完全离线可用,尊重你的隐私。
    • 多目标优化:底层使用 Google OR-Tools 求解器,来寻找最优的日程安排。
    • 导出日历:可以轻松导出为 .ics 文件,导入到你喜欢的任何日历 App 中。

    快速上手

    安装

    如果你使用 nix ,一行命令即可:

    nix run github:LEXUGE/cascade 

    或者,克隆仓库后使用 uv (或任何 Python 环境管理工具) 运行:

    uv run cascade 

    使用方法

    目前通过一个简单的 REPL (交互式命令行) 来使用。

    > import Successfully imported tasks from /home/foo/cascade-demo.yml > schedule next_day 2days Downloading calendar from https://mycalendar.org/cal.ics ... Schedule for 2025-09-13 00:00:00-07:00 → 2025-09-15 00:00:00-07:00 Total utility: 14.0 Total length: 10:20:00 Task "Learning A" scheduled at 2025-09-13 09:00:00-07:00 → 2025-09-13 09:50:00-07:00. Length: 0:50:00, Utility: 2.0 Task "Finish B" scheduled at 2025-09-13 09:50:00-07:00 → 2025-09-13 11:50:00-07:00. Length: 2:00:00, Utility: 2.0 Task "Task 1" scheduled at 2025-09-13 13:00:00-07:00 → 2025-09-13 13:50:00-07:00. Length: 0:50:00, Utility: 2.0 Task "Task 2" scheduled at 2025-09-13 13:50:00-07:00 → 2025-09-13 14:40:00-07:00. Length: 0:50:00, Utility: 2.0 Task "B Note-taking" scheduled at 2025-09-13 14:40:00-07:00 → 2025-09-13 16:00:00-07:00. Length: 1:20:00, Utility: 2.0 Task "Looking into C" scheduled at 2025-09-13 16:00:00-07:00 → 2025-09-13 17:50:00-07:00. Length: 1:50:00, Utility: 1.0 Task "Task 3" scheduled at 2025-09-13 19:00:00-07:00 → 2025-09-13 19:50:00-07:00. Length: 0:50:00, Utility: 2.0 Task "Misc" scheduled at 2025-09-13 19:50:00-07:00 → 2025-09-13 21:40:00-07:00. Length: 1:50:00, Utility: 1.0 

    命令很简单:

    • import [<你的待办事项.yml>]:导入你的任务清单。成功导入一次后,之后可以直接用 import 重新加载。
    • schedule <开始时间> <持续时长>:进行排期。例如 schedule next_day 2days 会从明天凌晨 00:00 开始,为你规划一个 48 小时的日程。
    • schedule export ics:将生成的日程打印成 ics 格式,你可以直接复制并保存为 .ics 文件。

    具体内容详见 GitHub

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2662 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 03:20 PVG 11:20 LAX 20:20 JFK 23:20
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86