返回顶部
o

obsidian-clipper黑曜石剪藏

Universal web clipper for Obsidian Vault. Saves content from X/Twitter, WeChat, Douyin, Xiaohongshu, GitHub, and generic web pages. Triggers when user sends a URL and asks to save/clip/收藏, or says '存下来'.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
90
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

obsidian-clipper

Obsidian Clipper

通用剪贴工具——将任意平台的URL保存到你的Obsidian仓库,包含本地媒体、标签和维基链接。

配置

首次运行时,从与本SKILL.md文件相同的目录读取config.yml。如果文件缺失,请告知用户将config.yml.example复制为config.yml并填写vault.base_path。

从配置派生的关键路径:

BASE = config.vault.base_path
ATTACHMENTS = BASE / config.vault.attachments_dir
X_DIR = BASE / config.vault.dirs.x
WECHAT_DIR = BASE / config.vault.dirs.wechat
XHS_DIR = BASE / config.vault.dirs.xiaohongshu
DOUYIN_DIR = BASE / config.vault.dirs.douyin
GITHUB_DIR = BASE / config.vault.dirs.github
WEB_DIR = BASE / config.vault.dirs.web



URL路由

匹配URL并分发到正确的处理器:

URL模式处理器
x.com/ 或 twitter.com/X处理器
mp.weixin.qq.com/*
微信处理器 |
| xhslink.com/ 或 xiaohongshu.com/ | 小红书处理器 |
| v.douyin.com/ 或 douyin.com/video/ | 抖音处理器 |
| github.com/{owner}/{repo}(无更深路径) | GitHub处理器 |
| 其他所有 | 网页处理器 |


共享规则

以下规则适用于所有处理器:

文件命名

  • - 使用内容标题作为文件名
  • 去除/\:*?<>|以及所有表情符号/特殊Unicode字符
  • 超过60个字符时截断
  • 如果同名文件已存在,在覆盖前询问用户

标签

  • - 每条剪贴记录必须包含clipping标签
  • 标签中不能包含.或空格(llms.txt → llms-txt,Claude Code → Claude-Code)
  • 自动添加2-4个基于内容的标签

媒体下载

  • - 将所有图片和视频下载到ATTACHMENTS/
  • 图片命名:{标题-slug}-{n}.{ext}(slug不超过20个字符,不含表情符号)
  • 视频命名:{标题-slug}.mp4或{标题-slug}-video-{n}.mp4
  • 将远程URL替换为Obsidian维基链接:![[filename.ext]]

收藏原因字段

  • - 尽可能从对话上下文中推断
  • 如果上下文不足,询问用户

跨平台链接

  • - 如果内容包含github.com/{owner}/{repo}链接,自动触发GitHub处理器创建GitHub笔记,然后添加双向维基链接

X处理器

保存X(Twitter)帖子和文章。

步骤1:获取帖子数据

bash
curl -s https://api.fxtwitter.com/{handle}/status/{tweet_id}

从URL中提取:x.com/{handle}/status/{id} → handle, tweet_id。

字段:

  • - tweet.author.name → 作者名称
  • tweet.author.screenname → @handle
  • tweet.text → 帖子正文(短帖子)
  • tweet.article → 长文(如果存在)
  • tweet.article.title → 文章标题
  • tweet.article.content.blocks → 结构化内容(Draft.js格式)
  • tweet.createdat → 发布日期
  • tweet.likes / tweet.retweets / tweet.views → 互动数据
  • tweet.media → 短帖子图片
  • tweet.article.media_entities → 文章内嵌图片

步骤2:确定内容类型

短帖子(tweet.article为null):使用tweet.text,图片来自tweet.media.photos。

文章(tweet.article存在):解析tweet.article.content.blocks(Draft.js格式):

块类型Markdown
unstyled段落
header-one
# 标题 |
| header-two | ## 标题 |
| header-three | ### 标题 |
| unordered-list-item | - 项目 |
| ordered-list-item | 1. 项目 |
| atomic | 插入图片![[filename]] |
| blockquote | > 引用 |

内联样式:Bold → 文本,Italic → 文本

对于atomic块:entityMap → value.data.mediaItems[].mediaId → 匹配mediaentities → mediainfo.originalimgurl。

步骤3:下载图片

将所有图片下载到ATTACHMENTS/。

步骤4:生成文件

写入X_DIR/{title}.md:

短帖子:
markdown



title: {作者名称}的推文 - {前30个字符}
author: {作者名称}
handle: @{screen_name}
source: {原始URL}
date: {发布日期 YYYY-MM-DD}
tags:
- clipping
- {自动标签}


{作者名称}的推文

X: @{handle} ({name}) | {date} | {likes} 赞 · {retweets} 转推 · {views} 浏览

{正文文本}

{图片 ![[filename]]}

文章:
markdown



title: {article.title}
author: {作者名称}
handle: @{screen_name}
source: {原始URL}
date: {发布日期 YYYY-MM-DD}
tags:
- clipping
- {自动标签}


{article.title}

X: @{handle} ({name}) | {date} | {likes} 赞 · {retweets} 转推 · {views} 浏览

{解析后的Markdown正文,包含![[本地图片]]}

备注

  • - fxtwitter API无需认证但可能有速率限制;可尝试vxtwitter.com作为备用
  • 标题:文章使用article.title;短帖子使用{name}-{文本前15个字符}

微信处理器

保存微信公众号文章。

步骤1:获取文章数据

bash
curl -s https://down.mptext.top/api/public/v1/download?url={URL编码后的链接}&format=json

提取:title,nickname,createtime,content_noencode,link。

如果API返回204或失败,回退到defuddle或WebFetch。

步骤2:获取HTML(如果需要富内容)

如果内容包含图片或复杂格式:

bash
curl -s https://down.mptext.top/api/public/v1/download?url={URL编码后的链接}&format=html

从HTML中提取图片URL和格式化内容。

步骤3:下载图片

  • - 将每张图片下载到ATTACHMENTS/
  • 微信图片URL:mmbiz.qpic.cn/mmbizpng/... → .png,mmbizjpg/... → .jpg
  • 替换为![[filename.jpg]]

步骤4:生成文件

写入WECHAT_DIR/{title}.md:

markdown



title: {文章标题}
author: {公众号名称}
source: {原始链接}
date: {发布日期 YYYY-MM-DD}
tags:
- clipping
- {自动标签}


{文章标题}

公众号:{name} | {发布日期}

{正文,包含![[本地图片]]}



小红书处理器

保存小红书笔记(图片+视频)。

步骤1:解析短链接

如果URL是xhslink.com,跟随重定向获取真实URL并保留完整查询参数(特别是xsec_token):

bash
curl -sL <短链接> -o /dev/null -w %{url_effective}

重要:需要完整的查询字符串。裸URL会返回空的noteDetailMap。

步骤2:获取SSR数据

小红书是SPA,但SSR将数据嵌入到window.INITIAL_STATE中:

bash
curl -sL <完整URL-带参数> \
-H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 \
-H Accept: text/html | python3 -c
import sys, re, json

html = sys.stdin.read()
m = re.search(rwindow\.INITIAL_STATE\s=\s

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 clip-to-your-vault-1775889494 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 clip-to-your-vault-1775889494 技能

通过命令行安装

skillhub install clip-to-your-vault-1775889494

下载

⬇ 下载 obsidian-clipper v1.0.0(免费)

文件大小: 9.17 KB | 发布时间: 2026-4-12 09:29

v1.0.0 最新 2026-4-12 09:29
obsidian-clipper 1.0.0

- Initial release: Universal web clipper for Obsidian Vault supporting X/Twitter, WeChat Official Accounts, Douyin, Xiaohongshu, GitHub, and generic web pages.
- Automatically routes URLs to platform-specific handlers with media download and formatting.
- Saves notes with local images/videos, content-based tags, and Obsidian wikilinks.
- Asks for overwrite confirmation on filename conflicts and prompts for a "why clipped" reason if context is unclear.
- Requires simple config file setup on first use.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部