news 2026/8/13 13:48:12

3步让ReadCat读遍全网小说:手把手学会自定义书源插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3步让ReadCat读遍全网小说:手把手学会自定义书源插件

3步让ReadCat读遍全网小说:手把手学会自定义书源插件

【免费下载链接】read-cat一款免费、开源、简洁、纯净、无广告的小说阅读器项目地址: https://gitcode.com/gh_mirrors/re/read-cat

如果你是个爱看小说的人,大概经历过这样的场景:某本热书只在某个小网站独家连载,手机里装了三四个阅读App,翻来覆去就是找不到想看的那一本;偶尔找到了,又被满屏的弹窗广告、强制下载提醒劝退。今天要介绍的 ReadCat,就是为解决这类"书荒+广告轰炸"问题而生的——一款免费、开源、无广告的小说阅读器。它最核心的武器,就是高度自由的书源插件机制:想读哪个网站的书,自己接一条"管道"就行。

把"找书"这件事,拆成三个动作

很多新手一听到"开发插件"四个字就打退堂鼓,其实大可不必。书源插件说白了,就是告诉 ReadCat 三件事:去哪搜书、详情长什么样、正文在哪

先看这张图,ReadCat 的图标本身就像一本翻开的书,暗合它"纯粹阅读"的定位:

对应的三个动作分别是:

  • 搜书:输入关键词后,向目标网站发起请求,把书名、作者、封面整理成列表返回。
  • 看详情:点进一本书,需要拿到简介、目录、章节列表这些信息。
  • 读正文:这是每天用得最多的环节,按章节地址抓取正文内容,交给阅读器排版渲染。

用大白话讲,一个书源插件就是一张"藏宝图",图上标清楚了书在哪里、怎么打开、正文在哪个抽屉里。ReadCat 在代码层面把这三个动作定义为searchgetDetailgetTextContent三个方法,每个插件只需按约定实现它们即可。

动手写你的第一个书源:比想象中简单

真正写起来你会发现,基础骨架非常朴素:一个类,声明好自己的名字、版本、作者,再补上那三个方法。核心步骤可以归纳成三步:

第一步,定"身份"。给插件起个能识别的名字,声明版本号和归属分组。ReadCat 对插件 ID 有 16 到 32 位的长度校验,主要是为了避免插件之间冲突。

第二步,写搜索。用 ReadCat 提供的this.request.get发请求,拿到页面后用内置的解析工具(比如项目里集成的 cheerio,能把网页当作结构化的 DOM 来操作)提取书名和链接。这一步是整条流水线的入口,搜得到书,后面的一切才有意义。

第三步,补全详情与正文。详情页要抠出简介、作者、章节列表;正文页则需要过滤掉脚本、广告、无关导航这类噪音。有意思的是,ReadCat 在导入书源时会对正文做一道 HTML 消毒处理,自动剔除危险标签和空段落,等于帮插件开发者兜了一层底。

整个过程中你甚至不需要理解 Vue、Electron 这些框架细节,因为插件运行在 ReadCat 内置的独立沙箱环境里(项目使用的是 vm2),它只关心你导出的那个插件类本身。

别急着上线,先用内置工具台调试

插件写完后最怕什么?怕脚本报错却不知道错在哪。ReadCat 专门为开发者准备了一套插件开发工具:在设置里导入插件开发工具包后,就能打开一个独立的调试窗口(对应源码里的electron/plugin-devtools.ts)。控制台日志、错误堆栈一目了然,你可以像调试普通网页一样逐行检查插件行为。

调试时有两个小习惯值得养成:

  • 单测每个方法:先把search单独跑通,再依次验证getDetailgetTextContent,别一口气写完再回头找 bug。
  • 善用 console:在关键节点打印返回数据,确认拿到的 HTML 结构和你预想的一致。网站改版导致插件失效,九成都是选择器没跟上。

从"能用"到"好用"的四个细节

一个刚能跑的书源,距离"顺手"还有几步。日常使用中,下面四点会明显提升体验:

细节做什么收益
分页搜索结果多时分页拉取,而不是一次抓完首屏更快,避免请求超时
缓存结果对详情页、目录做本地缓存二次打开秒开,省流量
代理支持部分站点需要代理才能访问,插件可声明走代理特殊网络环境也能用
封面处理对图片地址做统一适配书架显示整齐美观

