360 Secure SkillHub
360 安全技能中心

Notion助手

这是基于Notion API的助手工具,核心功能包括创建、更新、查询Notion页面与数据库,以及搜索内容。需先配置Notion API密钥,通过Python代码调用,适用于知识库管理、任务跟踪、笔记整理、项目管理等场景,输入对应参数即可高效管理Notion内容。

534422530
534422530
热度 30.73
最近更新 2026-05-11 17:46:21
分类:开发依赖:代码执行 / 第三方 API应用场景:API 集成 / 笔记整理 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add laosi-notion
Metadata
name
notion-helper
description
Notion API助手 - 创建和管理Notion页面、数据库,支持笔记和知识管理。
metadata
{"openclaw":{"requires":{"python":["notion-client"]},"install":[]}}
tags
["notion","notes","database","knowledge","api"]
version
1.0.0
author
laosi
source
adapted

Notion Helper - Notion助手

激活词: Notion / 笔记管理 / 知识库

安装

pip install notion-client

获取API密钥

  1. 访问 https://www.notion.so/my-integrations
  2. 创建新集成
  3. 复制API密钥
  4. 分享数据库给集成

Python实现

from notion_client import AsyncClient
import asyncio

class NotionHelper:
    def __init__(self, token: str):
        self.client = AsyncClient(auth=token)
    
    async def create_page(self, parent_id: str, title: str, content: str = ""):
        await self.client.pages.create(
            parent={"database_id": parent_id},
            properties={
                "title": {
                    "title": [{"text": {"content": title}}]
                }
            },
            children=[{
                "object": "block",
                "type": "paragraph",
                "paragraph": {
                    "rich_text": [{"type": "text", "text": {"content": content}}]
                }
            }]
        )
    
    async def query_database(self, db_id: str, filter_props: dict = None):
        params = {"database_id": db_id}
        if filter_props:
            params["filter"] = filter_props
        return await self.client.databases.query(**params)
    
    async def update_page(self, page_id: str, properties: dict):
        await self.client.pages.update(page_id, properties=properties)
    
    async def get_page(self, page_id: str):
        return await self.client.pages.retrieve(page_id)
    
    async def search(self, query: str):
        return await self.client.search(query)

使用示例

async def main():
    helper = NotionHelper("secret_xxx")
    
    # 创建页面
    await helper.create_page(
        parent_id="database_id",
        title="AI学习笔记",
        content="今天学习了机器学习..."
    )
    
    # 搜索页面
    results = await helper.search("AI")
    for page in results['results']:
        print(page['title'])
    
    # 查询数据库
    pages = await helper.query_database("database_id")
    for page in pages['results']:
        print(page['properties']['title']['title'][0]['text']['content'])

asyncio.run(main())

数据类型

类型 说明
title 标题
rich_text 文本
number 数字
checkbox 复选框
select 单选
multi_select 多选
date 日期
url 链接
email 邮箱
phone_number 电话

使用场景

  1. 知识库管理
  2. 任务跟踪
  3. 笔记整理
  4. 项目管理