评论与建议

Stand: 2026-09-10

评论和建议在每个保险库中都可用——无论有没有同步、有没有加密。在加密工作区中,它们是带签名的对象(见 安全与共享);在其他任何地方,它们带有设置中 你的名字(批注与审阅) 的名字。建议是带有替换文本的评论:两者经过同一存储、同一列、同一面板。 若没有名字,Plainva 会在首次评论时询问一次;未回答时,设备以自身标签(如“Windows 设备 4f3a”)署名。你自己的批注显示为

笔记上的评论

Commenter 会获得一个只读编辑器,旁边是 评论。在正文中选中一段并写下你的批注,评论便挂在该段落上,而不是整篇文档。回复构成一条会话,解决 将其归档。评论和解决标记本身就是经过加密和签名的工作区对象;笔记仍是纯 Markdown,任何回复都不会进入它的版本历史。 通过笔记工具栏中的 评论 按钮可以显示或隐藏该栏,按钮上带有未解决讨论的数量;Plainva 会按 Vault 记住你的选择,否则只在笔记有未解决讨论时才打开该栏。栏头可以计数、筛选(未解决 · 全部)和静音;每张卡片顶部显示谁在何时写下,悬停或选中时显示操作。你可以 删除 自己的评论或建议(卡片上的垃圾桶,确认就在原处);所有者和管理员可以删除任何人的。删除意味着对所有人隐藏——封存的记录仍保留在存储中。

在评论框中输入 @,Plainva 会列出工作区的成员;选中后,名字会作为普通文本写入评论。提到你的讨论会移到栏目顶部,并带上 提到了你 标记 —— 已解决的讨论则不会,它不再需要关注。提及从不存储,而是在显示时从文本中读出:成员改名后,旧评论会跟着新名字;成员离开工作区后,高亮会消失,而输入的文字原样保留。

为了让评论在之后的修改后仍能找回自己的段落,Plainva 会在该段落两侧写入不可见的 HTML 注释。其他编辑器不会显示它们;如果你仍不希望文件里出现这些内容,可在 内容与结构 中关闭 在笔记中标记已评论的段落 —— 此时 Plainva 通过引用文本来定位段落。若已无法找到,评论会如实说明,而不是随意指向别处。 在 实时 模式下这些标记是不可见的——包括你正在输入的那一行;光标会跳过它们。只有 源码 模式会显示它们。

并非每条批注都针对某个句子。评论同样可以挂在图片图表表格单元格上,或挂在属性面板中的属性上。每一种都有自己的入口:图片或图表上的小气泡、单元格菜单中的条目、属性行上的圆点。在图片上你还可以拖出一个矩形,指明你说的是哪个位置 —— 不拖动而直接点击则表示整张图片。此时卡片会说明自己挂在什么上,而不是引用文本:“针对图片”“图片中标记的位置”“针对图表”“单元格 · 第 2 行,“Status”列”“针对属性‘Status’”。这些锚点不会向笔记中写入任何内容:上面说的标记对用于文本段落,图片或单元格并不需要。 悬停在表格单元格上时会显示与图片相同的气泡;单元格菜单(右键)仍然是第二种方式。已经带有评论的单元格则会在右上角显示一个小 三角形,点击它即可打开卡片。一个单元格只有一条评论;想补充的人在其会话中回复。 在数据库中两者都可直接使用: 右键点击单元格会出现评论该属性(手机上,该项位于点按单元格打开的面板里),单元格中带数字的小气泡则会在该条注释处打开该条目。

阅读视图 显示与编辑器相同的标记:着色的文字段、带角标三角形的已评论单元格,以及图片及其标记区域;点击即可打开卡片。当表格中有多个单元格被评论时,每一个都带有自己的三角形。

东西会移动,而卡片会如实说明,不会指向错误的位置。单元格会通过其内容被重新找到:在其上方插入一行会使它移动,卡片会指出新的行号;内容已经改变的单元格,卡片也会如实说明。已经不存在的属性会给出评论写下时它所记录的值 —— 否则批注虽然还能读,却已无法理解。仅仅被改名的属性,评论会通过管理它的 .base 重新找到,并因此跟随新的名称。而被评论过的属性也会在数据库中显示圆点,不只是在笔记里 —— 否则针对状态列提出的问题,对所有查看看板的人都将是不可见的。

提出修改建议

