核心用法
vibe-notionbot 是基于官方 Notion API 的 TypeScript CLI 工具,面向 AI Agent 和开发者提供完整的 Workspace 管理能力。核心命令覆盖六大资源类型:
- Page:创建、更新、归档,支持 Markdown 导入与本地图片自动上传
- Database:Schema 查询、属性变更、分页查询(含过滤/排序)
- Block:层级内容操作,支持追加、更新、删除、上传文件块,以及
--after/--before精确定位插入 - User:Workspace 用户列表与 Bot 身份自省
- Search:全 Workspace 搜索,支持类型过滤与排序
- Comment:页面与块级评论的增删查
批量操作是最大亮点:通过 batch 命令单次执行 11 类操作(page/block/comment/database),支持 JSON 内联或 --file 文件输入。多轮批量策略可处理跨引用场景(先创建再更新引用),避免手写脚本循环调用 API。
显著优点
1. 官方 API 稳定性:基于 @notionhq/client,版本化 API(2025-09-03),规避私有 API 失效风险
2. 零脚本自动化:batch 替代 Python/Bash 脚本,天然支持失败定位与断点续传
3. Markdown 原生支持:--markdown/--markdown-file 自动转换 Notion 块结构,图片自动上传
4. 精确定位插入:--after/--before 参数实现块级位置控制,优于多数官方 SDK 的尾部追加局限
5. AI 友好输出:默认 JSON 输出,可选 --pretty 人工阅读
潜在缺点与局限性
- 认证门槛:需手动在 Notion Developer Portal 创建 Integration 并获取
NOTION_TOKEN,无法像vibe-notion(私有 API 版)自动提取桌面端 token - 功能阉割:不支持视图管理(View)、Workspace 列表、跨行数据库更新等高级功能
- OAuth 缺失:仅支持 Token 认证,无法做用户态 OAuth 集成
- 速率限制敏感:批量操作 30+ 项易触发 429,需手动分块
- 属性更新受限:
--set仅支持简单键值,复杂公式/关系属性需走 batch update
适合人群
- 需要稳定、长期维护的 Notion 自动化方案的团队
- AI Agent 开发者(JSON 原生输出 + batch 原子操作)
- 已有 Notion Integration Token 且接受手动配置的用户
- 不适合:追求零配置开箱即用、依赖视图管理或 OAuth 登录的场景
常规风险
- Token 泄露:
NOTION_TOKEN需妥善保管,硬编码或日志泄露可导致 Workspace 数据风险 - 批量误操作:batch 的 fail-fast 特性可能留下半完成状态,建议关键操作前做数据库备份
- API 变更:虽官方 API 稳定性高,但 2025-09-03 版本后升级需关注 breaking changes
- Rate Limit:高频自动化任务需实现退避重试,或主动控制 batch size 在 25-30 以下