Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

obsidian-notionObsidian Notion 开发

Agent Skill

用于处理 Notion 页面、数据库、工作区内容和结构化记录。它适合让 Agent 查询知识库、整理页面内容、创建记录或把外部信息同步到 Notion。使用时需要确认集成是否已被授权到目标页面或数据库,并区分读取、追加和覆盖更新;涉及批量写入或修改数据库属性时,应先核对字段名称、属性类型和目标页面。

总安装

3,224

周安装

133

GitHub Stars

公开资料未说明

下载量

1,053
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:obsidian-notion(Obsidian Notion 开发)
来源仓库:https://github.com/molaters/obsidian-notion
安装命令:
openclaw skills install obsidian-notion
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install obsidian-notion

简介

将 Markdown 从 Obsidian 同步至 Notion 数据库。

  • 保留富文本格式并支持页面更新管理。obsidian-notion 属于开发类 Skill,可作为该场景下的辅助能力补充。
  • 使用 openclaw skills install obsidian-notion 安装。
  • 需授权集成到目标工作区并核对字段映射。
  • 建议先在小数据集上验证转换准确性。

SKILL.md

Markdown → Notion Sync Skill

将 Markdown 文件同步到 Notion 数据库页面。支持加粗、斜体、代码、链接、表格、callout、引用、公式等富文本格式,并提供 upsert 语义(同标题先删后插,自动去重)。


⚙️ 快速配置(使用前必读)

编辑 scripts/sync.py 开头的配置区:

# ============ 配置区(修改这里) ============
NOTION_KEY = "your-notion-api-token-here"
DB_ID = "your-database-id-here"
OBSIDIAN_ROOT = "/path/to/your/obsidian/vault"
TARGET_DIRS = ["C-我的日志", "B-知识内容/论文阅读"]  # 要同步的子目录
EXCLUDE = ["README.md", "template.md"]  # 排除的文件
# ===========================================

