SuperAPI AI 工具集

webread

办公与效率

查看项目

更新于 10-16 08:54

技能介绍

用途

webread 用于把网页内容保存为干净的 Markdown 文件到本地磁盘,并把文章中嵌入的图片下载到同级目录,让保存下来的文章自成一体、离线可看。它的核心价值在于通过 kimi-webbridge 驱动用户真实的 Chrome 浏览器,从而继承浏览器会话,能够处理登录受限和依赖 JavaScript 渲染的页面。

主要能力

  • 将 http(s) URL 保存为干净的 Markdown 文件。
  • 默认路由下,把文章内嵌图片下载到同名 -images/ 目录,并把 Markdown 中的图片引用改写为相对路径,例如 img-1.png,从而在 Obsidian、VS Code 预览或其他 Markdown 查看器中离线正常渲染。
  • 按 URL 主机选择不同的抓取路由:Twitter/X 使用 twitter-cli,输出 <slug>.json(原始推文与回复);飞书/Lark 使用 lark-cli,输出 <slug>.md(docs +fetch --format pretty);其余站点走默认的 kimi-webbridge → webread CLI 路径,输出 <slug>.md 加下载的图片。
  • 图片下载为尽力而为:单张图片抓取失败会记录到 stderr 并跳过,Markdown 中对应位置保留远程 URL,保存本身仍然成功。
  • 若安装了 rsvg-convert,会把 SVG 图片栅格化为 PNG,便于视觉型大模型处理;未安装或转换失败则保留 SVG。

输出布局

文件统一保存到 ~/Downloads/webread/<YYYY-MM-DD>/ 目录下:

~/Downloads/webread/<YYYY-MM-DD>/
├── <slug>-<hash>.md                   # 默认路由 — 文章
├── <slug>-<hash>.json                 # twitter 路由 — 原始推文 JSON
└── <slug>-<hash>-images/              # 仅默认路由,文章有图片时生成
    ├── img-1.png
    ├── img-2.jpg
    └── img-3.webp

使用方式

技能在用户的 Bash 工具调用中执行一条链式命令,按 URL 主机路由,并完成保存、图片下载与标签页关闭。默认路由的前置条件是 kimi-webbridge 守护进程运行在 localhost:10086(需打开 Kimi Desktop App),以及已全局安装 webread CLI:npm install -g webread。Twitter 路由需要 twitter-cli(brew tap xpzouying/agent-cli && brew install twitter-cli),飞书路由需要 lark-cli(npm install -g @larksuite/cli)。

保存后的行为根据用户诉求区分:

  • 仅提供 URL,或使用“保存”“读一下”“看看”“save”“fetch”等归档式说法:只回复 Saved to {path} 并停止,不读取文件。
  • 提供 URL 并附带分析请求(“总结一下”“讲了什么”“summarize”“what does it say”“tell me about”等):在链式命令返回路径后,立即读取保存的文件并回答,同时说明保存路径。

成功时(退出码 0)链式命令把保存路径打印到 stdout。失败时(退出码非零)会在 stderr 打印具体原因,应转达用户以便处理(如打开 Kimi Desktop App、运行 npm install -g webread、换一个真正的文章 URL)。若用户一条消息里包含多个 URL,应逐个顺序运行,不要并行,因为 kimi-webbridge 会话只使用单个标签页。

适用场景

  • 保存登录后或 JS 重度渲染的页面(WebFetch 对此类站点常返回登录页、空白壳或 402)。
  • 归档文章并希望离线保留图片。
  • 抓取 Twitter/X 推文(含回复)或飞书/Lark 文档为结构化输出。

限制与硬性规则

  • 绝不回退到 WebFetch:回退会静默返回登录页或空白壳,掩盖真实问题;提示用户“守护进程未运行,请启动”比假装 URL 无法抓取更好。
  • 各路由之间不互相回退:Twitter URL 上缺少 twitter-cli 时,应提示安装命令,而不是悄悄改走 kimi-webbridge(否则会返回 Twitter 登录墙);飞书 URL 上缺少 lark-cli 同理。
  • 用户只要求保存时不要自动总结;用户明确要求分析时,应在同一轮读取文件并回答,而不是让用户再次追问。
  • 不要编造:如果 Bash 链失败,应转达真实错误,不要凭 URL 猜测内容。
  • 关于具体收费、价格信息,资料中未提供;仅说明保存本身免费、文件可随时删除。