Notion Sync

🔄 Markdown 与 Notion 无缝双向同步

双向同步 Markdown 与 Notion 页面,支持数据库管理、变更监控与协作编辑,适合团队知识库与研究追踪场景

收藏
12.3k
安装
4k
版本
2.4.0
CLS 安全性认证2026-06-23
点击查看完整报告 >

使用说明

核心用法

notion-sync 是一套基于 Node.js 的 Notion 工作流工具集,提供 Markdown 与 Notion 的双向同步能力,支持页面搜索、数据库查询、属性更新、变更监控等完整生命周期管理。

主要功能模块:

  • 双向同步md-to-notion.js 将本地 Markdown 推送至 Notion(支持 H1-H3、加粗、链接、代码块等格式),notion-to-md.js 反向拉取为 Markdown
  • 数据库操作query-database.js 支持复杂过滤与排序,add-to-database.js 将 Markdown 添加为数据库条目,update-page-properties.js 批量更新页面属性
  • 变更监控watch-notion.js 持续追踪页面编辑时间戳,输出 JSON 状态供自动化流程集成(如 cron 定时检查)
  • 搜索与发现search-notion.js 按标题/内容搜索页面和数据库

安全设计亮点:v2.0 强制移除命令行明文 --token,改用 --token-file--token-stdinNOTION_API_KEY 环境变量,避免凭证泄露于进程列表;默认自动读取 ~/.notion-token(权限建议 600)。

显著优点

1. 零依赖:纯 Node.js 内置模块(https/fs),无需 npm install,部署极轻量
2. 批量与限流:自动分批上传(100 blocks/请求)、350ms 间隔,适配 Notion API 速率限制

3. 状态持久化:监控状态保存于 JSON,支持自定义路径与 ~ 展开

4. 工作流友好:输出结构化 JSON,易于接入 CI/CD、通知系统或脚本流水线

潜在局限

  • 属性限制:数据库自定义属性(Type/Tags/Status)需手动在 Notion UI 补充,API 对 inline database 支持不稳定
  • 格式边界:复杂表格、三层以上嵌套列表转换可能不完美
  • 大文件延迟:>1000 blocks 文件因限流需数分钟完成同步
  • 仅支持 Internal Integration:需手动分享页面/数据库给集成,不支持 OAuth 用户授权

适合人群

  • 技术写作者、研究员:本地 Markdown 编辑 + Notion 发布/归档
  • 产品经理/项目经理:数据库驱动的任务追踪、研究素材库
  • 开发团队:文档即代码(Docs as Code)工作流,结合 Git 与 Notion
  • 自动化爱好者:通过 cron/GitHub Actions 实现定时同步与变更提醒

常规风险

  • Token 泄露:若误用旧版 --token 或权限设置不当的 token 文件,可能导致工作区数据暴露
  • 归档误操作delete-notion-page.js 实为 archive 而非永久删除,但恢复仍需手动操作
  • API 变更:Notion API 版本迭代可能导致脚本兼容性问题(当前基于 2022-06-28 版 API)

安全解读

核心功能

notion-sync 是一套基于 Node.js 的 Notion 双向同步工具集,提供 7 大核心能力:

1. 双向内容同步:Markdown ↔ Notion 页面互转,保留完整格式(标题、列表、代码块、链接等)
2. 数据库操作:查询、过滤、排序数据库,批量更新页面属性

3. 变更监控:定时检测 Notion 页面修改,输出 JSON 状态供自动化流程集成

4. 内容管理:新增页面、归档页面、获取数据库结构

显著优点

  • 零外部依赖:仅使用 Node.js 内置模块(https/fs/path),供应链攻击面为零
  • 安全凭证处理:支持文件、stdin、环境变量三种 Token 传递方式,禁止命令行暴露敏感信息
  • 官方 API 直联:所有通信通过 HTTPS 访问 api.notion.com,支持速率限制与错误重试
  • 批量上传优化:自动分块处理(100 blocks/请求),内置 350ms 延迟防止触发限流
  • 状态持久化:本地 JSON 状态文件跟踪页面最后编辑时间,支持自定义存储路径

局限性与注意事项

  • 数据库属性限制:Type/Tags/Status 等属性需在 Notion UI 手动设置,API 对行内数据库支持不稳定
  • 格式兼容性:复杂表格、三级以上嵌套列表可能转换不完美
  • 大文件性能:>1000 blocks 的文件因速率限制需数分钟完成同步
  • 来源可信度:T3 级别(个人开发者维护),虽 MIT 开源可审计,关键环境建议独立审查

适用人群

  • 技术写作者:本地 Markdown 写作 + Notion 发布协作
  • 研发团队:技术文档版本控制与 Notion 知识库同步
  • 项目经理:自动化监控 Notion 项目看板变更
  • 研究者:批量将分析结果导入 Notion 数据库跟踪

安全风险与缓解

| 风险点 | 缓解措施 |
|--------|----------|
| API Token 泄露 | 强制使用 --token-file 或环境变量,文件权限建议 600 |
| 中间人攻击 | 强制 TLS 1.2+,仅连接官方域名 |
| 供应链攻击 | 零 npm 依赖,所有代码可审计 |
| 数据残留 | 状态文件仅含时间戳,无敏感内容 |

安全等级:A(优秀),静态分析 95 分,依赖审计满分,符合 GDPR/CCPA 数据最小化原则。

Notion Sync 内容

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