日历与外部任务

更新日期:2026-08-14

Plainva可以连接你已有的日历和任务账户——CalDAV(Nextcloud、Fastmail、mailbox.org等)、Google(日历+Tasks)和Microsoft(Outlook日历+To Do)——并在两个方向上与它们协同工作。你的笔记始终是中心:日程可以变成会议笔记,外部任务列表则会作为普通笔记映射进你的默认任务数据库

连接一个账户

打开设置 → 仓库 → 云账户 → 连接账户…,选择一个服务商,并在服务选择步骤中勾选日历与任务

助手会显示每项服务的状态(“已连接——找到 n 个日历”)。你之后可以在日历区域管理日历的选择(勾选的会出现在日历标签页中)和任务列表(默认故意不勾选——勾选一项会启动下方描述的任务同步);会议文件夹(会议笔记的创建位置)和默认日历也在那里。密码和令牌保存在你操作系统的钥匙串中。

每台设备都要单独登录。 如果你使用同步设置,账户的详细信息会随之同步,但登录状态本身绝不会同步——这是刻意保留在设备上的。以这种方式获得的账户,会出现在另一台设备的列表中,但在那台设备上尚未登录;在移动应用中,它会带有登录标记,日历会说明这一点,而不是保持空白。只需连接一次即可。

当登录过期时。 日历区域会直接在受影响的账户上显示错误,并说明该怎么做:如果登录已过期或被撤销,会提供重新登录——对 Microsoft 和 Google 账户来说,一次操作就能让每一项服务(文件、日历、邮件)重新恢复正常。如果问题出在服务商配置上(客户端ID错误或已被删除、项目中缺少某个API),提示就会指向那里,而不是提供重新登录;如果是网络错误,稍后重试即可。如果 Google 项目处于测试模式,最常见的原因就是7天限制——详情见Drive指南。只要账户还无法连接,Plainva 就不会再声称它没有任务列表:列表会保持为空,上方显示错误信息。 移动应用中同样如此:账户所在的行会说明原因,重新登录会就地修好这个账户。

日历标签页

Google 的状态条目——办公地点、专注时间和外出——在 Plainva 中显示为独立的一行,或者是日程背后一条安静的色带,而不是又一个日程块:「居家办公」不是会议,一天里有三条这样的条目加一场会议,不应该看起来像四场会议。Plainva 只读取它们,从不写入——在 Google 中创建外出条目会自动拒绝邀请,这不该是日历视图顺带触发的副作用。

从左侧操作栏(日历图标)或命令面板打开日历)打开它。顶部的切换控件提供五种视图:3天视图都会显示一个时间网格,左侧带有小时刻度;日程以色块形式出现在其开始时间处,色块高度对应持续时长,重叠的日程会并排显示,一条红线标记”现在”。全天日程以及(开启任务叠加后)到期的任务会显示在网格上方的条带中。视图会显示月历网格(每个日历对应一个彩色圆点),并在右侧显示所选日期的单日时间网格。议程视图按天分组列出接下来几周的安排。今天可跳回当前;箭头按当前所选周期(一天、三天、一周或一个月)翻页。一周的第一天遵循每周开始于设置(设置 → 应用 → 外观:周一、周六或周日)——该设置同样适用于侧边栏日历。视图每隔几分钟会自动刷新;点击刷新按钮可以强制刷新。对于 Microsoft 日历和大多数 CalDAV 服务器,Plainva 现在只获取更改的部分,而不是每次都获取整个时间范围——数据量明显减少,尤其是在手机上。系统仍会至少每小时执行一次完整刷新,确保不会遗漏任何更改列表没有捕捉到的内容;而且只有服务商明确报告为已删除的内容才会被删除。使用 Google 时,每次刷新都是完整的:其 API 不支持把更改列表和日期范围结合使用。已结束的日程会显示得更暗淡(如同Google日历),让今天剩余的安排更加醒目。 跨多天的日程会显示为一条贯穿所有相关日期的长条——只有一个标题、一个点击目标,而不是每天各出现一次。如果它延续到本周之后,会在边缘被直接切断,并在下一行继续显示,不再重复标题。日、3 天和周视图中的全天条也是同样的方式。

日程 → 会议笔记

任意日程上的笔记图标会创建(或重新打开)它的会议笔记——一篇存放在你会议文件夹中的普通笔记,命名为YYYY-MM-DD 标题.md,预先填入日期、地点和参会人,外加Frontmatter中一个把它和该日程关联起来的小plainva.pim标记。再次点击同一个日程,总是会打开同一篇笔记;一篇恰好同名的自建笔记永远不会被碰到。

