Skip to content

willingning-coder/MiNote-Sync-Ning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiNote-Sync-Ning 🚀(新增GUI~~~)

全网最完善的小米笔记导出/同步方案:支持文件夹分类、录音/图片完美下载、Obsidian 格式深度适配。(新增GUI~~~)

Created by Ning (willingning-coder)

更新日志

v1.0.0 (2025-12-26)

  • 初始版本发布
  • 支持智能 Cookie 获取
  • 支持配置记忆功能
  • 支持实时日志显示
  • 支持多线程同步

🚀 251229 v1.1.0: - 修复 HTML 标签清洗不彻底导致“垃圾信息”残留的问题。 - 新增文件系统时间戳同步 (os.utime),让文件修改时间回归笔记真实时间。 - 新增指数退避重试机制 (Exponential Backoff),彻底解决“无法获取详情”的网络波动报错。

🚀 251230 v1.3.0: - 新增: 文件名命名规则可配置(可选是否添加日期前缀)。 - 修复: 强制去除 Cookie 中的换行符,解决 Invalid header value 报错。 - 优化: 标题生成前优先清洗 CSS 垃圾词,防止文件名污染。

✨ 脚本核心特性

市面上的导出脚本大多存在录音无法下载、排版混乱或丢失文件夹结构的问题。本项目通过逆向分析小米最新 API,实现了:

  • 🎧 录音完美修复:独家算法解决“长 ID”录音无法下载的问题(自动识别 note_img 接口中的音频文件)。
  • ⚡ 极速增量同步:智能比对本地文件,只下载新增或修改的笔记,秒级完成同步。
  • 📂 完美还原目录:自动读取小米笔记的文件夹结构,并在本地建立对应的文件夹分类归档。
  • 🧹 深度文本清洗:自动剔除 XML 垃圾代码(如 <text indent="1">),还原纯净 Markdown。
  • 🔗 Obsidian 友好:生成的图片/录音链接采用 ![[assets/xxx]] 标准格式,开箱即用。

GUI功能特性

🚀 智能 Cookie 获取

  • 点击"🚀 打开浏览器获取 Cookie"按钮
  • 自动打开小米笔记网页版
  • 后台监听剪贴板,自动识别并填入 Cookie
  • 支持手动停止监听

💾 配置记忆

  • 自动保存 Cookie 和保存路径到 config.json
  • 下次启动时自动加载上次的配置
  • 支持手动保存配置

📊 实时日志显示

  • 同步过程中的所有日志实时显示在界面中
  • 带时间戳的日志记录
  • 支持清空日志功能

⚡ 多线程处理

  • 同步任务在后台线程运行,界面不会卡死
  • 支持停止同步操作
  • 进度条显示同步状态

使用步骤

1. 获取 Cookie

  1. 点击"🚀 打开浏览器获取 Cookie"按钮
  2. 在打开的浏览器中登录小米笔记
  3. 按 F12 打开开发者工具
  4. 切换到 Network 标签页
  5. 刷新页面,点击任意请求
  6. 复制请求头中的 Cookie
  7. 程序会自动识别并填入 Cookie

2. 配置保存路径

  1. 在"保存路径"输入框中设置笔记保存位置
  2. 或点击"浏览..."按钮选择文件夹
  3. 默认路径:当前目录/Data/Notes

3. 开始同步

  1. 确保 Cookie 已正确填入
  2. 确认保存路径设置正确
  3. 点击"🚀 开始同步"按钮
  4. 观察日志输出和进度条
  5. 等待同步完成

界面说明

Cookie 配置区

  • Cookie 输入框:显示当前 Cookie,默认以密码形式隐藏
  • 获取 Cookie 按钮:智能获取 Cookie 的核心功能
  • 状态标签:显示 Cookie 获取状态

路径配置区

  • 路径输入框:显示当前保存路径
  • 浏览按钮:打开文件夹选择对话框

操作按钮区

  • 开始同步:启动同步任务
  • 停止同步:停止当前同步(仅更新界面状态)
  • 保存配置:手动保存当前配置

进度显示区

  • 进度文本:显示当前同步状态
  • 进度条:动态显示同步进度

日志显示区

  • 日志文本框:显示详细的运行日志
  • 清空日志按钮:清除所有日志内容

技术特性

智能识别算法

程序会通过以下规则自动识别小米 Cookie:

  • 长度超过 50 字符
  • 包含 serviceToken 字段
  • 包含其他小米相关字段(userId, deviceId 等)
  • 符合 Cookie 格式(包含多个键值对和分号)

配置文件格式

{
  "cookie": "你的小米Cookie",
  "path": "笔记保存路径"
}

错误处理

  • Cookie 验证失败提示
  • 路径创建失败处理
  • 网络请求错误捕获
  • 同步过程异常处理

依赖要求

必需依赖

  • tkinter:Python 标准库,用于 GUI 界面
  • pyperclip:剪贴板操作库

可选依赖

  • ttkbootstrap:现代化主题库(如果没有安装,会自动使用标准 ttk)

安装命令

pip install pyperclip
pip install ttkbootstrap  # 可选,用于更好的界面主题

注意事项

  1. Cookie 安全:Cookie 包含敏感信息,请妥善保管
  2. 网络环境:确保网络连接正常,能够访问小米云服务
  3. 磁盘空间:确保保存路径有足够的磁盘空间
  4. 权限问题:确保程序有权限创建文件夹和写入文件

故障排除

Cookie 获取失败

  • 检查是否正确登录小米笔记
  • 确认复制的 Cookie 格式正确
  • 尝试手动粘贴 Cookie

同步失败

  • 检查 Cookie 是否过期
  • 确认网络连接正常
  • 查看日志中的错误信息

界面卡死

  • 程序已使用多线程,正常情况下不会卡死
  • 如果出现问题,请关闭程序重新启动

⚠️ 免责声明 本项目仅供学习交流使用,请勿用于非法用途。使用本工具产生的任何数据风险由用户自行承担。

📄 许可证 MIT License © 2025 Ning

About

全网最完善的小米笔记导出方案:支持文件夹分类、录音/图片完美下载、Obsidian 格式深度适配。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors