🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Kindle 编书 wanghs09/dsh-plugin-kindle-book

DeepSeek Harness
wanghs098 天前有提交已提供中文文档扫描:含敏感能力

粘贴网页链接,抓取正文打包成 EPUB 或 AZW3 电子书

29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wanghs09/dsh-plugin-kindle-book
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 8 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    index.js:143
    await access(path, mode);
  • 读取本地文件
    index.js:158
    if (existsSync(candidate)) return candidate;
  • 执行外部命令来自配置/变量
    index.js:231
    const child = spawn(command, args, { env: env ?? process.env, stdio: ["ignore", "pipe", "pipe"] });
  • 写入本地文件
    index.js:398
    await mkdir(request.outDir, { recursive: true });
  • 读取本地文件
    index.js:450
    const info = await stat(item.path);
  • 读取本地文件
    index.js:458
    const info = await stat(coverPath);
  • 读取本地文件
    index.js:669
    info = await stat(absolute);
  • 读取本地文件
    index.js:684
    createReadStream(absolute).pipe(res);
  • 发起网络请求
    client.js:215
    fetch(`${BASE}/env`, { headers: { accept: "application/json" } })
  • 发起网络请求
    client.js:252
    const response = await fetch(`${BASE}/build`, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

把网页新闻抓成 EPUB/AZW3:Web 界面粘贴链接即可编书,同时向 Agent 提供一个 kindle_book 工具。

README

由 DeepSeek 最新模型翻译生成
Kindle 编书 · DSH 插件 English:一个 DeepSeek Harness 插件,把网页文章转成可离线阅读的 EPUB(借助 calibre 还能出 AZW3)——侧栏多一个页面,粘贴链接就能编书;另外给智能体一个 kindle_book 工具。 中文:把网页新闻抓成纯净正文,打包成 EPUB / AZW3。Harness 侧栏多一个「Kindle 编书」页面,粘贴链接就能编书下载;同时给智能体一个 kindle_book 工具,两条路走同一段逻辑。 功能 - 侧栏页面:粘贴链接、填书名、选输出目录,一键生成 EPUB / AZW3,结果直接下载(中文文件名保留)。 - 智能体工具:kindle_book(urls=[...], title="..."),聊天里就能编书。 - 正文清洗:去掉导航、广告、相关阅读、脚本样式,只留文字。 - 失败可见:抓不到的链接单独列出,原始日志可展开。 - 跨平台 calibre 探测:macOS / Linux / Windows 常见安装路径、PATH、NEWS2KINDLE_EBOOK_CONVERT 环境变量都能识别。
展开完整文档(README 剩余 1 节)
Kindle 编书 · DSH 插件

English:一个 DeepSeek Harness 插件,把网页文章转成可离线阅读的 EPUB(借助 calibre 还能出 AZW3)——侧栏多一个页面,粘贴链接就能编书;另外给智能体一个 kindle_book 工具。

中文:把网页新闻抓成纯净正文,打包成 EPUB / AZW3。Harness 侧栏多一个「Kindle 编书」页面,粘贴链接就能编书下载;同时给智能体一个 kindle_book 工具,两条路走同一段逻辑。

功能

- 侧栏页面:粘贴链接、填书名、选输出目录,一键生成 EPUB / AZW3,结果直接下载(中文文件名保留)。
- 智能体工具:kindle_book(urls=[...], title="..."),聊天里就能编书。
- 正文清洗:去掉导航、广告、相关阅读、脚本样式,只留文字。
- 失败可见:抓不到的链接单独列出,原始日志可展开。
- 跨平台 calibre 探测:macOS / Linux / Windows 常见安装路径、PATH、NEWS2KINDLE_EBOOK_CONVERT 环境变量都能识别。

前置依赖

| 依赖 | 是否必需 | 说明 |
| Python 3.10+ 与 lxml | 必需 | 插件自动依次探测:config.pythonPath → DSH 自带 python → /opt/homebrew/bin/python3 → /usr/local/bin/python3 → /usr/bin/python3 → PATH 的 python3。安装:python3 -m pip install --user lxml |
| calibre | 可选 | 只有需要 AZW3 时才要;缺了就只出 EPUB,页面会提示 |
| DSH >= 0.2.1-0 | 必需 | 用到 webServer 路由、main / sidebar.panellist 槽位与工具注册 |

安装

任选一种(都通过侧栏 插件 页完成,不要手工改配置档的 package.json):

| 方式 | 操作 |
| 插件市场 | 插件页 → 发现 → 添加索引 https://raw.githubusercontent.com/wanghs09/dsh-plugin-kindle-book/main/market-index.json → 搜索「Kindle」安装 |
| GitHub | 插件页 → 添加插件 → 填 git+https://github.com/wanghs09/dsh-plugin-kindle-book.git |
| npm | 插件页 → 添加插件 → 填 dsh-plugin-kindle-book(尚未发布到 npm,见下方说明) |
| 本地目录 | 插件页 → 添加插件 → 本地目录 → 选本仓库克隆下来的目录 |

装好后侧栏出现「Kindle 编书」;未开启 HMR 时需重启 Harness。卸载同样在插件页完成。

想发布到 npm?npm publish --access public,然后把 market-index.json 里该版本的 source 换成 { "type": "npm" },安装 spec 就会变成 dsh-plugin-kindle-book@1.0.0。Git 方式不需要这步。

使用(页面)

| 字段 | 说明 |
| 文章链接 | 一行一条;# 开头是注释;写成 URL \| 章节标题 可覆盖该章标题 |
| 书名 | 同时是输出子目录名;留空则用 新闻摘编 YYYY-MM-DD |
| 输出目录 | 绝对路径;默认 ~/Documents/Kindle(可用配置改) |
| AZW3 | 勾选后调用 calibre;没装 calibre 就只有 EPUB |
| 生成封面 | 对应脚本的 --no-cover |

生成后列出 EPUB / AZW3 / 封面,点「下载」直接存盘;抓取失败的链接单列;原始日志可展开。同一时间只允许一次构建(并发返回 409)。

日常流程(攒几天再编)

1. 平时刷到想读但没空看的新闻,先扔进微信收藏,不急着读。
2. 隔几天从收藏里复制链接,一次性贴进来,书名用 新闻摘编 10月27日 这类日期,攒 5–10 篇编一本。
3. EPUB 在电脑上看(浏览器 / Calibre / Apple Books),AZW3 走 USB 拷到 Kindle 的 documents/;Send to Kindle 邮箱推送不支持 AZW3,那个通道用 EPUB。
4. 没抓到的链接会在结果里单列,单独再生成一次,或直接点开原文。

使用(智能体)

把这两个链接做成一本 kindle 书,书名《十月观察》 → kindle_book(urls=["https://...", "https://..."], title="十月观察")

参数:urls(必填,数组)、title、azw3、cover、outDir。返回输出目录、文件列表、失败链接与日志,与页面按钮行为完全一致。

配置(可选)

默认无需配置。要改的话,在配置档的补丁里给这一行加 config:

- insert:
- id: kindle-book
name: 'dsh-plugin-kindle-book'
config:
pythonPath: /opt/homebrew/bin/python3
calibrePath: /Applications/calibre.app/Contents/MacOS/ebook-convert
outDir: /Users/you/Documents/Kindle
timeoutMs: 300000
minChars: 120

| 键 | 默认 | 说明 |
| pythonPath | 自动探测 | 能 import lxml 的解释器 |
| calibrePath | 自动探测 | ebook-convert 路径;也可用环境变量 NEWS2KINDLE_EBOOK_CONVERT |
| outDir | ~/Documents/Kindle | 页面默认输出目录 |
| timeoutMs | 300000 | 单次构建上限,超时终止 |
| minChars | 120 | 正文少于该字数视为抓取失败 |

接口

三条同源路由,都先过 connection.requestRejection 的 Host/Origin 与登录校验:

| 方法 | 路径 | 说明 |
| GET | /kindle-book/env | Python(含 lxml)、calibre、脚本、默认输出目录与限制 |
| POST | /kindle-book/build | {urls, title, outDir, azw3, cover} → 结果、失败链接、日志 |
| GET | /kindle-book/download?id=&name= | 下载本次构建登记过的文件;不接受任意路径 |

下载只认「本次构建登记过的文件名」,没有路径穿越入口。

目录结构

.
├── package.json # dsh.bundle.patch + dsh.client(Web 半侧) ├── cordis.patch.yml # 插入 id 为 kindle-book 的插件行 ├── index.js # Host:3 个 webServer 路由 + kindle_book 工具 ├── client.js # Web:侧栏入口 + 主面板页面 ├── news2kindle.py # 抓取 → EPUB → AZW3(可用 NEWS2KINDLE_EBOOK_CONVERT 指定 calibre) ├── locale/{zh,en}.json # 插件页显示的标题与描述 ├── icon.svg # 侧栏图标 ├── market-index.json # 插件市场索引(format 1),供他人添加索引后搜索安装 └── scripts/ # 自检与发布脚本

自检

node --check index.js && cp client.js /tmp/c.mjs && node --check /tmp/c.mjs
node scripts/smoke.mjs # 离线:路由/校验/下载 404
node scripts/smoke.mjs --network # 额外跑一次真实构建(会联网抓取)

已知限制

- AZW3 依赖 calibre:没有 ebook-convert 时只出 EPUB。
- 国际站点直连不通:BBC / NYT / Guardian 等需要代理,否则作为失败链接列出。
- 偶发 IncompleteRead:微信长文偶尔中途断流(脚本单次读取、不重试),重新生成一次即可。
- 只有文字:图片、视频按原脚本设定丢弃。
- 一次一本:并发构建返回 409。

隐私与安全

- 插件 Host 代码运行在 Harness 宿主进程内,不受工作区沙箱限制:它只会读取/写入你指定的输出目录,并启动本机的 Python 与 calibre。
- 没有遥测、没有外部上报;唯一的网络请求是抓取你贴进去的文章 URL。
- 路由受 Harness 的登录态与 Host/Origin 校验保护,只接受本机同源请求。

License

MIT
预览分享卡片长什么样 ↓wanghs09/dsh-plugin-kindle-book
分享 · DeepSeek Harness Hub
wanghs09/dsh-plugin-kindle-book

粘贴网页链接,抓取正文打包成 EPUB 或 AZW3 电子书

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部