# mi-notes-exporter
**Repository Path**: szpatrick/mi-notes-exporter
## Basic Information
- **Project Name**: mi-notes-exporter
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-09-12
- **Last Updated**: 2026-09-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
小米笔记导出工具
Languages:
简体中文 ·
English
---
一个用于批量导出小米云服务笔记的 Chrome 浏览器扩展工具。支持导出为 Markdown 格式,自动下载笔记中的图片,支持文件夹选择、暂停/继续功能。
## ✨ 功能特性
- ✅ **批量导出**:支持一次性导出多个文件夹的笔记
- ✅ **Markdown 格式**:导出为标准 Markdown 格式,便于 Obsidian 等笔记软件使用
- ✅ **图片自动下载**:自动识别并下载笔记中的图片到本地
- ✅ **文件夹选择**:可选择性导出特定文件夹的笔记
- ✅ **暂停/继续**:支持导出过程中的暂停和继续
- ✅ **智能防爬虫**:可配置延迟和批量处理,避免被反爬虫检测
- ✅ **进度实时显示**:实时显示导出进度和日志
- ✅ **自动年份补充**:为当年的笔记自动补充完整年份信息
- ✅ **原生侧边栏**:使用 Chrome 原生侧边栏,界面更美观
## 📦 安装方法
### 1. 下载项目
克隆或下载此仓库到本地:
```bash
git clone https://github.com/Horizen5/mi-notes-exporter.git
```
或者直接下载 ZIP 并解压。
### 2. 安装到 Chrome 浏览器
1. 打开 Chrome 浏览器,访问 `chrome://extensions/`
2. 开启右上角的「开发者模式」开关
3. 点击「加载已解压的扩展程序」按钮
4. 选择刚才下载的项目文件夹
5. 确认安装成功,你会在扩展列表中看到「小米笔记导出工具」
### 3. 浏览器兼容性
本扩展支持所有基于 Chromium 的浏览器:
- Chrome 90+
- Edge 90+
- Brave
- Opera
- Vivaldi
## 🚀 使用方法
### 1. 登录小米云服务
1. 访问 [小米云服务 - 笔记](https://i.mi.com/note/h5)
2. 登录你的小米账号
3. 确保可以正常看到你的笔记列表
### 2. 打开扩展侧边栏
1. 点击浏览器工具栏中的扩展图标
2. 或点击地址栏右侧的「小米笔记导出工具」图标
3. 侧边栏会自动打开
### 3. 配置导出选项
在侧边栏中可以配置以下选项:
#### 文件夹选择
- 点击「刷新文件夹列表」获取当前所有文件夹
- 勾选你需要导出的文件夹
- 支持「全选/取消全选」
#### 导出设置
- **导出类型**:
- 完整导出(含图片):导出笔记内容并下载所有图片
- 纯文本导出:只导出文字内容,不下载图片
- **图片文件夹名称**:设置保存图片的文件夹名称(默认为 `images`)
#### 反爬虫设置(建议保持默认)
- **最小延迟**:每次操作之间的最小等待时间(毫秒),默认 1000ms
- **最大延迟**:每次操作之间的最大等待时间(毫秒),默认 3000ms
- **批量大小**:每处理多少条笔记后强制休息,默认 30 条
- **批量休息**:强制休息的时间(毫秒),默认 15000ms
### 4. 开始导出
1. 确认所有设置无误后,点击「开始导出」按钮
2. 扩展会自动:
- 逐个打开选中的文件夹
- 逐条提取笔记内容
- 下载笔记中的图片
- 保存为 Markdown 文件和 JSON 文件
3. 在导出过程中可以:
- 点击「暂停」暂停导出
- 点击「继续」继续导出
- 点击「停止」结束导出(已处理的笔记会保存)
### 5. 查看导出结果
导出的文件会自动保存到浏览器的默认下载目录:
```
下载目录/
├── 文件夹名1.md # Markdown 格式的笔记文件
├── 文件夹名2.md
├── mi_note_文件夹名1.json # 原始 JSON 数据
├── mi_note_文件夹名2.json
└── images/ # 图片文件夹
├── 文件夹_YYMMDD_NoteID_1.jpg
├── 文件夹_YYMMDD_NoteID_2.jpg
└── ...
```
## 📄 导出文件说明
### Markdown 文件结构
每个文件夹生成一个独立的 Markdown 文件,格式如下:
```markdown
# 小米笔记导出 - 文件夹名
导出时间: 2026-05-08 14:30:00
笔记数量: 15
> 请将下载的图片放入 images 文件夹
---
## 笔记标题1
> 创建时间: 2026年3月15日
笔记内容...

---
## 笔记标题2
> 创建时间: 2026年3月16日
笔记内容...
---
```
### 图片命名规则
图片文件命名格式:`文件夹名_YYMMDD_NoteID末4位_序号.jpg`
例如:`工作_260315_ABCD_1.jpg`
## ❓ 常见问题
### Q: 导出过程中页面卡住不动怎么办?
**A:** 请尝试以下方法:
1. 确保小米云服务页面保持在前台
2. 不要最小化浏览器窗口
3. 适当增加延迟时间设置
4. 如果卡住超过 30 秒,可以尝试暂停后继续
### Q: 有些图片下载失败怎么办?
**A:** 图片下载失败的常见原因:
1. 网络不稳定 - 检查网络连接
2. 图片已被删除 - 笔记中的图片可能已失效
3. 小米云服务限制 - 尝试增加延迟时间
4. 登录状态失效 - 重新登录小米云服务
### Q: 如何避免被反爬虫检测?
**A:** 建议配置:
- 增加最小/最大延迟时间
- 减小批量大小
- 增加批量休息时间
- 避免在短时间内多次导出
### Q: 导出中断后可以继续吗?
**A:** 目前版本每次导出都是全新开始,不支持断点续传。但你可以:
1. 记录已导出的文件夹
2. 下次只选择未导出的文件夹
3. 或者重新导出(会覆盖同名文件)
### Q: 为什么有些笔记没有标题?
**A:** 小米笔记中有些笔记可能没有设置标题,导出时会显示为「无标题」。
### Q: 可以在其他浏览器使用吗?
**A:** 可以!所有基于 Chromium 的浏览器(Edge、Brave、Opera 等)都支持,安装方法相同。
## ⚙️ 配置建议
### 保守配置(推荐)
```
最小延迟: 1500ms
最大延迟: 3000ms
批量大小: 20
批量休息: 20000ms
```
### 快速配置(有风险)
```
最小延迟: 500ms
最大延迟: 1000ms
批量大小: 50
批量休息: 10000ms
```
> 注意:快速配置可能导致被小米云服务限制访问,请谨慎使用。
## 🔧 技术细节
### 扩展架构
- **Manifest V3**:使用最新的 Chrome 扩展规范
- **Content Script**:运行在小米云页面中,负责抓取笔记
- **Background Service Worker**:处理文件下载等后台任务
- **Side Panel**:使用 Chrome 原生侧边栏提供用户界面
### 数据安全
- 所有数据处理都在本地浏览器中进行
- 不上传任何数据到第三方服务器
- 只需要访问小米云服务(i.mi.com)的权限
- 使用 Chrome Storage API 保存配置和进度
### 文件命名过滤
自动过滤文件名中的特殊字符:
- `[ ] 【 】 ( ) ( )` 等括号和空格会被移除
- `\ / : * ? " < > |` 等非法字符会被替换为 `_`
## 📋 更新日志
### v1.9.4
- 优化了笔记提取的稳定性
- 改进了图片下载机制
- 添加了扫尾回旋功能,减少漏单
- 优化了碰撞检测算法
- 改进了登录状态保持
### v1.0.0
- 初始版本发布
- 支持基本的笔记导出功能
- 实现图片下载功能
- 添加文件夹选择
- 实现反爬虫设置
## 📧 反馈与支持
如果你遇到问题或有建议,欢迎:
- 在 [GitHub Issues](https://github.com/Horizen5/mi-notes-exporter/issues) 中反馈
- 查看浏览器控制台(F12)的错误信息
- 检查扩展侧边栏的日志输出
## 🔒 隐私声明
- 本扩展只在本地运行,不上传任何数据
- 所有笔记数据仅保存到你的本地下载文件夹
- 不收集任何用户信息或使用统计数据
- 仅访问小米云服务(i.mi.com)以获取你的笔记
## ⚠️ 免责声明
本工具仅供个人备份自己的小米云服务笔记使用。请勿用于商业用途或侵犯他人隐私。使用本工具产生的一切后果由使用者自行承担。
## 📄 许可证
MIT License
> **提示**:使用前请确保你已备份重要数据,以防万一!
⭐ 如果这个工具对你有帮助,请给个 Star!