阅读、实时与源码旁的 建议 就是提出修改的方式:你在笔记的副本中输入——删除的文字保持删除线,新文字带有标记——而文件本身不会改变。笔记上方的横条会统计更改数,可选填一句关于这一轮的话,并提供 放弃发送建议。发送后,每个更改块都会成为一条建议;纯插入会成为位于两个词之间的插入点。任何拥有评论权限的人都可以提出建议,无论是否有写入权限。一次发送的建议会作为 一轮 出现在评论栏的 建议 标签下:那句话、块的数量,以及——只要还有多个未处理——全部应用全部拒绝。每个块仍可单独 接受拒绝;接受会把正是这一段作为普通编辑改写,和其他编辑一样纳入版本历史。如果正文在此期间已发生变化,则不会写入任何内容,并会告知该段落已不再匹配。正文本身会像 Word 那样显示未处理的建议:段落带删除线,新措辞紧随其后,悬停时出现 接受拒绝;若不想看到,可在栏头关闭 在正文中显示更改。离开笔记会保留你未发送的副本;再次打开时你会回到该模式。 点击正文中带删除线的段落或插入药丸,会选中该建议的卡片——侧栏切换到建议标签并滚动到它;点击卡片则跳转到对应位置。与评论完全一样。 如果你在发送前离开了笔记、仓库或应用,副本会保存在此设备上:下次打开时,发现未发送的建议 会让你选择继续或放弃——若笔记在此期间已被修改,各更改块会被重新定位,找不到位置的内容会作为备注附加。

创建任务 把一条会话变成工作:Plainva 会在 默认任务数据库 中建立任务 —— 使用它的模板、它的存放文件夹和它的完成列,与在那里产生的任何其他任务完全一样。评论的第一行成为标题,被引用的段落作为引文进入任务,链接则通向那条笔记。评论本身留在原处,并获得一条指明新任务的回复 —— 而且它仍算作未解决:搬走的是工作,不是这场对话。若未设定默认任务数据库,Plainva 会明说,而不是随便找个地方建一条笔记。 回复会立即出现,其中指向任务的链接可以点击,提示中提供 打开;推送到提供商列表的操作在后台进行。

在手机上

在手机上,同样的会话位于底部面板而非侧栏,轻点引用片段即可跳转到笔记中的对应位置。阅读、回复、解决以及对建议作出决定同样可行,正文之外的锚点也可以在那里创建 —— 图片(含用手指拖出的区域)、图表、表格单元格和属性。属性行在那里通过长按打开,而不是通过按钮:该行本身已经是一个按钮,在其中再放一个按钮会让它无法操作。在某个段落上发起评论,从阅读模式的选区开始:选中文字,然后在上方的栏中选择评论建议。提出修改也可以通过菜单——笔记菜单中的 建议 会打开同一模式和同一横条,面板则在 建议 下显示各轮建议,并提供 全部应用全部拒绝创建任务 在那里同样可用。 面板具有相同的栏头、相同的卡片、正文内显示的开关以及删除功能;应用和拒绝仍在面板中,而不在正文里。 点击正文中着色的段落或建议,会在对应卡片处打开面板。

通知与总览

当有人写下内容时,Plainva 可以通知你 —— 设置 → 内容与结构 → 批注通知。在你打开它之前它保持关闭,而打开的那一刻就是零基线:在此之前的内容不会事后补发通知,它们本来就在总览里。你可以选择通知范围仅提及与我相关的(默认值 —— 提及、你参与过的会话中的回复、对你笔记的批注,以及对你建议的处理结果),或者全部。有两件事在任何设置下都会通知你,否则就会被淹没:当某个发布的访客回写了内容时,以及当某条建议在等待你的决定时。你自己写下的内容永远不会通知你。每个周期只发一条消息,而不是每条批注一条;只有当恰好有一条是新的时,消息才会写明笔记和相关的人。单条笔记可以通过评论栏中的铃铛静音,已解决的会话则永远不会再提醒。

通知会出现在锁屏上,因此在通知中显示笔记和内容这个开关就在旁边。关闭后,通知只说明有新内容到达 —— 不显示姓名、笔记标题和正文。如果仓库处于锁定状态,无论如何都不会有预览:批注是加密送达的,在此之前没有任何东西能打开它。这不是故障,而是加密在正常发挥作用。点击消息会打开笔记并高亮对应的卡片;如果有多条,则会进入总览。在手机上,消息会比桌面端来得晚,而这在设计上无法消除:Plainva 没有可以推送到设备的服务器 —— 那将意味着一台外部服务器会知道谁在何时评论了哪条笔记。因此批注是在设备本来就会查看的地方被发现的:同步周期之中。桌面端的同步持续运行;手机则在你打开它或它回到前台时才会察觉。

未处理的评论把 Vault 中所有尚未解决的会话集中到一处——否则你只能逐篇打开笔记,才能看到哪里还有事情等着你。在桌面端,你可以从操作栏命令面板打开这个总览;在手机上它是一个独立区域,通过区域即可到达,也可以放进底部栏。与我相关只显示用 @ 提到你的会话——与提到了你标记同一条规则——全部则显示每一条未解决的会话。点击一条记录会在被评论的位置打开对应笔记。已解决的会话会从列表中消失:它是一份待办清单,不是归档。

