wpsnote/wpsnote-skills

web-importer

将网页? 支持微信? 当用户说「把这个网页存到笔记」「导? 「把? 不适用于:新闻智能解读(用 news-to-note)、本地文档批量导?

First seen Mar 15, 2026

Installation

$ npx skills add wpsnote/wpsnote-skills --skill web-importer

Summary

将网页内容高质量导入到 WPS 笔记,保留原文颜色、粗体、标题格式,图片按原文位置插入。 支持微信公众号文章、X/Twitter 推文/Thread 和任意通用网页,统一入口自动识别,使用 web_fetch、web_search、batch_web_search、create_note、batch_edit、inse…

Also in this package

Other skills from wpsnote/wpsnote-skills · top by installs.

npx skills add wpsnote/wpsnote-skills

Browse all from wpsnote/wpsnote-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 174
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.3.0
More metadata
category
capture
tags
["web","scraping","wechat","twitter","x","import","note","html","rich-text"]

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,806 B
  • docs SUMMARY.md 720 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 21 installs

SKILL.md

Web Importer — 网页高质量导入 WPS 笔记

将网页或微信公众号文章直接导入 WPS 笔记,保留原文的颜色、粗体、标题推断、blockquote 高亮块,图片按位置插入。 现已支持 X/Twitter 推文和 Thread:统一通过 web_fetch 获取当前可见内容,抓到图片链接时按原文位置插入笔记。


核心原则

不要把抓取回来的 Markdown 原样写进 WPS 笔记。当前入口是 webfetch / websearch,抓回来的主内容需要先整理为 WPS XML,再写入笔记;图片仍然单独插入。

正确路径:

网页 URL
  ↓
web_fetch / web_search / batch_web_search
  ↓
网页正文 + 图片链接
  ↓
整理成 WPS XML
  ↓
create_note + batch_edit(正文 + 图片占位符写入 WPS)
  ↓
get_note_outline / read_blocks(找占位符)
  ↓
insert_image(逐张插图)

快速使用

# 用户直接给 URL
web_fetch "https://mp.weixin.qq.com/s/xxxxx"
create_note
batch_edit
insert_image
sync_note

# 用户只给标题或模糊描述
web_search "文章标题或关键词"
ask_user(候选链接不唯一时)
web_fetch "确认后的 URL"
create_note
batch_edit
insert_image
sync_note

两种模式对比

直接抓取模式 搜索定位模式
入口 用户直接给 URL 用户只给标题 / 关键词
获取正文 web_fetch websearch / batchwebsearch + webfetch
输出 直接写入 WPS 笔记 直接写入 WPS 笔记
候选确认 一般不需要 多个候选时用 ask_user
图片 insert_image 按位置插入 insert_image 按位置插入
回读验收 readnote / readsection / read_blocks readnote / readsection / read_blocks

X/Twitter 支持说明

X 的内容仍然可能受到动态渲染、登录态和线程展开限制影响。当前 Skill 统一依赖 web_fetch 返回的可见正文和图片链接,不额外假设浏览器渲染能力。

工作流程

X 推文 URL
  ↓
web_fetch 获取当前可见正文
  ↓
提取正文 + 图片链接
  ↓
整理成 WPS XML
  ↓
写入 WPS 笔记

注意事项

场景 说明
公开推文 优先导入当前可见正文
需要登录的推文 可能拿不到正文,需明确告诉用户
长 Thread 只导入当前工具能稳定抓到的内容
视频 仅保留可见文字与可插入图片,不承诺视频本体
转推 / 引用推文 以当前抓到的主内容为准

htmltosegments 解析逻辑

当前不再依赖 htmltosegments 本地脚本,但处理目标不变:把网页结构整理为 WPS XML,并尽量保留原文层级和重点样式。

网页内容 → WPS XML 映射

网页结构 / Markdown WPS XML
加粗 / 粗体语义 <strong>
斜体 / 斜体语义 <em>
一级到三级标题 <h1> / <h2> / <h3>
引用块 <blockquote>
无序 / 有序列表 <ul> / <li>
表格 <table>
链接 在段落中保留文本和 URL

颜色映射精度

如果抓取结果能明确保留颜色语义,可在 WPS XML 中映射到可用样式;如果抓取结果已丢失颜色信息,就不要伪造颜色。

section 展平逻辑

网页存在多层嵌套时,按最终阅读顺序展平为标题、正文、引用、列表、表格和图片占位符,再写入 WPS。


WPS 写入稳定性规则

与现有笔记编辑工具的稳定写入规则保持一致,关键约束如下:

正文优先用 batch_edit
少量修补可用 edit_block
图片只能用 insert_image
编辑前必须先拿到 block_id

anchor 失效重试:图片插入或补写前,如果 blockid 已变化,先重新 getnoteoutline,必要时再 readblocks 精确定位。

outline 翻页:长文导入后如果需要回找图片占位符或补写位置,先重新获取最新 outline,再按需要分段读取。

防重复插图:重试时先回读当前笔记,确认图片是否已经插入,避免重复写入。


下载后的目录结构

当前 Skill 的最终产物是 WPS 笔记,不要求保留本地下载目录。导入完成后,笔记中至少应有:

笔记标题
来源信息(原网页链接)
正文结构(标题 / 段落 / 引用 / 列表 / 表格)
按位置插入的图片

微信公众号标题提取优先级

按顺序尝试:

  1. web_fetch 返回的页面标题
  2. web_search 命中的候选标题
  3. 用户在请求里明确给出的文章标题
  4. 以上均失败 → 用链接或“未命名文章”作为兜底

异常处理

场景 处理方式
web_fetch 无法抓到正文 告知用户当前链接无法导入,不创建空笔记
正文不完整 允许降级导入已抓到的部分,并明确说明缺失内容
图片下载 / 插入失败 跳过该图片,继续导入正文,汇报跳过数
block_id 失效 重新获取 outline 和目标 block 后再继续
占位符未找到 回读正文重新定位;仍未找到则跳过该图片并说明
X/Twitter 内容不可见 提示用户当前内容无法公开获取或线程未完整展开
搜索结果不唯一 使用 ask_user 让用户确认链接

依赖项

工具 用途
web_fetch 抓取网页正文
websearch / batchweb_search 在缺少精确链接时定位网页
create_note 创建导入目标笔记
getnoteoutline 获取 block_id 和最新结构
batchedit / editblock 写入正文和少量修补
insert_image 按位置插入图片
readnote / readsection / read_blocks 回读验收
sync_note 导入后同步
ask_user 链接不明确时确认候选