核心用法
flomo-sync 是一款专为 flomo 用户设计的本地化数据备份工具,核心功能是将云端 memo 增量同步到本地 Markdown 文件。使用前需准备两项关键配置:项目主路径的绝对路径,以及存储于 .flomo.config 文件中的 flomo API token。
执行流程简洁明确:安装 Python 依赖(requests、markdownify)→ 创建配置文件写入 token → 运行 python scripts/flomo-sync.py --dir /abs/path 即可启动同步。脚本支持丰富的参数选项,包括 --after 指定日期范围、--no-download 跳过附件下载等。输出文件采用 {日期}_{标签}_{摘要}_{slug}.md 的命名格式,每条 memo 独立成篇,包含完整的元数据(创建时间、更新时间、标签)和正文内容。
增量同步机制是核心亮点:脚本自动维护 .flomo.lock 文件记录上次同步时间戳,下次运行时自动从该时间点(减 1 天容错)拉取更新,无需手动干预。附件处理方面,图片以 Markdown 图片语法嵌入,音频以链接形式呈现,默认下载到本地 images/YYYY/MM/DD/ 目录层级。
显著优点
数据主权回归:将封闭的 SaaS 数据转化为开放的本地 Markdown 格式,用户完全拥有笔记资产,不受平台政策变化或服务的持续性影响。
优雅的工程实现:代码结构清晰(849 行/4 文件),无危险函数调用(eval/exec/system/subprocess),输入验证完善(日期格式校验、绝对路径强制)。使用成熟的 requests 和 markdownify 库,依赖风险可控。
安全的网络行为:仅访问 flomo 官方 API(flomoapp.com),HTTPS 加密传输,30 秒超时保护,0.3 秒请求间隔的速率控制,体现良好的 API 公民意识。
隐私设计到位:Token 由用户自主配置于本地文件,不硬编码、不上传云端;所有数据落盘于用户指定目录,零数据外泄风险。文档明确建议通过配置文件而非命令行传参,降低 token 泄露概率。
潜在缺点与局限性
平台绑定性:完全依赖 flomo 官方 API 的稳定性与持续性,若 API 变更或关闭,工具功能将受限。当前无多平台适配能力。
技术门槛:需要用户具备基础的 Python 环境配置能力、token 获取技术(浏览器 DevTools 操作),以及对绝对路径概念的理解,非技术用户上手存在摩擦。
功能边界:仅支持单向同步(flomo → 本地),无本地编辑回写至 flomo 的能力;无内置的去重、冲突解决或版本管理功能;Markdown 导出为静态快照,不保留 flomo 的图谱关系。
附件管理成本:默认下载附件可能产生大量小文件,长期积累占用存储空间;图片下载为本地相对路径,迁移备份目录时需同步处理附件文件夹。
适合的目标群体
flomo 重度用户:积累了成百上千条 memo,担心数据安全、需要定期归档备份的知识工作者。
Markdown 生态拥护者:希望将 flomo 内容纳入 Obsidian、Notion 或其他本地知识库体系,进行进一步加工和联想的用户。
技术型笔记管理者:具备命令行操作能力,理解 API token 配置,追求自动化工作流的开发者、产品经理、研究员群体。
数据自主意识强的用户:对云服务商持审慎态度,坚持本地优先(local-first)软件理念,希望减少对单一 SaaS 依赖的隐私敏感人群。
使用风险说明
Token 泄露风险:flomo access token 相当于账户凭证,若配置不当(如提交至公开 Git 仓库、在共享终端明文输入)可能导致账户被恶意访问。务必配置 .gitignore 忽略 .flomo.config,并设置 chmod 600 文件权限。
路径遍历隐患:虽代码强制要求绝对路径,但若用户在多用户环境将输出目录设于 /tmp 等公共可写区域,存在其他用户读取敏感 memo 内容的风险。建议输出目录设于 ~/Documents 等私有位置。
依赖更新滞后:requests 等库若长期不更新,可能存在未修补的安全漏洞。建议建立定期更新机制,或配合虚拟环境隔离使用。
API 限制与封禁:频繁的同步请求可能触发 flomo 的速率限制;异常流量模式存在账户风控可能。建议合理设置同步频率,避免短时间内大量请求。