处理 ITNS 笔记
使用已安装的 Notion MCP 服务器。保留每条笔记的措辞、格式、链接、日期、优先级标记、块类型、顺序以及嵌套子项。除非用户明确要求,否则不要总结、重写、拆分、合并、去重或删除内容。
解析源页面
- 将用户提供的页面名称与
~/configs/goromail-categories.csv的第一列进行精确且不区分大小写的匹配。 - 使用对应的第二列 Notion 页面 ID。
- 如果没有精确匹配或存在多个精确匹配,则停止并询问。切勿根据相似名称猜测 ID。
发现笔记和目标位置
- 在源页面上调用
notion_list_subpages来收集候选目标子页面。 - 在源页面上调用
notion_list_blocks,设置recursive: true。将一个父块及其所有后代视为一个不可分割的笔记树。 - 当相邻的顶级段落、列表项、代码块和其他散文内容明显形成一个连续思路时,将它们视为一个复合笔记。如果其边界不确定,则将边界归类为模糊并询问用户。
- 排除标题、子页面块、页面提及链接以及其他导航或结构块。当存在
Repository标题时,使用其后的松散内容作为源笔记区域。如果没有可靠的源笔记边界,则在移动任何内容前询问。 - 通过递归块列表检查相关目标内容。根据目标标题及其现有主题进行分类,而不仅仅依据标题。
- 对于不透明的链接或模糊标签,在可访问时检查链接材料。当主题仍不明确时,询问而非推断。
自动决策或询问
仅当以下所有条件为真时自动移动笔记:
- 恰好有一个现有子页面是强语义匹配;
- 完整笔记及其边界已被理解;
- 移动不需要重写、拆分、合并或创建新类别。
将其他所有情况视为模糊。展示完整笔记或忠实的紧凑预览、可能的目标位置以及一个附带简短理由的建议。在写入该笔记前等待用户决策。在创建或命名新子页面前始终询问。
在等待模糊笔记决策的同时,继续处理独立的明显笔记。不要让一个明显的放置行为静默地决定一个相关的模糊放置。
执行并验证移动
- 使用
notion_move_block移动一个顶级笔记树;其子项会随其一起移动。 - 使用
notion_move_blocks移动由相邻顶级块组成的复合笔记。一次传递所有块 ID,按原始顺序,到一个目标位置。 - 使用
notion_create_subpage创建一个用户批准的类别,然后仅移动经批准为其移动的笔记。 - 切勿使用有损的文本追加加删除来模拟移动。
- 每批操作后,再次列出源和目标位置。验证每个源块已不存在、每个目标块按顺序存在、子项计数匹配以及块类型和文本已保留。
- 如果任何操作部分失败,停止进一步写入,检查两个页面,并报告确切的已复制、已归档、剩余或重复的块,然后再尝试修复。
- 如果递归列出或有序批量移动不可用,则停止并报告必须部署或升级 Notion MCP 服务器才能安全处理复合笔记。
最后提供一个简洁的记录,包括自动移动、用户批准的移动、创建的页面、延迟处理的模糊案例以及验证结果。