你的任务数据库中的外部任务列表

提醒事项列表(通过 iCloud CalDAV 的 Apple 提醒事项、Nextcloud 任务列表)在服务器上是独立的集合,因此显示在任务列表下,而不会出现在日历中。如果已连接的账户没有任务列表,该区域会说明并提供重新查找;若查找本身失败,则显示原因,并保留你先前的选择。

在一个已连接的账户上勾选一个任务列表,它的任务就会作为笔记出现在你的默认任务数据库中:标题会变成笔记(H1),截止日期会落入数据库的日期列,完成状态会映射到数据库的已完成复选框属性(状态列会随之跟随;没有复选框列的数据库会使用状态约定——第一个选项=未完成,最后一个选项=已完成)。这个同步是双向的,并且按字段进行:

两条安全规则保护着你的数据:删除笔记绝不会删除远端的任务(它只是不再同步,也不会被再次导入),并且远端删除的任务绝不会删除你的笔记(它只会变成一篇普通笔记)。重命名或移动一篇任务笔记不会有问题——Frontmatter标记会保持这个关联。

当前的限制:以普通笔记方式创建的任务不会被推送到服务商(请在远端或通过任务数据库创建它们),本页上的一切目前都以桌面版为先。

通过在其他日历中占用时间创建的副本,会在 Google、Microsoft 和 CalDAV 中保存服务商专用的 Plainva 关联。日历视图用链接图标显示这种关系;刷新后,来源和占用项会重新匹配,而不会变成互不相关的重复项。

电脑上的提醒

设置 → 日历 → 提醒中打开提醒日程;第一次时系统会询问一次权限。日程自带的提醒优先——只有在它没有指定时才使用提前时间,全天日程则在全天日程中选定的时刻出声。到期任务会把任务数据库里的任务一并纳入,仅这些日历限定提醒的来源(什么都不勾选即表示全部,之后新连接的日历也会自动包含在内)。

与手机的差别写在设置里,而不是小字里。 在手机上,提醒交由操作系统接管,应用关闭时也会被唤醒。电脑上没有这道交接:Plainva 自己唤醒,因此必须处于运行状态。 应用关闭时提醒会落空,事后也不会补发。作为交换,这里没有数量上限。

通知本身不带按钮——电脑不提供这一点。操作改放在应用内的提示中:日程是在日历中显示,任务是打开任务。窗口不会因此抢到最前面。

在后台继续运行

电脑上的提醒只有在 Plainva 运行时才会送达,因此设置 → 启动与行为 → 后台提供两个开关——分开设置,因为这是两个不同的愿望,且默认都关闭

第二个开关会自证。 并非每种桌面环境都提供通知区域,而图标是否真的出现也无法可靠预测。因此 Plainva 会先把图标放上去,再问你是否看得到。只有回答“看到了”才保留该设置;回答“没有”时图标会被撤下,开关保持关闭。这样窗口就绝不会在没有回头路的情况下消失。下次启动时同样如此:如果那时图标无法创建,该设置会自行关闭。

下方的提醒出现的条件一行随时说明当前情况——Plainva 运行期间窗口关闭时也会出现

需要知道: Plainva 在后台继续运行时,同步、日历刷新和备份检查也在继续。下次打开时仓库已是最新——应用在你看不见的时候仍在工作。

在日历中显示数据库

日历可以把数据库中的条目与日程一同显示。视图上方的显示:栏列出每一个指定了日期列、类型为日历时间线.base 视图。点击一次显示,再点一次隐藏。

这样显示的条目始终能被认出是笔记:虚线边、前面一个菱形,绝不使用日程那种实心样式。点击打开的正是数据库行本来就有的预览。拖到另一天会写入该笔记的日期列——与在表格中编辑该单元格完全相同。若该列带有时间,条目会落在当日网格的对应小时;没有时间则留在全天区。

显示哪些视图属于该 vault,并随设置同步一起传递:你的日历在电脑和手机上是一样的。

**反过来也一样:**在数据库的日历视图中,背景中的日程按钮会把当天真正的日程显示为一行淡色文字——让你看清自己在对着什么安排。它们有意只作背景:不是该数据库的行,也不可点击。

把数据库条目写入日历

带日期的条目可以变成服务商处的真实日程。条目所在行的菜单(手机上是它的操作面板)提供添加到日历。日程会采用该条目的日期——若该列带时间就带上时间,否则作为全天日程——并附带一个指回笔记的链接。

此后两者保持关联,遵循三条固定规则:

这和给任务预留时间不是一回事:那里你是为某件事预留时间,任务的日期原地不动。这里你说的是:这个条目就是这个日程。