Goal Timeline
unlistedby besttobecome
Break big goals down into year / quarter / month / week goals and tasks per project, with calendar, Pomodoro, dashboard and heuristic auto-scheduling.
Updated 22d agoMIT
Goal Timeline — Obsidian 插件
把总目标逐级拆成 年 → 季 → 月 → 周目标 → 任务,配日历、番茄钟、综合看板与启发式自动排程。全部数据保存在你自己的 vault 里,本地运行,无激活 / 无联网 / 无功能限制。
✨ 功能
目标拆解树 🎯
- 每个项目(总目标)逐层拆出 年 / 季度 / 月 / 周目标 → 任务。
- 子目标完成度自动向上汇总成父目标的百分比进度条。
- 复选框标记完成(变暗 + 删除线);右键设置优先级(高🔺 / 中🔸 / 低🔹)和计划时长。
- 新建项目时自动生成一篇项目主页笔记。
日历 📅
- 月 / 周 / 日 三种视图切换,字号可读、不再挤成一团。
- 周视图支持选年份 + 第几周(复刻「时序任务笔记」的周待办)。
- 每一天的格子里直接添加任务,支持每任务计划时长并自动汇总当天工时。
- 全部项目 / 具体项目 两种展示。
综合看板 📊
- 不分项目,直观展示整体进度:今日任务、本周任务、本周周目标数、逾期未完成、各级目标总览、各项目进度。
- 一键 🤖 自动排程。
目标侧栏 📋
- 紧凑显示年/季/月/周目标,可停靠在左侧,与外部日历插件(如 Task Genius)并排使用。
番茄钟 🍅
- 内置番茄计时,可绑定到具体任务,专注结束自动 +1;倒计时常驻状态栏。
- 每完成一个番茄按日期写入
Goals/Pomodoro Log.md。
启发式自动排程 🤖
- 按优先级 + 计划时长 + 每日容量软上限,把未安排的任务自动铺到未来若干天,避免某天排得过满。
- 纯本地、不联网、不依赖任何 AI 服务。参数(每日容量 / 排程范围 / 是否含周末等)可在设置里调。
复盘 📝
- 命令「一键周复盘」自动生成本周复盘笔记(完成 / 未完成清单、番茄数、计划时长、反思提问)到
Goals/Reviews/。
与其它笔记联动 🔗
- 点任意目标 / 任务的标题即可打开它的关联 Markdown 笔记,里面用原生
[[双链]]连接到任何其它笔记。
📦 安装
手动安装(推荐)
- 到 Releases 下载
main.js、manifest.json、styles.css。 - 放进
<你的 vault>/.obsidian/plugins/goal-timeline/。 - Obsidian → 设置 → 第三方插件 → 关闭安全模式 → 启用 Goal Timeline。
通过 BRAT 安装
用 BRAT 添加本仓库地址 besttobecome/obsidian-goal-timeline 即可跟随更新。
🚀 快速开始
- 左侧工具栏点 🎯 打开「目标拆解」,+ 新项目 建立总目标。
- 逐层 + 年目标 → 季度 → 月 → 周 → 任务 往下拆。
- 打开 📅 日历,在某天 + 添加任务、设时长;或在 📊 看板点 🤖 自动排程 让插件帮你铺排。
- 任务上点 🍅 专注 开始番茄;周末用「一键周复盘」回顾。
配合 Task Genius 等外部日历:打开 📋 目标侧栏,把它拖到日历标签左侧边缘,即可左目标、右日历并排。
🛠 开发
npm install
node node_modules/esbuild/install.js # 若首次构建缺少 esbuild 二进制
npm run dev # 监听并实时编译到 main.js
npm run build # 类型检查 + 生产打包
改完 src/ 后 main.js 会重新生成;在 Obsidian 里禁用再启用插件即可加载新版本(或装 Hot-Reload 插件自动刷新)。
架构
store.ts— 事件驱动的单一数据源(目标树存data.json)。goalTreeView.ts/calendarView.ts/dashboardView.ts/sidebarView.ts— 四个ItemView。pomodoro.ts— 番茄钟引擎。autoPlan.ts— 启发式排程。review.ts— 周复盘生成。- 层级:
项目 → 年 → 季 → 月 → 周 → 任务。设计借鉴 Task Genius(复选框任务 + 内联优先级/时长 + 多视图)。
🗺 路线图
- 甘特图 + 多天任务(任务起止日期 + 横条时间线)
- 目标侧栏按「当前」年/季/月/周自动过滤
- 从周目标拖拽生成日历任务
📄 许可证
MIT © 2026 besttobecome。代码可自由使用、修改、再分发。
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.