另外,ReadCat 为每个插件提供了独立的存储空间(getStoreValue/setStoreValue),可以把搜索历史、上次阅读位置这类轻量数据存进去,下次运行接着用。

写好的插件怎么分享给别人

开发完成不等于结束,让更多人用上你的书源才算完整。流程同样不复杂:

  1. 在设置面板的书源管理里,把插件导出成文件。
  2. 朋友拿到文件后,在 ReadCat 里选择"导入插件",一键加载。
  3. 插件导入后需要手动启用,之后就能在搜索、书架、阅读等所有环节看到它的身影。

ReadCat 的插件体系并不只有书源一种——它还预留了书城插件和朗读引擎插件的扩展位。目前项目内置了一个基于 Edge 服务的 TTS 朗读引擎,支持多种中文音色,可以边看边听;未来书城能力补齐后,插件生态会更完整。

最后说两句

书源插件的价值,在于把"读哪本书"的选择权彻底交还给你自己。与其被动接受某个平台的内容池,不如亲手为喜欢的网站写一条管道。从最简单的一个搜索方法开始,跑通第一个书源,你会发现后面的一切都是水到渠成。

如果你感兴趣,可以直接获取项目源码研究插件系统的实现,接口定义在src/core/plugins/defined/booksource.d.ts,插件加载与校验逻辑在src/core/plugins/index.ts,插件状态管理则集中在src/store/plugins.ts。仓库地址是 https://gitcode.com/gh_mirrors/re/read-cat ,clone 下来运行npm install即可开始探索。

ReadCat 目前还处于内测阶段,功能在快速迭代中,现在正是参与共建的好时机。动起手来,为它写你的第一个书源插件,让更多读者用上你的作品吧。🚀

【免费下载链接】read-cat一款免费、开源、简洁、纯净、无广告的小说阅读器项目地址: https://gitcode.com/gh_mirrors/re/read-cat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 13:45:35

明日方舟素材库使用指南:从零到一解锁泰拉世界的创意工具箱

明日方舟素材库使用指南:从零到一解锁泰拉世界的创意工具箱 【免费下载链接】ArknightsGameResource 明日方舟客户端素材 项目地址: https://gitcode.com/gh_mirrors/ar/ArknightsGameResource 你是不是也有这样的时刻:想做个方舟同人图鉴站、剪一…

作者头像 李华
网站建设 2026/8/13 13:45:24

GEO优化监测:品牌如何靠GEO挖掘可靠信源,提升AI搜索曝光获客

在AI搜索全面重构用户决策链路的今天,“被AI看见”正在取代“被搜到”,成为品牌曝光的核心命题。QuestMobile 最新研究揭示,AI 推荐本质是意图理解、信源检索、内容召回、答案生成的精密链路,不同平台采信偏好差异巨大&#xff0c…

作者头像 李华
网站建设 2026/8/13 13:44:55

如何彻底告别惠普官方软件:OmenSuperHub 终极硬件控制指南

如何彻底告别惠普官方软件:OmenSuperHub 终极硬件控制指南 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 一台…

作者头像 李华
网站建设 2026/8/13 13:44:53

腾讯元宝粘贴到 word 格式混乱,AI 导出鸭一键规整排版

摘要 针对腾讯元宝内容粘贴至Word后出现格式错乱、排版失效、内容错位等高频问题,本文梳理市场真实需求,依托AI技术给出系统化解决方案,通过多方案对比、数据验证、专家点评与实测体验,展现AI导出鸭在格式还原、智能适配、多端协同…

作者头像 李华
网站建设 2026/8/13 13:44:44

Ubuntu系统下载全攻略:从版本选择到镜像校验的避坑指南

1. 从“下载”说起:理解Ubuntu获取的本质 当我们在搜索引擎里敲下“Ubuntu系统如何下载”时,这看似一个简单到不能再简单的操作,背后却隐藏着新手最容易忽略的一系列关键决策。很多人以为“下载”就是点一个链接,等进度条走完&am…

作者头像 李华
网站建设 2026/8/13 13:42:53

嵌入式竞赛晋级秘籍:从“一坨”项目到国赛入场券的实战策略

最近在嵌入式系统设计大赛(ST赛道)的西北赛区,我经历了一次非常“魔幻”的体验。我们团队提交的作品,坦白说,我们自己都觉得完成度不高,存在不少问题,甚至内部都戏称“做得很一坨”。但结果却出…

作者头像 李华