日历与外部任务
更新日期:2026-08-14
Plainva可以连接你已有的日历和任务账户——CalDAV(Nextcloud、Fastmail、mailbox.org等)、Google(日历+Tasks)和Microsoft(Outlook日历+To Do)——并在两个方向上与它们协同工作。你的笔记始终是中心:日程可以变成会议笔记,外部任务列表则会作为普通笔记映射进你的默认任务数据库。
连接一个账户
打开设置 → 仓库 → 云账户 → 连接账户…,选择一个服务商,并在服务选择步骤中勾选日历与任务:
- Nextcloud / CalDAV:服务器地址、用户名和一个应用专用密码(在Nextcloud中:设置 → 安全 → 设备和会话)。无需注册,也不需要密钥——对于Nextcloud,Plainva会直接从服务器地址推导出CalDAV地址(对于其他CalDAV服务器,请使用WebDAV / CalDAV图块,或高级:分别设置各个端点)。
- Apple iCloud、Yahoo、AOL、Zoho、Fastmail、mailbox.org、Yandex、Mail.ru:专属图块,已预先填好日历地址——只需邮箱地址加一个应用专用密码即可,无需服务器字段(对Apple来说应用专用密码是必需的;助手会链接到该服务商的指南)。提示:Yahoo自己也承认其CalDAV服务不太稳定——如果它出现异常,并不是Plainva的问题。
- Google:需要你自己的OAuth客户端ID(与Google Drive同步相同的自备凭据(BYO)模式——参见Drive指南)。此外,请在你的Google Cloud项目中启用Google Calendar API和Google Tasks API,并在同意屏幕中添加它们的权限范围。浏览器会打开以获取同意;连接操作会在保存任何内容之前先验证账户。
- Microsoft:只需点击使用 Microsoft 登录…并在浏览器中确认——无需任何设置。一个Microsoft账户还可以在同一次连接中承担文件(OneDrive)和邮件。
助手会显示每项服务的状态(“已连接——找到 n 个日历”)。你之后可以在日历区域管理日历的选择(勾选的会出现在日历标签页中)和任务列表(默认故意不勾选——勾选一项会启动下方描述的任务同步);会议文件夹(会议笔记的创建位置)和默认日历也在那里。密码和令牌保存在你操作系统的钥匙串中。
每台设备都要单独登录。 如果你使用同步设置,账户的详细信息会随之同步,但登录状态本身绝不会同步——这是刻意保留在设备上的。以这种方式获得的账户,会出现在另一台设备的列表中,但在那台设备上尚未登录;在移动应用中,它会带有登录标记,日历会说明这一点,而不是保持空白。只需连接一次即可。
当登录过期时。 日历区域会直接在受影响的账户上显示错误,并说明该怎么做:如果登录已过期或被撤销,会提供重新登录——对 Microsoft 和 Google 账户来说,一次操作就能让每一项服务(文件、日历、邮件)重新恢复正常。如果问题出在服务商配置上(客户端ID错误或已被删除、项目中缺少某个API),提示就会指向那里,而不是提供重新登录;如果是网络错误,稍后重试即可。如果 Google 项目处于测试模式,最常见的原因就是7天限制——详情见Drive指南。只要账户还无法连接,Plainva 就不会再声称它没有任务列表:列表会保持为空,上方显示错误信息。 移动应用中同样如此:账户所在的行会说明原因,重新登录会就地修好这个账户。
日历标签页
Google 的状态条目——办公地点、专注时间和外出——在 Plainva 中显示为独立的一行,或者是日程背后一条安静的色带,而不是又一个日程块:「居家办公」不是会议,一天里有三条这样的条目加一场会议,不应该看起来像四场会议。Plainva 只读取它们,从不写入——在 Google 中创建外出条目会自动拒绝邀请,这不该是日历视图顺带触发的副作用。
从左侧操作栏(日历图标)或命令面板(打开日历)打开它。顶部的切换控件提供五种视图:日、3天和周视图都会显示一个时间网格,左侧带有小时刻度;日程以色块形式出现在其开始时间处,色块高度对应持续时长,重叠的日程会并排显示,一条红线标记”现在”。全天日程以及(开启任务叠加后)到期的任务会显示在网格上方的条带中。月视图会显示月历网格(每个日历对应一个彩色圆点),并在右侧显示所选日期的单日时间网格。议程视图按天分组列出接下来几周的安排。今天可跳回当前;箭头按当前所选周期(一天、三天、一周或一个月)翻页。一周的第一天遵循每周开始于设置(设置 → 应用 → 外观:周一、周六或周日)——该设置同样适用于侧边栏日历。视图每隔几分钟会自动刷新;点击刷新按钮可以强制刷新。对于 Microsoft 日历和大多数 CalDAV 服务器,Plainva 现在只获取更改的部分,而不是每次都获取整个时间范围——数据量明显减少,尤其是在手机上。系统仍会至少每小时执行一次完整刷新,确保不会遗漏任何更改列表没有捕捉到的内容;而且只有服务商明确报告为已删除的内容才会被删除。使用 Google 时,每次刷新都是完整的:其 API 不支持把更改列表和日期范围结合使用。已结束的日程会显示得更暗淡(如同Google日历),让今天剩余的安排更加醒目。 跨多天的日程会显示为一条贯穿所有相关日期的长条——只有一个标题、一个点击目标,而不是每天各出现一次。如果它延续到本周之后,会在边缘被直接切断,并在下一行继续显示,不再重复标题。日、3 天和周视图中的全天条也是同样的方式。
- 新建日程:点击时间网格中的空白位置会打开一个小巧的快速新建弹窗(标题、时间、日历、地点)——保存会立即创建,更多选项会打开完整的日程对话框。在网格上拖动可以设置持续时长。顶部的**+会打开完整的对话框:标题、日历、日期/时间或一个全天区间、地点、说明、颜色,以及一个可选的Outlook风格重复**。这个颜色只对该日程本身生效,会覆盖它所属日历的颜色(对Microsoft账户没有影响——Outlook不支持逐日程设置颜色)。
- 参与者:输入一个电子邮件地址并按回车(或逗号)将其添加为标签;点击×可以移除。重复选项就在日期/时间旁边设置——可以选择频率、间隔、星期几(每周重复时可选),以及结束方式(永不 / 于某天 / 重复 N 次后);你也可以为已有日程添加或更改重复规则。
- 查看:点击某个日程会打开事件预览——一个自由悬浮的窗口,用于查看该日程而不是编辑它:时间段、地点、说明、参与者及其回复,此外还有接受 / 暂定 / 拒绝、会议笔记,以及**⋮下的所有其余操作(颜色、在其他日历中占用、通过邮件发送、删除)。该窗口不会让应用变暗,可以移动和调整大小;Esc将其关闭。如果该日程属于一个系列**,预览会说明这一点——包括重复规律,以及在已加载的情况下的下一次日程。它不会询问任何问题:“只这一个还是全部?“问的是编辑,而不是查看。
- 编辑 / 删除:编辑日程在预览中会打开对话框,预填其现有信息,并带有会议笔记和删除操作。更改会经过一项安全检查后被写入服务商:如果该日程在此期间已在远端发生变化,Plainva会刷新,而不是覆盖。
- 重复日程:系列中的一个日程和其他日程一样可以直接打开编辑——只有在你确实做了更改之后,问题才会在保存时出现。对话框会说明具体更改了什么(“时间:09:00 → 09:15”),然后询问应该应用于仅此日程,还是所有日程。选择”所有日程”,只有你更改过的内容才会同步到整个系列;系列自身的开始日期,以及你没有动过的一切,都会保持不变。如果你没做任何更改就关闭表单,那就什么都不会发生——没有对话框,也不会写入服务商。删除仍然会提前询问:在那里,点击本身就已经是更改。
- 移动 / 调整大小:你可以直接在时间网格中拖动日程——拖动日程主体会重新安排其时间(在周/3天视图中也可以拖到另一天),拖动它的下边缘则会更改持续时长。新的时间会立即写入服务商(重复日程目前仍只能通过对话框进行编辑)。
- 日程的外观:已取消的日程仍然可见,但只显示为轮廓,标题加删除线——这样你能看到那段时间空下来了,而不是默默地失去它。你尚未回复的邀请也是轮廓(它还不是你的日程);待定的日程——组织者这样标记,或者你回复了“也许”——则以斜纹显示。已确认的依旧填充。日程列表中还会加上词(已取消、未回复、待定)。如果你拒绝了,日程会变成淡化的轮廓,标题加删除线(日程列表中显示你已拒绝):它对其他人仍然举行,但不再属于你的一天。组织者的取消依旧更清晰——那影响所有人。
- RSVP与回复:当你受邀参加某个日程时,对话框会让你接受、标记为暂定或拒绝——Plainva会通过服务商(Google/Microsoft/CalDAV)发送你的回复。参会人列表会显示谁已接受或拒绝(这是回复信息的接收端)。
- 邮件邀请:当日程带有参与者时,勾选通过电子邮件通知参与者。在Google上,Plainva会请求Google发送其原生邀请(仍是同一个日程,因此对方的回复会同步回你的日程);Microsoft会自动通知参与者。对于CalDAV——或者想从自己的邮箱发送一份副本——日历的通过邮件发送操作会打开邮件撰写窗口,并附上一份符合标准的iCalendar邀请文件,这样Gmail和其他邮件客户端就会把它显示为带有是/也许/否选项的日程。
- 在其他日历中占用:日程上的复制图标操作(或其对话框中的在其他日历中占用按钮)会把它镜像到你的一个或多个其他可写日历中——可以作为不透明的忙碌占位符,也可以含详情(Notion Calendar风格)。重复日程会连同其重复规则一起镜像,因此占用条目也会跟着重复。
- 重复日程带有一个重复徽章。编辑或删除某一次实例时,Plainva会询问**“仅此日程”(创建一个例外,即跳过这一次)还是”所有日程”**(更改整个系列)。Plainva绝不会重写已有的重复规则。
- 显示任务(刷新按钮旁,仅当设置了默认任务数据库时出现):把你默认任务数据库中带截止日期的条目叠加显示在时间网格的条带和月历网格上。默认关闭,你的选择会按设备记住。 如果截止列带有时间(列类型为“日期和时间”),该任务会显示在当天网格中它所属的时刻,而不是全天条——用虚线边框而非填充,因为截止是一个时刻而不是一段时长,复选框就在方块内。没有时间时一切照旧。
- 点击复选框即可直接在这里勾选完成该任务——无需打开笔记。点击标题仍会打开笔记。勾选完成会写入与任务视图相同的文件:如果任务带有重复设置,届时会创建下一个任务。
- 任务的着色方式与日程不同。 已结束的日程会显示得更暗淡;而已逾期的任务则更为紧急,会被突出显示。今天到期的任务正常显示,未来的任务显示得暗淡,已完成的任务带删除线。
- 该行上的重复图标表示这个任务带有重复设置。尽管如此,它在日历中仍然只会出现一次——原因见任务。
日程 → 会议笔记
任意日程上的笔记图标会创建(或重新打开)它的会议笔记——一篇存放在你会议文件夹中的普通笔记,命名为YYYY-MM-DD 标题.md,预先填入日期、地点和参会人,外加Frontmatter中一个把它和该日程关联起来的小plainva.pim标记。再次点击同一个日程,总是会打开同一篇笔记;一篇恰好同名的自建笔记永远不会被碰到。
你的任务数据库中的外部任务列表
提醒事项列表(通过 iCloud CalDAV 的 Apple 提醒事项、Nextcloud 任务列表)在服务器上是独立的集合,因此显示在任务列表下,而不会出现在日历中。如果已连接的账户没有任务列表,该区域会说明并提供重新查找;若查找本身失败,则显示原因,并保留你先前的选择。
在一个已连接的账户上勾选一个任务列表,它的任务就会作为笔记出现在你的默认任务数据库中:标题会变成笔记(H1),截止日期会落入数据库的日期列,完成状态会映射到数据库的已完成复选框属性(状态列会随之跟随;没有复选框列的数据库会使用状态约定——第一个选项=未完成,最后一个选项=已完成)。这个同步是双向的,并且按字段进行:
- 编辑笔记(标题、截止日期、状态)→ 更改会被推送到服务商。
- 远端更改了任务 → 笔记会随之更新。
- 如果两侧都有更改,该字段以你的本地更改为准;其余部分则以远端为准。
两条安全规则保护着你的数据:删除笔记绝不会删除远端的任务(它只是不再同步,也不会被再次导入),并且远端删除的任务绝不会删除你的笔记(它只会变成一篇普通笔记)。重命名或移动一篇任务笔记不会有问题——Frontmatter标记会保持这个关联。
当前的限制:以普通笔记方式创建的任务不会被推送到服务商(请在远端或通过任务数据库创建它们),本页上的一切目前都以桌面版为先。
通过在其他日历中占用时间创建的副本,会在 Google、Microsoft 和 CalDAV 中保存服务商专用的 Plainva 关联。日历视图用链接图标显示这种关系;刷新后,来源和占用项会重新匹配,而不会变成互不相关的重复项。
电脑上的提醒
在设置 → 日历 → 提醒中打开提醒日程;第一次时系统会询问一次权限。日程自带的提醒优先——只有在它没有指定时才使用提前时间,全天日程则在全天日程中选定的时刻出声。到期任务会把任务数据库里的任务一并纳入,仅这些日历限定提醒的来源(什么都不勾选即表示全部,之后新连接的日历也会自动包含在内)。
与手机的差别写在设置里,而不是小字里。 在手机上,提醒交由操作系统接管,应用关闭时也会被唤醒。电脑上没有这道交接:Plainva 自己唤醒,因此必须处于运行状态。 应用关闭时提醒会落空,事后也不会补发。作为交换,这里没有数量上限。
通知本身不带按钮——电脑不提供这一点。操作改放在应用内的提示中:日程是在日历中显示,任务是打开任务。窗口不会因此抢到最前面。
在后台继续运行
电脑上的提醒只有在 Plainva 运行时才会送达,因此设置 → 启动与行为 → 后台提供两个开关——分开设置,因为这是两个不同的愿望,且默认都关闭:
- 随系统启动会在登录时注册 Plainva。
- 关闭窗口后在通知区域继续运行会在通知区域放一个 Plainva 图标;此后关闭窗口不再退出应用,而是把它收进那里。通过图标可用打开回来,查看下一个日程,并用退出结束 Plainva。
第二个开关会自证。 并非每种桌面环境都提供通知区域,而图标是否真的出现也无法可靠预测。因此 Plainva 会先把图标放上去,再问你是否看得到。只有回答“看到了”才保留该设置;回答“没有”时图标会被撤下,开关保持关闭。这样窗口就绝不会在没有回头路的情况下消失。下次启动时同样如此:如果那时图标无法创建,该设置会自行关闭。
下方的提醒出现的条件一行随时说明当前情况——Plainva 运行期间或窗口关闭时也会出现。
需要知道: Plainva 在后台继续运行时,同步、日历刷新和备份检查也在继续。下次打开时仓库已是最新——应用在你看不见的时候仍在工作。
在日历中显示数据库
日历可以把数据库中的条目与日程一同显示。视图上方的显示:栏列出每一个指定了日期列、类型为日历或时间线的 .base 视图。点击一次显示,再点一次隐藏。
这样显示的条目始终能被认出是笔记:虚线边、前面一个菱形,绝不使用日程那种实心样式。点击打开的正是数据库行本来就有的预览。拖到另一天会写入该笔记的日期列——与在表格中编辑该单元格完全相同。若该列带有时间,条目会落在当日网格的对应小时;没有时间则留在全天区。
显示哪些视图属于该 vault,并随设置同步一起传递:你的日历在电脑和手机上是一样的。
**反过来也一样:**在数据库的日历视图中,背景中的日程按钮会把当天真正的日程显示为一行淡色文字——让你看清自己在对着什么安排。它们有意只作背景:不是该数据库的行,也不可点击。
把数据库条目写入日历
带日期的条目可以变成服务商处的真实日程。条目所在行的菜单(手机上是它的操作面板)提供添加到日历。日程会采用该条目的日期——若该列带时间就带上时间,否则作为全天日程——并附带一个指回笔记的链接。
此后两者保持关联,遵循三条固定规则:
- 在 Google、Outlook 或 CalDAV 服务器上移动该日程,笔记的日期列会随之改变。
- 删除该笔记时,删除对话框会说明它与日程相关联。日程会保留在你的服务商处——Plainva 绝不会顺带删除它。
- 删除该日程时,只有关联消失。笔记及其日期原封不动。
这和给任务预留时间不是一回事:那里你是为某件事预留时间,任务的日期原地不动。这里你说的是:这个条目就是这个日程。