Notion Sync

🔄 双向同步 Markdown 与 Notion 数据库

双向同步 Markdown 与 Notion 页面,支持数据库查询、属性更新与变更监控,适合协作编辑与项目管理。

收藏
11.8k
安装
3.9k
版本
2.1.0
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心功能

Notion Sync 是一套基于 Node.js 的命令行工具集,实现 Markdown 文件与 Notion 工作空间的双向同步。核心能力包括:

  • 双向内容同步:将本地 Markdown 推送为 Notion 页面(保留标题、列表、代码块等格式),也可将 Notion 内容导出为 Markdown
  • 数据库操作:查询数据库、更新页面属性(状态、标签、日期等)、添加 Markdown 为新数据库条目
  • 变更监控:持续跟踪 Notion 页面编辑时间戳,检测与本地文件的差异,支持自动化工作流集成

显著优点

  • 零依赖:仅使用 Node.js 内置模块(https、fs),无需 npm install,部署极简
  • 安全灵活的认证:支持文件、环境变量、stdin 管道等多种令牌传递方式,避免命令行历史泄露
  • 批量与限速处理:自动分批上传(100 blocks/次)并内置 350ms 延迟,优雅应对 Notion API 限速
  • 协作友好:支持「本地编辑 → 推送到 Notion → 他人协作编辑 → 监控变更 → 拉回本地」的完整闭环

局限性与风险

  • 属性更新限制:数据库元数据(Type、Tags 等)创建后需手动在 Notion UI 中设置,API 对行内数据库支持不稳定
  • 格式兼容边界:复杂表格、深层嵌套列表(>3 级)转换可能不完美;超大文件(>1000 blocks)同步耗时较长
  • 令牌管理责任:用户需妥善保管 ntn_ 开头的 Integration Token,泄露可能导致工作空间数据暴露
  • 非永久删除:"删除"操作实际为归档(archived: true),数据仍占用存储

适用人群

  • 技术写作者、研究员:需要在本地 Markdown 环境与 Notion 协作空间之间流转内容
  • 项目经理:通过数据库跟踪任务状态、研究输出
  • 自动化工程师:将 Notion 集成到 CI/CD 或定时任务,实现文档发布管道

安全风险

  • 令牌泄露:若使用 --token 参数直接传递,令牌会出现在进程列表(ps)和 shell 历史中
  • API 权限:Integration 需显式共享页面/数据库,过度授权可能导致意外数据访问
  • 网络传输:依赖 Notion 官方 API(notion.so),数据经 HTTPS 加密传输,但需信任 Notion 平台本身

安全解读

核心用法

Notion Sync 是一套基于 Node.js 的命令行工具集,专注解决本地 Markdown 与 Notion 工作区的双向同步需求。主要能力包括:

1. 双向内容同步md-to-notion.js 将本地 Markdown 推送到 Notion 页面(支持标题、列表、代码块等格式),notion-to-md.js 则将 Notion 页面内容拉取为 Markdown 文件
2. 数据库管理query-database.js 支持复杂过滤和排序查询;add-to-database.js 将 Markdown 内容作为新页面添加到数据库;update-page-properties.js 更新页面属性状态

3. 变更监控watch-notion.js 监控 Notion 页面编辑时间,与本地文件对比,输出 JSON 状态供自动化流程消费

4. 搜索与发现search-notion.js 跨工作区搜索页面和数据库

显著优点

  • 零依赖架构:仅使用 Node.js 内置模块(https/fs/path),无 npm 依赖树风险,供应链攻击面极小
  • Token 安全设计:提供文件、stdin、环境变量、命令行四种传递方式,文档明确标注安全等级,推荐方案避免历史记录泄露
  • API 行为可控:所有网络请求限定于 Notion 官方 API,无异常外联
  • 自动化友好:JSON 输出格式、状态文件持久化、可嵌入 cron/CI 流水线
  • 批处理优化:自动分片上传(100 块/批次)、350ms 速率限制,处理大文件稳健

潜在局限

  • 属性更新受限:数据库自定义属性(Type/Tags/Status 等)需在 Notion UI 手动设置,API 对行内数据库支持不稳定
  • 格式转换边界:复杂 Markdown(表格、深层嵌套列表)转换可能不完美
  • 大文件延迟:超过 1000 块的内容同步耗时较长
  • 状态文件权限:监控状态存于本地 JSON,未默认设置严格文件权限
  • 来源可追溯性:个人开发者维护(T3),长期维护稳定性需关注

适合人群

  • 技术写作者、研究员:需要本地 Markdown 编辑 + Notion 协作分享
  • 项目经理:构建自动化内容入库、状态追踪、变更通知工作流
  • 开发团队:将 Notion 作为轻量级 CMS,通过 CI 同步文档站点
  • 个人知识管理用户:偏好 Markdown 本地存储,同时利用 Notion 的跨端访问

常规风险

  • Token 泄露:若使用 --token 参数,凭证暴露于 shell 历史和进程列表;应改用文件或环境变量方式
  • 误操作覆盖:双向同步缺乏合并冲突机制,需配合监控脚本人工确认
  • API 速率限制:Notion API 约 3 请求/秒,超大文件同步可能触发限流
  • 归档非删除delete-notion-page.js 实际为归档操作,敏感内容需额外确认清理策略

Notion Sync 内容

references文件夹
scripts文件夹
手动下载zip · 24.9 kB
API-REFERENCE.mdtext/markdown
请选择文件