✨ Kindle 两次吃灰后,我做了一个完全免费的 Kindle 推送 & 标注转换机器人(开源)

查看 9|回复 0
作者:Joeyyyyyyy   
契机很简单:
放在写字台的 Kindle 吃灰许久,连泡面的功能都要失效了。心血来潮给它充满电,却发现——图书馆坏了
一查才知道:
👉 Kindle 中国区服务停止运行
👉 原账号无法继续使用 Send-to-Kindle 推送
重新激活功能的方式网上已经有很多教程了:
核心流程是:
[ol]
  • 注销中国区账号
  • 注册美国区或其他地区账号
  • 在亚马逊官网重新添加“受信任邮箱”(如 QQ 、163 等)
  • 即可继续使用 Send-to-Kindle 推送
    [/ol]
    推荐参考这篇总结得非常清楚的文章:
    🔗 Kindle 终止中国在线服务:如何换区和继续使用推送服务
    📚 推书很方便了,那能不能更方便?
    账号换好以后,通过 Send-to-Kindle 邮箱推送书籍又恢复正常了。
    但作为一名程序员,我想着:

    能不能做到完全在手机上操作?
    甚至一键把书推送到 Kindle ?

    于是我继续搜,果然在 B 站找到了一个非常好的思路:
    🔗 电子书迷们看过来:Kindle 退出中国怎么办?
    里面提到可以使用一个 Telegram Bot 来转发书籍。我试了一下——确实非常好用!上传书的同时还能直接推送到 Kindle ,非常爽。
    结果……
    上传第二本的时候 👇

    开始收费了 🥲
    作为程序员,我突然血压就上来了:

    这不就是一个 “收文件 → 发邮件” 的服务吗?我完全可以自己写一个。

    于是我就真的开写,并把它完全免费开源出来了:
    🚀 Kindle Mailman:一个完全免费的 Kindle 推送 & 标注 Markdown 转换服务
    📦 项目地址(欢迎 star ):
    👉 https://github.com/xiaolonggee/kindle_mailman
    核心能力如下:
    ✉️ 1. Telegram → Kindle 推送
    后端提供 /api/telegram:
  • 接收 bot 上传的附件( mobi / epub / pdf )
  • 识别指令、参数
  • 自动转发到你的 Kindle 邮箱
  • 无需本地设备,手机就能完成推书

    简单一句话:
    你发给 bot 一本书,它就会自动推送到你的 Kindle 。
    🔄 2. 邮箱轮询:自动收爆款功能——Kindle 标注解析
    通过 /api/check-mail + Vercel Cron ,实现自动轮询 Gmail:

  • 登录 Gmail (使用 OAuth Refresh Token )

  • 查找满足条件的邮件:
  • “未读”
  • “来自可信发件人 TRUSTED_SENDER_EMAIL”
  • “有 .html 附件( Kindle Notebook 导出)”

  • 解析 HTML → 自动生成 Markdown

  • 输出文件名:.md

    解析内容包含:
  • 书名 / 作者
  • 划线高亮
  • 用户笔记
  • 页码 / 位置
  • 颜色(黄色/蓝色/粉色…)

    📝 3. Markdown 分发:可回 Telegram 、可回 Obsidian
    Markdown 生成后有两条分发路径:
    ✔️ 路径 1:发回 Telegram
    使用 sendDocument 发送 .md 文件至 OWNER_CHAT_ID。
    提交后可以立即在手机 Telegram 中看到完整的 Markdown 内容。
    ✔️ 路径 2:可选分发到 Obsidian Inbox (邮箱方式)
    将 .md 作为附件发送到:
    OBSIDIAN_INBOX_EMAIL
    你可以结合:
  • iCloud
  • macOS Mail 规则
  • 或 iOS 快捷指令

    实现自动落地到 Obsidian Vault 。
    🛡️ 4. 去重逻辑:保证不会重复处理邮件
    每当处理完一封邮件:
  • 给它加上标签(默认 ProcessedByKindleBot)
  • 同时标记已读

    这样即使 Cron 频率很高,也不会重复消费。
    📜 5. 日志 & 容错
  • 如果发件人不可信 → 只记录日志
  • 如果没有 HTML 附件 → 跳过
  • 如果解析失败 → 标记并继续处理下一封

    系统足够健壮,跑在 Vercel 上成本极低。
    🧠 整体架构图(简化版)
    (上传书籍)         (导出笔记)
    Telegram  →  /api/telegram    Gmail  →  /api/check-mail
          |                        |
          ↓                        ↓
      转发到 Kindle 邮箱      HTML → Markdown
          ↓                        ↓
      Kindle 收书                分发 Markdown
                                   |
                 ┌──────────────┬───────────────┐
                 ↓                              ↓
           sendDocument                 发到 Obsidian 收件箱
             (Telegram)                      (可选)
    📦 环境变量说明(简化版)
    KINDLE_EMAIL
    TELEGRAM_BOT_TOKEN
    OWNER_CHAT_ID
    TRUSTED_SENDER_EMAIL
    # Gmail OAuth
    GMAIL_CLIENT_ID
    GMAIL_CLIENT_SECRET
    GMAIL_REFRESH_TOKEN
    # Obsidian 可选
    OBSIDIAN_INBOX_EMAIL
    # 去重标签
    PROCESSED_LABEL_NAME=ProcessedByKindleBot
    🎉 最终效果
  • 你在手机上把 HTML ( Kindle Notebook 导出)发给 bot
  • 机器人自动生成 Markdown
  • 文件直接发回 Telegram
  • 想保存到 Obsidian → 点一下“保存到文件”即可
  • 再也不用付费、复制、转换、格式化

    把阅读 → 记录 → 梳理 → 存档 的路径缩短到几秒钟。
    🧩 开源地址(欢迎 Star )
    👉 https://github.com/xiaolonggee/kindle_mailman
    如果有想扩展的功能,例如:
  • 按章节导出多文件
  • 自动生成摘要
  • 给标注加标签
  • Push 到 Notion / Logseq
  • 解析 Markdown 分层结构

    也欢迎佬友们提 pr
    ❤️ 最后
    这个项目的初衷很简单:

    让 Kindle 的知识流动得更顺畅。

    希望这篇文章能帮到同样在用 Kindle 、在做个人知识管理的朋友们。
    如果你也正在找“标注自动化处理”方案,这个项目也许能给你一点灵感,现在在 ios 自动化部分整的不太好,佬友们有好的方案大家多讨论,感谢感谢。
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部