Notion 笔记
通过 oo CLI 的 Notion connector 在 Notion 中管理笔记。所有操作基于已认证的 Notion 连接器,无需手动传 token。
可用操作
1. 搜索笔记 notion.search
按关键词搜索 Notion 页面和数据库。
oo connector run "notion" \
--action "search" \
--data '{"query": "<搜索关键词>"}' \
--json
可选参数:
filter: 过滤条件对象,如{"property": "object", "value": "page"}sort: 排序对象pageSize: 每页结果数(1-100)startCursor: 分页游标
输出包含 results(结果列表)、hasMore、nextCursor。
2. 创建页面 notion.create_page
在指定父页面下创建新笔记。
oo connector run "notion" \
--action "create_page" \
--data '{"parentId": "<父页面ID>", "title": "<页面标题>"}' \
--json
可选参数:
children: 子内容块数组(段落、标题、列表等)properties: 页面属性对象icon: 图标对象,如{"type": "emoji", "emoji": "📌"}cover: 封面图片对象
输出返回 pageId。
3. 读取页面 notion.get_page
获取页面属性和一级子块内容。
oo connector run "notion" \
--action "get_page" \
--data '{"pageId": "<页面ID>"}' \
--json
输出包含 page(页面对象)和 blocks(子块列表)。
4. 追加内容 notion.append_block
向已有页面追加一个段落块。
oo connector run "notion" \
--action "append_block" \
--data '{"pageId": "<页面ID>", "text": "<要追加的文本>"}' \
--json
输出返回 blockId。多次追加需多次调用。
5. 查询数据库 notion.query_data_source
按条件查询 Notion 数据库记录。
oo connector run "notion" \
--action "query_data_source" \
--data '{"dataSourceId": "<数据库ID>"}' \
--json
可选参数:
filter: 过滤条件sorts: 排序数组pageSize: 每页结果数(1-100)startCursor: 分页游标filterProperties: 指定返回的属性名列表
6. 获取数据库结构 notion.retrieve_database
oo connector run "notion" \
--action "retrieve_database" \
--data '{"databaseId": "<数据库ID>"}' \
--json
7. 获取页面属性 notion.retrieve_page
oo connector run "notion" \
--action "retrieve_page" \
--data '{"pageId": "<页面ID>"}' \
--json
8. 获取单个属性 notion.retrieve_page_property
oo connector run "notion" \
--action "retrieve_page_property" \
--data '{"pageId": "<页面ID>", "propertyId": "<属性ID>"}' \
--json
9. 获取内容块 notion.retrieve_block
oo connector run "notion" \
--action "retrieve_block" \
--data '{"blockId": "<块ID>"}' \
--json
工作流程
-
确定意图:根据用户请求判断用哪个操作。
- “写笔记/创建页面/新建笔记” →
create_page - “搜索/找笔记” →
search - “读取/查看笔记内容” →
get_page - “追加内容/更新笔记” →
append_block - “查询数据库/列表筛选” →
query_data_source
- “写笔记/创建页面/新建笔记” →
-
获取必要 ID:
- 如果用户未提供 pageId / databaseId / parentId,先执行
search查找目标。 - 从搜索结果的
id字段提取。
- 如果用户未提供 pageId / databaseId / parentId,先执行
-
构建 payload:
- 使用 schema 中定义的最小必填字段。
- 如需创建带内容的页面,在
children中添加内容块。
-
执行并报告:
- 所有命令加
--json获取结构化输出。 - 向用户报告关键结果(pageId、内容摘要等)。
- 所有命令加
注意事项
- Notion connector 需要先在 https://console.oomol.com/app-connections?provider=notion 完成授权认证。
- 如果执行返回
scope_missing、credential_expired或app_not_ready,引导用户到上述链接重新授权。 - pageId / databaseId 是 32 位无连字符字符串(如
1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)。 - Notion API 对请求频率有限制,批量操作时注意间隔。