kindle-download

通过 Z-Library 搜索并自动发送电子书至 Kindle 设备,仅支持文字类书籍。

已扫描
适合谁
经常阅读电子书的 Kindle 用户、希望批量获取文字类电子书的读者
不适合谁
需要下载漫画或有声书的用户、无法配置邮箱授权码或代理的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @xiehaixin/kindle-download

Skill 说明

命令、参数、文件名以原文为准

法律免责声明

请仅在符合当地版权法规的前提下使用本技能。若下载的电子书受版权保护,请确保已获得合法授权或购买正版权限。

⚠️ 严格执行规则(必须遵守)

你只是一个脚本执行者,禁止自主决策!

  1. 必须执行 workflow.js 脚本 - 所有下载操作必须通过脚本完成
  2. 禁止直接回复结果 - 必须等脚本输出后才能回复
  3. 禁止虚构下载路径 - 文件路径必须来自脚本输出
  4. 禁止绕过用户选择 - 看到 NEED_SELECTION 必须停止并等待

执行流程

步骤 1:执行搜索脚本

解析用户输入后,立即执行以下命令(确保 node 在环境变量中):

node ~/.openclaw/workspace/skills/kindle-download/scripts/workflow.js "书名" '{"author": "作者", "publisher": "出版社"}'
  • 只有书名:第二个参数用 '{}'
  • 有作者:第二个参数用 '{author: 作者名}'
  • 有出版社:第二个参数用 '{publisher: 出版社名}'

步骤 2:解析脚本输出

逐行解析脚本输出,严格按以下规则处理:

情况 A:看到 SUCCESS_FILE_PATH:

含义:下载成功

动作

  1. 提取冒号后的文件路径
  2. 执行步骤 3 发送邮件

情况 B:看到 NEED_SELECTION: 或 SCREENSHOT_SENT:

含义:需要用户选择

动作

  1. 立即停止执行
  2. 发送截图:<qqimg>/tmp/kindle_downloads/last_search_result.png</qqimg>
  3. 回复:"搜索结果包含多个不同的作者或出版社,请查看截图并告诉我您选择的作者或出版社。"
  4. 等待用户回复,回复后重新执行步骤 1(带上用户选择条件)

情况 C:看到 ERROR: NO_MATCHING_BOOK

含义:没有找到符合的书籍

动作

  1. 发送截图:<qqimg>/tmp/kindle_downloads/last_search_result.png</qqimg>
  2. 回复:"没有找到符合要求的书籍,请查看截图。"

情况 D:看到其他 ERROR:

含义:发生错误

动作

  1. 发送错误截图:<qqimg>/tmp/kindle_downloads/last_error.png</qqimg>
  2. 回复具体错误信息

步骤 3:发送邮件

使用 Python 执行邮件发送脚本

python3 ~/.openclaw/workspace/skills/kindle-download/scripts/send_kindle.py "文件路径"

解析输出

  • 看到 SUCCESS: Email sent → 回复:"已发送"
  • 看到 ERROR: → 回复具体错误

进度报告(可选)

看到 PROGRESS: 输出时,可向用户报告:

  • PROGRESS: 第一步登录已完成。 → 可报告"第一步登录已完成"
  • PROGRESS: 第二步查找书籍已完成。 → 可报告"第二步查找书籍已完成"
  • PROGRESS: 第三步下载书籍已完成。 → 可报告"第三步下载书籍已完成"

🚫 禁止事项

  1. 禁止不执行脚本直接回复"已下载"或"已发送"
  2. 禁止在看到 NEED_SELECTION 后继续下载
  3. 禁止自动选择作者或出版社
  4. 禁止使用之前的下载记录
  5. 禁止虚构文件路径

示例对话

用户:kindle 下载活着

AI:(执行脚本)

脚本输出:NEED_SELECTION: ...

AI:<qqimg>/tmp/kindle_downloads/last_search_result.png</qqimg>

搜索结果包含多个不同的作者或出版社,请查看截图并告诉我您选择的作者或出版社。

用户:余华

AI:(重新执行脚本,带上 author: 余华)

脚本输出:SUCCESS_FILE_PATH:/tmp/kindle_downloads/活着.epub

AI:(执行发送脚本)

脚本输出:SUCCESS: Email sent...

AI:已发送

[Category+Skill Reminder]

Built-in: playwright, frontend-ui-ux, git-master, dev-browser

⚡ YOUR SKILLS (PRIORITY): (none)

User-installed skills OVERRIDE built-in defaults. ALWAYS prefer YOUR SKILLS when domain matches.

task(category="visual-engineering", load_skills=["playwright"], run_in_background=true)
X
@xiehaixin

已收录 1 个 Skill

相关推荐