当汇总通知报告多条新批注时,点击它会在 新的 标签页上打开概览——正是通知所指的那些线程;旁边是 全部给我的

批注存放的位置

没有工作区时,批注保存在保险库的 .plainva/sync/ 下,每台设备一个文件 comments.<设备>.json——有同步口令时封存为 .enc。它们从不写入笔记,回复也不会进入笔记的版本历史。每台设备只写自己的文件并读取全部文件,因此当文件夹通过 Dropbox、iCloud、Syncthing、网络共享或 Git 共享时不会冲突:这些文件像其他文件一样传输,在 Git 保险库中属于历史记录的一部分。Plainva 的同步连接也会自行传输它们。所有设备应使用相同版本的 Plainva:旧版本只读取以前的共享文件 comments.json,该文件仍会被读取,但不再写入。

当另一台设备的文件通过外部同步到达时,桌面版会在文件夹报告变化后立即显示;手机则在下次打开或回到前台时显示。

如果保险库设有同步口令,而此设备尚未输入,则批注处于已锁定状态:列、面板和总览会说明这一点并提供 解锁。在此之前不会读取或写入任何内容——已锁定的设备绝不会在封存文件旁放置明文文件。

在 Plainva 中重命名或移动笔记(或整个文件夹)时,其批注会一同跟随。即使第一条评论尚未到达,或旧历史记录仍被锁定,Plainva 也会记录移动。重新打开或解锁后,延迟收到的评论可以沿已保存的路径变更找到笔记。如果将旧文件名用于新笔记,该新笔记上的较新批注会留在原处。

这些本地记录仅包含路径变更及其原始时间。评论文件损坏或无法更新时,它们仍会保留;同步会通过常规评论数据包传输移动标记,启用口令时会加密。如果连本地记录也无法保存,重命名仍然有效,Plainva 会发出警告。请检查存储空间和文件访问权限;批注可能仍以旧名称显示在 未处理的评论 中。

无法读取的批注文件绝不会被覆盖:此设备自己的文件会原样移至一旁(comments.<设备>.broken-<时间>.json),其他设备的文件保持原位。Plainva 会报告原因一次,并提供 导出诊断——只含路径和原因,绝不含评论文本。

同时提交的回复、移动标记和正在进行的同步会在写入时合并。云端文件缺失、为空或版本较旧时,不会删除已接收的评论。连接新的同步目标时,本地旧格式记录和从其他设备收到的评论也会使用原始 ID 传输;重复副本会显示为同一条评论。

另存本设备损坏的文件之前,Plainva 会读取整个备份并与原文件比较。如果失败,原文件会保留,新评论不会保存,Plainva 会显示备份错误。请检查可用空间和文件访问权限,然后重新发送。只有在本设备和同步目标上都有可读取的加密副本,并且包含全部源内容时,才会删除明文源文件。如果源文件在此期间发生变化,它会保留到下次成功同步。

未完成的操作与冲突的决定

Plainva 会在本设备上记录每项批注操作的进度。如果正文已保存,但批注尚未更新,提示中会提供 重试。重试会继续未完成的步骤,不会撤销已保存的正文或之后的输入。只发送了一部分的建议轮次会继续发送原来的建议;工作副本中后续的更改仍保留为未发送状态。

如果正文确认前笔记发生了变化,请打开 比较文本。将计划的更改与当前正文进行比较,必要时自行编辑笔记。重试会重新检查,不会用旧版本替换不同的正文。

如果设备报告了不同的决定,卡片会显示 相互矛盾的决定。使用 核对决定 将建议与当前笔记进行比较。确认为已应用确认为已拒绝 会确认这份正文,并且只替换此处已知的决定,不会再次插入建议。之后收到此前未知的相反决定时,可能会再次显示冲突。

工作区中的旧评论

桌面端和移动端在加密工作区中使用同一套签名评论存储。离线撰写的评论会保留在发件箱中。发送失败后,可以重试发送同一条评论,不会重复创建已保存的评论。

旧评论文件中的内容会保留,并在具备工作区管理权限和评论权限时导入。标为来自旧记录的评论会保留原始姓名和日期。这些信息并不追溯证明工作区成员身份;新签名确认的是导入操作。如果缺少权限、已同步的目标笔记或成功保存的结果,旧评论仍保持可见。在目标关联被持久保存之前,无法对它执行回复、删除或建议操作。导入不会重新发送旧记录的通知。

如果仅旧记录被锁定,解锁操作会打开同步口令输入流程;仍可撰写新的工作区评论。如果工作区本身被锁定,则打开安全设置。更新前已开始的建议操作会保留已保存的进度,并可在当前权限允许时继续。导入不会删除原始评论文件。