XHS Data Helper:把公开内容整理成自己的本地资料

一个 local-first 的 Chrome 扩展,在小红书网页中采集当前可见的笔记、评论、博主资料和搜索下拉词,经侧边栏筛选后导出为 ZIP、JSON、Markdown 或 TXT

2026.08.03

Chrome ExtensionLocal-first内容整理

我经常需要把小红书上的公开内容留作研究资料。复制粘贴适合偶尔保存一两篇笔记,一旦要同时整理正文、评论、博主资料和搜索词,内容很快就会散落在浏览器标签页、临时文档和下载目录里。

XHS Data Helper 从这个具体问题出发:在用户已经打开的小红书页面中采集当前可见内容,先放进浏览器会话里的中转站,确认后再导出到本地。

为什么坚持 local-first

采集到的内容不需要先经过一台远端服务器。扩展把笔记、评论、博主资料和搜索下拉词暂存在 chrome.storage.session,用户可以在 Chrome 侧边栏中选择、删除、清空或恢复条目,最后主动下载文件。

浏览器会话结束后,中转站数据会被清空。这个约束降低了长期留存风险,也意味着重要内容必须及时导出。采集数量设置和悬浮球位置才会进入 chrome.storage.local,它们与采集结果分开保存。

从页面采集到本地文件

扩展提供页面内按钮、悬浮球和 Chrome 侧边栏三种操作入口,可以处理发现页、搜索页、笔记详情页和博主主页中的公开内容。采集结果先进入中转站,用户检查并选择需要保留的条目,再导出为不同格式:

  • ZIP 适合归档,同时包含结构化数据、Markdown、下拉词和说明文件
  • JSON 保留完整结构,方便后续程序处理和数据分析
  • Markdown 适合阅读、整理或导入笔记工具
  • TXT 提供精简纯文本,方便快速查看和复制

单篇笔记还可以单独下载图片和视频。批量导出只保存原始媒体链接,因为链接可能过期,也会受到网络状态和平台访问策略影响。

主动采集,不绕过平台边界

项目使用 Chrome Manifest V3 和原生 JavaScript、HTML、CSS,没有构建步骤。Content Script 观察页面已经产生的接口响应,解析当前可见数据;需要加载更多内容时,主动采集器通过页面滚动触发小红书自己的加载流程,不直接请求内部接口。

扩展只匹配小红书及其静态资源域名,没有登录、账号同步和远端推送功能,也不会绕过登录、访问控制或平台风控。自动滚动采用分档间隔并允许手动停止,但采集数量过大仍可能触发限流,所以更适合小批量、明确目的的资料整理。

当前状态

仓库当前版本为 1.0.1,源码可以直接在 Chrome 扩展管理页以“加载已解压的扩展程序”方式安装,采用 MIT License 开源。

它仍有清楚的工程边界:小红书接口或 DOM 结构变化可能让部分入口失效,媒体链接不保证长期有效,仓库目前也没有自动化测试、CI、发布脚本和打包流程。涉及采集逻辑或界面的修改,仍需要在真实页面和 Chrome 侧边栏中手动验证。

查看 GitHub 仓库

← Vibe Coding