dsh-plugin-readlater:本地解析分享链,按需投影到 Obsidian

前言

在 DSH 生态里做智能体或日常信息整理时,常见做法是:把小红书、公众号链接丢给在线剪藏或模型摘要,再手动拷进笔记。那条路要么依赖账号与云端,要么阅读时仍要联网。稍后阅读(dsh-plugin-readlater)走另一条路:粘贴分享链接,在本机把正文和图片拉下来,左侧卡片、右侧直接读;需要长期留存时再手动同步到 Obsidian。解析与阅读不经过任何模型,数据落在本地目录,没有数据库。

下面按定位、功能、安装、用法和数据路径说明这款插件。事实来自仓库 README 与 package.json;插件以当前 DSH 进程的权限运行,安装前请自行查看源码与 MIT 许可证。

这是什么

插件全名 dsh-plugin-readlater,仓库由 1578361862-art 维护(package.json 作者字段为 Yee),归类为 DSH 社区目录中的联网工具。当前 package.json 版本为 0.1.0,要求 DSH ≥ 0.2.1-rc.5、Node ≥ 20。

一句话:粘一条分享链接,正文和图片落到本地;读的时候不联网;想留哪篇再点「同步到 Obsidian」,正文、图片、标签、索引一并投影过去。

核心功能

本地解析与离线阅读

小红书的图文、微信公众号的长文:分享链接(或整段分享文案)粘进输入框后在本机解析。正文抽成干净 HTML,图片和视频按需缓存;左栏出卡片,右边直接读。没有账号、没有云端、没有模型调用。

分享文案可原样粘贴,不必自己挑 URL,例如 README 中的小红书示例:文案里带 http://xhslink.com/... 即可。

列表搜索与筛选

列表支持搜索(标题 / 作者 / 站点 / 正文摘要 / 标签,纯本地)和筛选(全部 · 未读 · 已同步 · 有更新)。「批量」可多选后「同步 N 篇」,或对当前筛选结果「全选」一次投影。

输入框右侧 「缓存视频」 为全局开关:默认只存直链和封面,勾选后才会把视频下到本地。

支持的来源

源 状态
小红书 已通:分享链 + 无头 Chrome 读 __INITIAL_STATE__
微信公众号 已通:HTTP 优先,撞 verify 壳则浏览器渲染 #js_content(连续请求会被限流)
抖音 待接
知乎 待接(纯 HTTP 403,需带 cookie 的浏览器)

只支持分享出来的链接;裸笔记 URL 会被风控。分享链里的 xsec_token 才是通行证;写进 Obsidian 笔记的链接是清理过的地址,一次性凭证不会进 vault。

投影到 Obsidian

投影是手动的:解析完先留在本地,再点「同步」。约定与 BookTutor 类似:managed_by: "readlater" / managed: true,生成目录不要手改。标题会变,条目 id 不变,改标题不会在 vault 里留下两个文件。

默认落盘结构(节选):

90.同步/ReadLater/
  阅读索引.md
  <标题>--<id8>.md
  assets/<id8>/img-01.webp

vault 路径解析顺序:READLATER_VAULT > ~/Data/readlater/config.json 的 vault > 默认 iCloud 路径。

从别处迁入收藏

支持从 InRead(或任何能导出 JSON 清单的地方)批量导入;失败可重试,撞限流即停。细节见仓库 docs/IMPORT.md。

安装与启用

安装 release 包(将 <profile> 换成实际名:DSH Desktop 为 desktop,dsh web 一般为 web):

dsh plugin --profile <profile> add https://github.com/1578361862-art/dsh-plugin-readlater/releases/latest/download/dsh-plugin-readlater.tgz

装完重启 DSH。也可从源码安装(本插件无构建步骤):

dsh plugin --profile <profile> add github:1578361862-art/dsh-plugin-readlater

依赖除 Node ≥ 20 外,还需要可用的 Chrome(微信公众号正文需渲染一次)。默认查找 /Applications/Google Chrome.app;若没有,用环境变量 READLATER_CHROME 指向可执行文件。

卸载:

dsh plugin --profile <profile> remove dsh-plugin-readlater

插件移除后 ~/Data/readlater 里已抓取的内容仍保留;不需要时可自行删除整个目录。

典型用法

  1. 左侧栏点「稍后阅读」
  2. 把分享链接或整段分享文案粘进输入框,回车
  3. 解析完成后左边出卡片、右边阅读;要进 Obsidian 再点「同步到 Obsidian」

本地数据根目录默认为:

~/Data/readlater/
  library/<platform>-<id>/
    meta.json
    content.html
    assets/
  profile/

可用 READLATER_ROOT 修改存储根。content.html 为清洗后正文真源,图片用相对路径,整个目录可原样迁移。

适用场景与注意

适合:习惯从小红书、公众号收集长文,希望在 DSH 里统一读、再按需进 Obsidian 的开发者或写作者;强调本地缓存、离线读、无模型开销。

注意:

  • 插件在 DSH 进程权限下运行,会启动无头 Chrome 访问目标站;安装前请阅读源码与 MIT 许可。
  • 微信源连续请求可能被限流;抖音、知乎尚未接通。
  • DSH 社区插件目录(skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与版本以你安装时 GitHub 页面为准(资料抓取时仓库星标为 0)。

实现细节(微信为何走浏览器、限流策略、投影取舍)见仓库 docs/IMPLEMENTATION.md;阅读页排版见 docs/DESIGN.md。正文由插件自行拼装而非存站点 DOM,README 说明因此无 XSS 面、亦不需 sanitizer。

结尾

稍后阅读把「分享链 → 本地图文卡片 → 可选 Obsidian 投影」串成一条可复现流程:读时不联网、不调用模型,适合把 DSH 当作本地阅读台再用 vault 做归档。

  • 目录页:https://www.skillhub.cn/plugins/1578361862-art/dsh-plugin-readlater
  • GitHub:https://github.com/1578361862-art/dsh-plugin-readlater
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye