长毛象同步到 Notion

NotionHub 可以通过 Mastodon 实例提供的官方 OAuth 和 REST API,把你本人发布的原创嘟文、回复和书签同步到 Notion。转嘟、收藏、首页时间线、通知、关注关系和私信不在首版范围内。

这个服务由 NotionHub Worker 每 5 分钟轮询,不使用 GitHub Action。浏览器不需要保持打开,也不需要为长毛象绑定 GitHub。

使用前准备

  • 已安装最新版 NotionHub 浏览器插件并登录 Notion。
  • 知道自己账号所在实例的地址,例如 https://mastodon.social
  • 实例支持 Mastodon Apps、OAuth、账号嘟文和书签接口。
  • 已有可复制的长毛象官方模板,或准备授权自己的旧模板。

配置步骤

1. 复制并授权 Notion 模板

打开插件中的「长毛象」,在 Notion 模板卡片点击「复制模板」。流程与其它同步服务一致:

  1. 优先使用插件显示的托管模板操作;已有模板时可以直接打开或重新复制。
  2. 如果插件回退到 Notion OAuth,选择「使用开发人员提供的模板」并允许访问。
  3. 回到插件,等待模板状态显示为已配置。

模板复用 Flomo 风格的嘟文、标签、资源及年/月/周/日/全部关系。可以调整视图、筛选和排序,但不要修改数据库名称、受管字段类型、关系或保存 Status URI 的 id 字段。

2. 输入实例并连接账号

在实例输入框粘贴完整 HTTPS 地址,例如:

https://mastodon.social

点击「连接长毛象」后,插件会打开该实例自己的授权页。确认只读权限后返回 NotionHub。NotionHub 只申请读取账号资料、本人嘟文和书签所需权限,不申请发布、关注、收藏或书签写入权限。

为了避免访问错误服务器,实例地址不能包含用户名、密码、路径、查询参数或内网地址。部分非 Mastodon 或接口不完整的兼容实例可能无法连接。

3. 等待首次同步

OAuth 成功后会立即开始首次同步,不必等待下一个五分钟周期。NotionHub 会轮流读取本人嘟文和书签,按嘟文的规范 URI 去重,并最多写入 20 条最新唯一嘟文。

同一条嘟文既是本人发布又被加入书签时,只创建一个 Notion 页面,并同时标记「本人」和「书签」,不会重复占用额度。

自动同步与手动同步

  • 自动同步:连接有效时,系统每 5 分钟检查一次到期账号并安排增量任务。
  • 手动同步:点击插件中的「立即同步」,进入同一 Worker Queue 链路。
  • 历史全量:永久权益用户可以点击「历史全量导入」,任务按页保存进度,临时中断后可继续。
  • 完整对账:永久权益用户至少每周执行一次完整对账,用于识别编辑、删帖和取消书签。

书签接口没有独立的书签 ID。NotionHub 只使用实例响应的分页 Link 继续读取,不会拿嘟文 ID 猜书签游标。

写入 Notion 的内容

每条嘟文会尽量保存:

  • 正文、内容警告、敏感内容提示和原文链接。
  • 作者、作者账号、实例、可见性、语言、创建时间和编辑时间。
  • 本人或书签收录类型、置顶状态、标签、提及、回复目标和投票快照。
  • 图片、GIFV、视频和音频的描述、类型、大小、远端地址和上传状态。
  • 按原始创建时间建立的年、月、周、日和全部关系。

嘟文 HTML 会先转换为受支持的 Notion 段落、换行、链接、粗体、斜体、删除线、代码和引用,不会把实例返回的不可信 HTML 原样写入 Notion。

媒体与文件大小

NotionHub 会尝试把授权可见的图片、GIFV、视频和音频上传到你的 Notion 工作区。单个媒体最多处理 50 MB,并同时受当前 Notion 工作区文件限制约束;较大的 Notion 上传会使用分片协议。

媒体下载、404、大小超限或上传失败不会丢弃正文。页面会保留安全元数据并标记为「部分完成」,稍后可以重试。私密媒体不会长期存入公开文件空间。

编辑、删帖和取消书签

  • 已同步嘟文发生编辑时,NotionHub 更新原页面,不创建重复页面。
  • 嘟文只从书签消失、但仍是本人嘟文时,只移除「书签」来源。
  • 嘟文不再属于任何同步来源时,页面会软归档并记录原因,不会物理删除。
  • 已归档嘟文重新出现时会恢复页面并清除归档原因。

只有本人嘟文和书签两类完整扫描都成功后才会应用归档差异。分页失败、实例限流或授权异常不会用局部结果误归档已有页面。

免费体验与激活

免费体验按成功写入的唯一嘟文计数,总计 20 条。重复投递、编辑、重试,以及同一 URI 的本人/书签双来源不会重复计费。第 21 条会在写入正文前停止。

激活永久权益后不限制嘟文总数,并开放历史全量导入和每周完整对账。

隐私与安全

  • Mastodon access token 和实例应用 secret 只加密保存在服务端,不保存在插件、GitHub Secret 或 Queue。
  • Queue 消息只有运行 ID,不包含嘟文正文、媒体 URL、账号 token 或 Notion token。
  • 日志和运行摘要不记录正文、内容警告、私密内容或临时文件地址。
  • 点击「解除连接」会尽力在实例撤销 token,然后删除 NotionHub 保存的连接凭据;已写入的 Notion 页面由你保留。

常见问题

授权后一直没有数据

先确认模板已配置、实例授权仍有效,并在插件查看首次任务状态。首次任务会立即入队;实例临时限流时可能按 Retry-After 延迟重试。

提示实例不兼容

确认输入的是账号实际所在的 HTTPS 实例首页。实例必须提供应用注册、OAuth、本人嘟文和书签接口;缺少书签能力的兼容服务暂不支持首版同步。

提示需要重新授权

实例可能撤销了 token 或调整了权限。点击「重新授权」,在实例官方页面再次确认,不需要重新复制 Notion 模板,已有页面也不会被删除。

取消书签后页面为什么还在

软归档依赖永久用户的完整对账,最长可能等到下一次每周对账。如果这条嘟文同时属于本人来源,页面会保留,只移除书签标记。

为什么看不到 GitHub Action 日志

这是正常的。长毛象由 Integration Worker 和 Cloudflare Queue 托管执行,插件中的运行记录是权威状态。联系支持时提供服务名、运行时间和错误文案即可,不要发送 token、完整嘟文内容或私密媒体链接。

模板通用问题见 Notion 模板与授权,媒体问题见 图片、音频和视频上传,其它状态说明见 运行状态与排错