返回顶部
y

ynote-clip有道云剪藏

网页剪藏到有道云笔记。触发词:剪藏网页、保存网页、收藏网页、ynote clip、clip to ynote、网页摘录。

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

ynote-clip

YNote Clip — 网页剪藏

将网页内容剪藏到有道云笔记。通过 clip-note.mjs(Node.js)完成图片处理和 MCP 调用。

前置条件

bash
export YNOTEAPIKEY=your-api-key-here # 必需
node --version # 需要 Node.js >= 22.12.0

注意:YNOTEAPIKEY 必须在执行脚本的 shell 环境中可用。若 API Key 在 ~/.zshrc 或 ~/.bashrc 中通过 export 设置,需在每次脚本执行前先 source ~/.zshrc(或对应的 shell 配置文件)。

图片压缩工具(按操作系统):

  • - macOS:使用系统内置 sips,无需额外安装
  • Linux:需安装 imagemagick

bash
# Ubuntu / Debian
sudo apt install imagemagick

# Alpine
apk add imagemagick

工具不可用时会 graceful 降级——图片跳过压缩,以原图上传。

dig(DNS 查询工具)用于图片下载超时时的 DNS fallback,跳过系统 DNS 直接走 Google DNS 下载:

  • - macOS:系统内置,无需安装
  • Linux:通常已预装;若缺失:

bash
# Ubuntu / Debian
sudo apt install dnsutils

# Alpine
apk add bind-tools

dig 不可用时 DNS fallback 会跳过,该张图片标记为下载失败(不影响整体剪藏流程)。

依赖 tools/browser(OpenClaw 内置,使用 openclaw profile 受控浏览器,无需安装 Chrome 扩展)。

浏览器默认以无头模式运行(安装脚本自动配置)。如需可见窗口调试,执行 openclaw config set browser.headless false。

Quick Reference

