zhuzhige123155 downloadsSync tagged Obsidian tasks with a dedicated Microsoft To Do list: notes, subtasks, reminders, and Obsidian deep links.
如果你希望 在 Obsidian 里规划任务,在手机上用 Microsoft To Do 执行,可以试试 MS To Do Sync。
它适合:用 Markdown 任务清单管理学习/工作、又需要手机提醒与勾选的人;只想同步「明确标记」的任务、不想把整个 To Do 账号搬进库的人;需要把任务备注、一层子步骤一并带到 To Do 的人;在 To Do 里点一下就能回到 Obsidian 对应任务行的人。
上手很轻:给任务加上同步标签(默认 #mtd-sync),保存笔记,任务会进入你配置的 专用 Microsoft To Do 列表。在手机上勾选完成、改标题或写备注,Obsidian 会按设定间隔拉回;你在库里改截止日期、备注或子任务,也会推送到 To Do。未打标签的任务 永远不会 被同步。
最低 Obsidian 版本:1.11.4
📅)、开始日期(⏳)、优先级(⏫ / 🔼 / 🔽)、进行中(- [/])reminder= 同步到 To Do 提醒;myday 标记用「今日截止 + 提醒」替代(Graph 不支持字面「我的一天」)Microsoft To Do/Inbox.md),并带上同步标签#mtd-sync/工作 → 专用 To Do 列表 A → 默认落盘笔记 A;多项目可各走各的列表与文件obsidian://mtd-sync?...;点击后在 Obsidian 打开笔记并 短暂高亮 任务行下方图示概括「库内规划 ↔ 手机执行」的主路径(GitHub / Obsidian 均可渲染 Mermaid)。
flowchart LR
OBS(["Obsidian<br/>带标签的任务行"])
PUSH["保存 / 离开笔记<br/>或手动同步"]
LIST["专用 Microsoft To Do 列表"]
PHONE["手机 To Do<br/>提醒 · 勾选 · 备注"]
PULL["定时拉取<br/>或手动拉取"]
BACK["obsidian:// 回链<br/>定位并高亮任务行"]
OBS --> PUSH --> LIST --> PHONE
PHONE --> PULL --> OBS
LIST --> BACK --> OBS
mtd-sync)与主列表名(默认 Obsidian Sync)。- [ ] 复习第三章 #mtd-sync 📅 2026-06-20- [x]。- [ ] 准备组会 #mtd-sync 📅 2026-06-21
带上上周实验数据
确认会议室投影
- [ ] 打印议程
- [x] 发日历邀请
缩进段落进入 To Do 详情备注;一层子 checkbox 进入 步骤。仅支持 一层 子任务(与 To Do Steps 能力一致)。
#mtd-sync 与内部 ID 的任务。[[笔记#标题]] 或 page: [[笔记#标题]],下一行 ---,再写正文(详见设置说明)。同步后,To Do 任务可附带 Obsidian 深链。在 To Do 中点击 在 Obsidian 中打开,会打开对应笔记、滚动到任务行并短暂高亮。任务行旁的云图标也可复制同一链接。
在 专用同步列表(子标签路由) 中为子标签配置「To Do 列表 ↔ 默认库内笔记」。例如 #mtd-sync/护理 → 列表「基础护理」→ 护理/任务.md。适合按科目或项目拆分,而不把所有任务堆进一个列表。
| 你在 Obsidian 写的 | 在 To Do 中的表现 |
|---|---|
#mtd-sync(或你改的标签名) |
准入同步;可用 #标签/子标签 走路由 |
📅 2026-06-20 |
截止日期 |
⏳ 2026-06-18 |
开始日期 |
⏫ 🔼 🔽 |
高 / 中 / 低优先级 |
- [/] |
进行中 |
| 任务下缩进段落 | 任务详情备注 |
一层 - [ ] 子项 |
步骤(Steps) |
| 行尾机器元数据注释 | 插件内部映射(阅读视图自动隐藏) |
说明:任务行尾会写入
mtd:id=…等形式的 HTML 注释元数据以保持双向映射;阅读模式下不会显示,也不会用可见的🆔污染任务正文。
插件提交 Obsidian 官方审核后,可在 设置 → 社区插件 → 浏览 中搜索 MS To Do Sync 安装。
main.jsmanifest.jsonstyles.css.obsidian/plugins/ms-todo-sync/#mtd-sync(或你的标签),保存。同步全部带标签任务、同步当前笔记中的任务、拉取远程任务更改 等。任务行旁的 云图标 可对单条任务推送、拉取、打开 To Do 或停止同步。
建议随库同步(位于 Vault):你的 Markdown 任务、备注与子任务——它们本来就是库内容,会随 Obsidian Sync / iCloud / 网盘等策略在多端一致。
保存在插件目录(通常不需手抄):登录令牌(secretStorage)、同步索引等运行状态。换设备后重新登录即可。
网络访问:插件通过 Microsoft Graph 与你的 To Do 账号通信,用于登录、推送与拉取任务。不会 把你的整库笔记上传到第三方;仅传输与已映射任务相关的字段。
确认任务行带有 同步标签(默认 #mtd-sync),且已 登录 微软账号。检查设置中的列表名是否与 To Do 中一致。可尝试命令 同步当前笔记中的任务 或 同步全部带标签任务。
不会。 只有 Obsidian 主同步列表 和你在路由表里配置的 专用列表 会参与入站;其它列表中的任务不会被拉入库。
对应行会变为 - [x];阅读视图中显示为已完成样式。默认 不会 因「完成」而删除任务行(与「在 To Do 永久删除」不同,后者可在设置里选择删行 / 仅取消同步 / 保留)。
不能。 本插件的设计就是 选择性同步,避免把整个库或整个 To Do 账号绑在一起。可对单条任务使用命令 同步当前任务行 自动加标签并建立映射。
Microsoft Graph 不提供 To Do「我的一天」读写接口。可用命令 加入今日(截止 + myday) 或 myday 标记,以 今日截止 + 提醒 达到类似效果。
请确认 Obsidian 已打开且库名一致;桌面端一般可直接唤起。若链接无效,可在 Obsidian 中对任务使用 复制 Obsidian 任务链接 检查是否已建立映射。
无依赖。 MS To Do Sync 是独立插件,不安装 Weave 系列其它插件也可使用。
插件 ID:ms-todo-sync → .obsidian/plugins/ms-todo-sync/
源码基于 GPL-3.0-or-later 发布。
If you want to plan tasks in Obsidian and execute them in Microsoft To Do on your phone, MS To Do Sync is built for that workflow.
It fits people who keep task lists in Markdown but rely on To Do for reminders and mobile check-off; who only want explicitly tagged tasks synced—not an entire To Do account; who need notes and one level of sub-steps in To Do; and who want a tap in To Do to jump back to the exact task line in Obsidian with a short highlight.
Getting started is light: add a sync tag (default #mtd-sync) to a task and save—the task lands in your configured dedicated Microsoft To Do list. Complete, rename, or annotate on your phone and changes pull back on a schedule; edit due dates, notes, or subtasks in your vault and they push to To Do. Tasks without the tag are never synced.
Minimum Obsidian version: 1.11.4
📅), start date (⏳), priority (⏫ / 🔼 / 🔽), in-progress (- [/])reminder= in metadata syncs to To Do reminders; myday uses due today + reminder (Graph has no literal My Day API)Microsoft To Do/Inbox.md) with the sync tag applied#mtd-sync/work → dedicated list A → default vault file Aobsidian://mtd-sync?... in To Do notes or linked resources—opens the note and briefly highlights the task lineThe diagram below shows the main vault planning ↔ mobile execution loop (Mermaid renders on GitHub and in Obsidian).
flowchart LR
OBS(["Obsidian<br/>tagged task lines"])
PUSH["Save / leave note<br/>or manual sync"]
LIST["Dedicated Microsoft To Do list"]
PHONE["Mobile To Do<br/>reminders · check-off · notes"]
PULL["Scheduled pull<br/>or manual pull"]
BACK["obsidian:// link<br/>locate & highlight"]
OBS --> PUSH --> LIST --> PHONE
PHONE --> PULL --> OBS
LIST --> BACK --> OBS
mtd-sync) and main list name (default Obsidian Sync).- [ ] Review chapter 3 #mtd-sync 📅 2026-06-20- [x] after the next pull.- [ ] Prepare team meeting #mtd-sync 📅 2026-06-21
Bring last week's experiment data
Confirm projector in the room
- [ ] Print agenda
- [x] Send calendar invite
Indented paragraphs become the To Do task body; one level of sub-checkboxes becomes steps. Only one nesting level is supported (matching To Do).
[[Note#Heading]] or page: [[Note#Heading]] on the first line of the To Do body, then ---, then the text (see in-plugin settings).After sync, tasks can include an Obsidian deep link. Tap Open in Obsidian in To Do to open the file, scroll to the line, and flash-highlight it. The cloud icon on the task line can copy the same link.
In Dedicated sync lists (sub-tag routes), map sub-tags to a To Do list and default vault path—useful when splitting courses or projects instead of one giant list.
| In Obsidian | In Microsoft To Do |
|---|---|
#mtd-sync (or your tag) |
Eligible for sync; #tag/subtag for routing |
📅 2026-06-20 |
Due date |
⏳ 2026-06-18 |
Start date |
⏫ 🔼 🔽 |
High / normal / low importance |
- [/] |
In progress |
| Indented paragraphs under the task | Task body notes |
One level of - [ ] sub-items |
Checklist steps |
| Trailing machine metadata comment | Internal mapping (hidden in reading view) |
Note: The plugin stores mapping as an HTML comment with
mtd:id=…(and related fields) at the end of the line. Reading view hides it—no visible🆔clutter in your task text.
Once listed in the official directory, open Settings → Community plugins → Browse and search for MS To Do Sync.
manifest.json:main.jsmanifest.jsonstyles.css.obsidian/plugins/ms-todo-sync/#mtd-sync (or your tag) in a task line and save.Use the cloud icon on a task line to push, pull, open in To Do, or stop syncing that line only.
Good to sync (in the vault): Your Markdown tasks, notes, and subtasks—they are vault content and follow Obsidian Sync / iCloud / cloud vault setups.
Usually local (plugin folder): Sign-in tokens (secretStorage), sync index, and runtime state. Sign in again on a new device.
Network: The plugin talks to Microsoft Graph for your To Do account—sign-in, push, and pull. It does not upload your entire vault; only fields for mapped tasks are transmitted.
Confirm the line has the sync tag (default #mtd-sync) and you are signed in. Check that the list name in settings matches To Do. Try Sync tasks in current note or Sync all tagged tasks from the command palette.
No. Only the main Obsidian sync list and dedicated lists in your route table participate in inbound capture.
The line becomes - [x] with completed styling in reading view. Completing does not delete the line by default (unlike permanent delete in To Do, which you can map to delete / unlink / keep in settings).
No. This plugin is intentionally selective. Use Sync current task line to tag and link a single line on demand.
Microsoft Graph does not expose read/write for To Do My Day. Use Add to today (due + myday) or a myday marker for due today + reminder instead.
Keep Obsidian open with the correct vault. If the link is invalid, use Copy Obsidian task link on the task line in Obsidian to verify mapping exists.
No dependency. MS To Do Sync is a standalone plugin.
Plugin ID: ms-todo-sync → .obsidian/plugins/ms-todo-sync/
Source code is released under GPL-3.0-or-later.