获取方式:

  • NOTION_KEY: Notion Integration → Settings → Integrations → 获取 Internal Integration Token
  • DB_ID: 创建数据库后,从数据库 URL 复制(notion.so/workspace/{DB_ID}
  • OBSIDIAN_ROOT: Obsidian 仓库的根目录路径

📁 文件结构

obsidian-notion/
├── SKILL.md          # 本文档
├── scripts/
│   └── sync.py       # 同步脚本(主程序)
└── README.md         # 使用说明(可选)

🗄️ Notion 数据库要求

必填属性

数据库需包含以下 5 个属性(名称必须完全一致):

属性名类型说明
名称title页面标题
日期dateYYYY-MM-DD 格式
笔记分类select单选分类
主要标签multi_select多选标签
整理状态select单选状态

属性选项参考

笔记分类选项:

  • A-任务管理
  • B-知识内容/论文阅读
  • B-知识内容/我的思考笔记
  • B-知识内容/课程学习
  • C-我的日志

主要标签选项:

  • paper/待读、paper/阅读中、paper/已读完
  • task/科研、task/论文、task/生活

整理状态选项:

  • 待整理、已整理、已归档

📝 Markdown → Notion Block 映射表

1. 行内样式(Rich Text)

Notion rich_text 结构(annotations 与 text 同级,不是嵌套!):

// 加粗
{"type": "text", "text": {"content": "加粗文字"}, "annotations": {"bold": true}}

// 斜体
{"type": "text", "text": {"content": "斜体文字"}, "annotations": {"italic": true}}

// 行内代码
{"type": "text", "text": {"content": "代码"}, "annotations": {"code": true}}

// 链接
{"type": "text", "text": {"content": "链接"}, "text": {"link": {"url": "https://..."}}}

自动识别规则(正则优先级):

`**bold**` → bold=true
`*italic*` → italic=true
`` `code` `` → code=true
`$公式$` → code=true
`[文字](url)` → link

2. 基础块

MarkdownNotion Block
# 标题heading_1
## 标题heading_2
### 标题heading_3
#### 标题heading_4
##### 文字paragraph + bold(非标题块)
---divider
普通段落paragraph

3. 列表

MarkdownNotion Block
- 项目bulleted_list_item
1. 项目numbered_list_item
嵌套列表children 内嵌 list_item(最多2层)

4. 代码块

{
  "object": "block",
  "type": "code",
  "code": {
    "rich_text": [{"type": "text", "text": {"content": "code"}}],
    "language": "python"
  }
}

语言标准化映射: pypython, jsjavascript, c++cpp, shbash, ymlyaml 等。不在白名单内的语言统一映射为 plain text

5. 表格(Notion 原生)

{
  "object": "block",
  "type": "table",
  "table": {
    "table_width": 3,
    "has_column_header": true,
    "has_row_header": false,
    "children": [
      {
        "object": "block",
        "type": "table_row",
        "table_row": {
          "cells": [
            [{"type": "text", "text": {"content": "列1"}}],
            [{"type": "text", "text": {"content": "列2"}}],
            [{"type": "text", "text": {"content": "列3"}}]
          ]
        }
      }
    ]
  }
}

6. Callout

{
  "object": "block",
  "type": "callout",
  "callout": {
    "rich_text": [...],
    "icon": {"emoji": "💡"},
    "color": "blue_background"
  }
}

Markdown 语法: > [!info] 标题 → 多行 callout body

颜色映射:

类型coloremoji
infoblue_backgroundℹ️
tipgreen_background💡
successgreen_background
warningyellow_background⚠️
danger/errorred_background🚨
abstractpurple_background📋
notegray_background📝
[!note] [!type] 标签不会显示在 callout 正文中,只用于确定类型

7. 引用

{
  "object": "block",
  "type": "quote",
  "quote": {"rich_text": [...]}
}

Markdown 语法: > 引用文字

8. 公式

MarkdownNotion Block
$$E=mc^2$$equation block
$公式$code 格式 rich_text
{"object": "block", "type": "equation", "equation": {"expression": "E=mc^2"}}

🔄 同步策略:Upsert

同名页面先删后插,确保数据库中每个标题只有最新版本。

流程:

  1. 查询数据库所有页面,构建 title → id 缓存
  2. 对每个 Markdown 文件:

- 如果标题已存在 → 移到垃圾箱(in_trash: true) - 创建新页面,填入所有 blocks


🚀 使用方法

# 1. 编辑配置
vim scripts/sync.py  # 修改 NOTION_KEY, DB_ID, OBSIDIAN_ROOT

# 2. 运行同步
python3 scripts/sync.py

# 3. 查看结果
# Found 51 files
# Progress: 20/51 | Success: 20 | Failed: 0
# Progress: 40/51 | Success: 38 | Failed: 2
# === DONE ===
# Total: 51, Success: 49, Failed: 2

⚠️ 常见错误处理

错误信息原因解决
table_width should be definedtable 缺 table_width必须指定列数
rich_text[...].annotations should be an objectannotations 嵌套在 text 内修正为同级结构
language should be one of "abap"...语言不在白名单映射到 plain text
body.children.length should be ≤ 100超过 block 限制分批创建
Can't edit block that is archived页面已在垃圾箱跳过或先恢复
Invalid URL for link链接格式错误确保以 http:///https:// 开头

📋 预处理规则

  1. 清理 frontmatter:`re.sub(r'^---\

.*?\ ---\ ', '', content, flags=re.DOTALL)`

  1. 日期验证:必须是 YYYY-MM-DD,否则使用默认值
  2. 代码块截断:单个 rich_text 内容不超过 2000 字符
  3. 空文件跳过:正文 blocks 为空时跳过,不创建页面
  4. HTML 标签清理re.sub(r'<[^>]+>', '', text)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.7%
按下载量换算818

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills