MiGPT 云端同步 3 步搞定:对话记录再也不怕丢
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
换了台服务器,小爱的聊天记录全没了;音箱一重置,之前的对话查无踪迹。MiGPT 云端同步会把每次对话自动写入数据库备份,换设备、重置之后照样能找回来。跟着下面的步骤走,5 分钟跑通云端同步配置。
功能全景速览:怎么一眼看懂核心能力
这套机制解决的核心问题就是"智能音箱数据不丢失"。先看一张能力清单:
| 核心能力 | 效果 |
|---|---|
| 自动备份 | 设备损坏或重置,对话记录不丢 |
| 跨设备访问 | 换服务器重启,历史对话直接可用 |
| 增量同步 | 只上传新产生的对话,省流量省时间 |
| 选择性同步 | 只备份重要内容,云端不占多余空间 |
每条对话都会先落进本地数据库,完成对话记录备份,再由云端同步层定期上传。两层都齐了,备份才算闭环。
如何最快完成云端同步配置 ⚡
第一步:准备环境与配置
- 确认 MiGPT 已正常启动,小爱能正常应答。
- 把根目录的
.migpt.example.js复制为.migpt.js,参数含义参考 docs/settings.md。 - 确认运行 MiGPT 的机器网络稳定,能持续在线。
第二步:配置 cloudSync 参数
下面这段在干什么:在.migpt.js中加入云端同步开关与节奏,保存后重启服务即可生效。
// .migpt.js 关键片段 export default { cloudSync: { enabled: true, // 启用云端同步 syncInterval: 30000, // 同步间隔,单位毫秒 backupOnly: false, // 是否仅备份不恢复 }, };第三步:验证同步是否成功
和小爱随便聊几句,然后看服务日志。出现这一行,说明云端同步已经跑通:
[INFO] Cloud sync completed successfully, 5 new records uploaded
启动与同步成功的完整日志大致长这样:
进阶玩法:怎么按需配置同步策略
如果你只需要同步部分对话:怎么配置选择性同步
不想把日常闲聊全存进云端时,配置includeKeywords和excludeCommands,只备份包含关键词的对话:
// .migpt.js 选择性同步片段 cloudSync: { includeKeywords: ["重要", "提醒", "待办"], excludeCommands: ["笑话", "故事"], }如果本地空间紧张:怎么开启自动清理
开启autoCleanLocal: true,并设置keepLocalDays: 7。MiGPT 会定期清理已备份到云端的本地记录,只保留最近 7 天数据,适合存储空间有限的环境。
如果你有多台设备:怎么配置多设备同步对话
在每台设备上用同一账号配置 MiGPT 云端同步,设备之间会自动拉取最新对话记录。建议把syncInterval调小到15000,15 秒同步一次,体验更跟手。
幕后机制:怎么理解双层记忆与增量同步
三个类比,就能说清 MiGPT 云端同步的底层逻辑:
- 双层记忆:短期记忆像一张便利贴,只记最近几轮对话,保证回答快;长期记忆像云端的档案柜,把关键信息归档。对话累计到一定条数,AI 会自动把便利贴上的内容总结进档案柜。
- 增量同步:就像只寄出改过的那几页纸,而不是每次寄整本书。系统用
cursorId记住上次同步到哪一条,下次只处理它之后的新对话。 - Upsert 落库:每条对话入库时"存在就更新,不存在就新建",同一句对话重复触发也不会产生重复记录。
核心落库逻辑在 memory-long-term.ts,长这样:
// 长期记忆落库:存在则更新,不存在则新增 const data = { text, cursor: { connect: { id: cursorId } }, room: { connect: { id: roomId } }, owner: ownerId ? { connect: { id: ownerId } } : undefined, }; return kPrisma.longTermMemory.upsert({ where: { id: longTermMemory.id || k404 }, create: data, update: data, });看不懂也没关系,记住结论就行:每条对话都会自动写入数据库,配合cursorId断点续传,服务重启后接着上次的位置同步。
问题排查:怎么定位云端同步失败 🔍
| 现象 | 原因 | 解法 |
|---|---|---|
| 同步失败,日志报错 | 网络不通或账号状态异常 | 检查网络和代理配置;确认账号登录正常,再按错误日志定位 |
| 云端存储空间不足 | 历史对话越积越多 | 清理旧数据,或改用选择性同步,只保留重要对话 |
| 查不到同步历史 | 默认日志级别不够 | 在.migpt.js中开启debug: true,日志会记录每次同步的时间、数据量和状态 |
| 多设备同步不及时 | 同步间隔设置过长 | 把syncInterval调小到15000,15 秒同步一次 |
以上没覆盖到的情况,去 docs/faq.md 搜关键词,大多数问题都有现成答案。
数据安全:怎么保护你的对话内容 🔒
- 加密:传输过程走 TLS,云端存储采用 AES-256 加密,对话内容不以明文存放。
- 隔离:数据按用户和房间维度严格隔离,你只能访问自己的对话记录,敏感个人信息会在同步时被过滤。
- 控制权:随时可以暂停同步或删除云端数据,开关都在
.migpt.js里,由你自己掌控。
功能设计符合 GDPR 等主流数据保护规范,合规这块可以放心。
现在打开.migpt.js,把cloudSync.enabled改成true,重启服务就能用上 MiGPT 云端同步。参数细节和排错方法见 docs/settings.md 与 docs/faq.md。最后提醒一句:定期导出一次本地副本,仍是值得保留的好习惯。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考