Vibe Notionbot

📝 官方 API 驱动,Markdown 批量同步无忧

通过官方 Notion API 安全操控工作区,支持页面、数据库、区块的批量操作与 Markdown 内容同步,适合需要稳定、可编程管理 Notion 的开发者与团队。

收藏
5.3k
安装
1.4k
版本
0.8.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

vibe-notionbot 是一款基于 TypeScript 的 CLI 工具,封装了 Notion 官方 API,使 AI Agent 和人类用户能够以标准化方式与 Notion 工作区交互。与兄弟工具 vibe-notion(使用非官方私有 API)不同,此 CLI 采用官方版本化 API,稳定性更高,但需要手动配置 Integration Token。

主要能力矩阵:

  • 页面管理:创建、更新、归档、属性查询,支持 Markdown 文件直接导入(含本地图片自动上传)
  • 数据库操作:Schema 查询、条件过滤、排序、分页查询,以及数据库创建与属性更新
  • 区块编辑:层级化区块追加(支持 --before/--after 精准定位)、Markdown 嵌套列表解析、文件上传为 image/file 区块
  • 批量操作batch 命令支持单次调用执行最多 11 类写操作(页面/区块/数据库/评论的增删改),通过 --file 处理大规模 JSON 指令集,内置多阶段批处理策略解决跨引用依赖
  • 搜索与协作:全工作区搜索(按类型过滤)、用户列表、评论线程管理

关键设计约束:

  • 零脚本原则:明确禁止编写任何语言(Python/TS/Bash)的循环脚本调用 API,所有批量场景必须通过 batch 命令完成
  • CLI 唯一入口:禁止直接调用 Notion HTTP API 或使用 @notionhq/client,以规避凭证泄露和滥用检测风险

显著优点

1. 官方 API 背书:基于 2022-06-28 版本 API,享受 Notion 的版本稳定性承诺,不会因私有接口变更而失效
2. Markdown 原生支持:可直接将 .md 文件连同本地图片批量导入为 Notion 页面,保留层级结构,大幅降低内容迁移成本

3. 批量原子化batch 命令将多次写操作合并为单次 CLI 调用,显著降低 Token 消耗和 API 调用次数;失败时提供精确索引便于断点续传

4. 多阶段引用解析:通过"先创建、后关联"的两阶段批处理,解决新建页面/数据库间的交叉引用问题,无需编写脚本

5. 精准区块插入:支持 --before--after 参数在任意位置插入区块,突破 Notion API 仅支持尾部追加的限制

潜在缺点与局限性

  • 功能取舍:相比 vibe-notion,不支持视图管理(View CRUD)、工作区列表查询,需根据场景在两者间选择
  • OAuth 缺失:仅支持 Integration Token,无法支持 OAuth 流程,对多用户场景或临时授权不够友好
  • 速率限制敏感:官方 API 存在请求频率上限,大规模批量操作(30+)需手动拆分为 ~25 规模的 chunk,增加调用复杂度
  • 属性更新简化:命令行更新页面属性仅支持简单键值对,复杂结构化数据需使用原始 JSON
  • 手动凭证配置:需用户主动在 Notion Developer Portal 创建 Integration 并分享页面权限,入门门槛高于自动提取 token_v2 的方案

适合人群

  • 需要稳定集成的开发者:对 API 稳定性要求高,不愿承担非官方接口的变更风险
  • 内容自动化迁移场景:频繁需要将 Markdown 文档(尤其含图片)批量导入 Notion 的内容团队
  • AI Agent 工作流构建者:希望通过标准化 CLI 而非脚本编程,实现 Notion 工作区的可编程管理
  • 多阶段数据流水线:需要在一次操作中创建大量互相关联的页面/数据库,且希望避免编写复杂脚本的用户

常规风险

| 风险类别 | 具体描述 | 缓解措施 |
|---------|---------|---------|
| **凭证泄露** | `NOTION_TOKEN` 若被硬编码或日志泄露,可导致工作区数据暴露 | 严格通过环境变量注入,禁止在脚本中明文存储 |
| **误操作覆盖** | `batch` 失败后的部分成功状态若未正确处理,可能导致重复创建或遗漏 | 每次 batch 后解析 JSON 输出,利用 `index` 字段实现断点续传 |
| **速率限制中断** | 大规模操作触发 429 错误,中断批处理流程 | 主动将操作拆分为 25-30 规模的 chunk,失败后仅重试未处理部分 |
| **权限范围失控** | Integration Token 默认仅访问用户明确分享的页面,权限配置错误导致 `object_not_found` | 操作前验证 `auth status`,确保目标页面已分享给 Integration |
| **数据残留** | `page archive` 实际为软删除,敏感数据可能通过恢复机制留存 | 对极高敏感场景,需结合 Notion 企业版的数据治理策略 |

决策建议

若用户已安装 Notion 桌面应用且追求功能全面性(视图管理、零配置),优先推荐 vibe-notion;若追求稳定合规、Markdown 批量导入、或处于无桌面环境(如 CI/CD 管道),则 vibe-notionbot 为正确选择。两者可在同一项目中按需切换,但严禁混用直接 API 调用。

Vibe Notionbot 内容

手动下载zip · 5.2 kB
SKILL.mdtext/markdown
请选择文件