操作命令
剪藏网页按「核心工作流」执行
创建笔记
bash {baseDir}/mcp-call.sh createNote {title:标题,content:# 内容,folderId:} | | 搜索笔记 | bash {baseDir}/mcp-call.sh searchNotes {keyword:关键词} | | 列出笔记 | bash {baseDir}/mcp-call.sh listNotes {folderId:} | | 获取笔记内容 | bash {baseDir}/mcp-call.sh getNoteTextContent {noteId:} |

调试模式(默认关闭)

调试模式默认关闭。用户说开启调试或debug时,在后续命令前添加 YNOTECLIPDEBUG=1:

bash
YNOTECLIPDEBUG=1 node {baseDir}/clip-note.mjs ...
YNOTECLIPDEBUG=1 node {baseDir}/twitter-apify.mjs ...

开启后每步输出 🔍 前缀的中间结果及耗时,方便定位问题。用户说关闭调试或quiet时恢复默认。

核心工作流

收到用户的剪藏请求后,先回复用户「正在保存中...」,然后按以下工作流执行。

网页内容提取流程

性能关键:bodyHtml(50-100KB)绝不能经过 agent 的 context window
所有浏览器操作通过 openclaw browser CLI 执行,大数据直接管道到文件。

输入:URL
输出:/tmp/ynote-clip-data.json(包含 title、content、imageUrls、source)

Step 0:Twitter/X 专用流程

Twitter/X 是本项目优化重点,遇到 Twitter URL 时优先使用 Apify API 绕过 CSP 限制。

URL 检测:URL 包含 x.com/ 或 twitter.com/ 且含 /status/ 时,触发 Twitter 专用流程。

bash
node {baseDir}/twitter-apify.mjs --url

脚本自动完成:调用 Apify Twitter Scraper Unlimited → 等待结果 → 写入 /tmp/ynote-clip-data.json。

成功时:输出 metadata JSON(~200 字节),直接跳到「剪藏工作流 Step 2」。

失败时:脚本会以非零退出码退出并输出错误信息,此时 不要重试,直接报错并告知用户。

非 Twitter URL:继续执行下方「Step 1」通用网页提取流程。

Step 1:通用网页内容提取(browser CLI + collect SDK 注入)

通过 openclaw browser CLI 打开目标页面,注入收藏 SDK 提取正文。全部在一条 bash 命令中完成,bodyHtml 直接写入文件,不进入 agent context

bash
bash {baseDir}/collect-page.sh <用户提供的 URL>

脚本自动完成:打开页面 → 等待加载 → 注入 collect SDK → 等待挂载 → 解析内容写入 /tmp/ynote-clip-data.json。

agent 只读取 stdout 最后一行的 metadata JSON(~200 字节),bodyHtml 留在文件中。

失败处理(遇到以下任一错误,直接使用 Fallback):

错误类型识别特征原因
CSP 阻止Content Security Policy、unsafe-eval、EvalError页面禁止 eval(Twitter/X、银行等)
SDK 注入失败
evaluate 报错、文件不存在 | collect-window.js 丢失 |
| 内容为空 | collectParser.parse() 返回空 content | 需登录或被反爬拦截 |
| 超时 | timeout、timed out | 页面加载过慢或网络问题 |

遇到上述错误时,不要重试 collect-page.sh,直接跳到下方「Fallback:web_fetch 降级」。

Fallback:web_fetch 降级

适用场景:collect-page.sh 执行失败(CSP 阻止、SDK 注入失败、超时等)时的降级方案。

执行以下 3 步:

  1. 1. 调用 web_fetch 工具获取页面 Markdown:

web_fetch(url=<目标URL>, extractMode=markdown)

  1. 2. 将返回的 Markdown 内容组装为 JSON 并写入数据文件:
json // 写入 /tmp/ynote-clip-data.json {title: 页面标题, content: , imageUrls: [], source: <原始URL>}

> imageUrls 留空(Markdown 中的图片链接会保留在 HTML 中,但不做 base64 内联)。

  1. 3. 调用 clip-note.mjs 加 --markdown flag(自动将 Markdown 转为 HTML):

bash
source ~/.zshrc && node {baseDir}/clip-note.mjs \
--data-file /tmp/ynote-clip-data.json \
--markdown \
--source-url 原始URL

> --markdown 会在处理图片前,先用内置 marked 将 Markdown 转为 HTML。title 由脚本从 data-file 自动读取并处理。

剪藏工作流

Step 1:按上方「网页内容提取流程」执行 bash 脚本,获取 metadata 和 /tmp/ynote-clip-data.json。

Step 2:处理图片 + 创建剪藏笔记(调用 clip-note.mjs)

从 data-file 读取所有数据,agent 无需传递 bodyHtml:

bash
source ~/.zshrc && node {baseDir}/clip-note.mjs \
--data-file /tmp/ynote-clip-data.json \
--source-url 原始 URL

source ~/.zshrc 确保 YNOTEAPIKEY 等环境变量对 Node 进程可见(agent 执行环境不会自动继承 shell 配置文件中的 export)。
--title 无需传递,脚本从 data-file 读取 title,自动完成净化和后缀追加。
--source-url 会覆盖 data-file 中的 source。

脚本自动处理:

  • - 图片:5 路并发下载、宽度 > 1920px 缩放、> 512KB 渐进压缩(JPEG 80→60→40)、GIF 转静态 JPEG、base64 编码
  • MCP:优先 clipperSaveWithImages,若 Tool 未实现自动降级为 createNote
  • 限制:最多 20 张图片,单张 < 512KB(超过则压缩,压缩后仍超则跳过)

调试信息(🔍 前缀)默认不输出;开启调试模式后由脚本自动输出,无需手动 echo。

Step 3:确认成功,按下方「响应

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ynote-clip-1776205719 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ynote-clip-1776205719 技能

通过命令行安装

skillhub install ynote-clip-1776205719

下载

⬇ 下载 ynote-clip v1.8.1(免费)

文件大小: 58.03 KB | 发布时间: 2026-4-15 11:54

v1.8.1 最新 2026-4-15 11:54
有道云笔记收藏网页

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

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

p2p_official_large
返回顶部