跳转到内容

Thino 同步

Thino 同步

概述

功能信息

  • 此功能依赖 Thino Web 服务
  • 单文件同步模式需要 Thino 2.2.0 版本上线,之前版本不支持
  • 日记同步模式需要 Thino 2.2.4 版本及以上

警告

  • Web 服务是收费的,这包含同步数据,和打通微信
  • 但是因为现在社区并没有考虑好 Web 服务定价,所以目前使用并不会收费。而是给大家免费试用。【自 2023 年 12 月 15 日 -2024 年?年?日?】
  • 才用本地版和 Web 分离付费方式,是因为早期内测用户反馈自己可能只需要本地版,不需要 Web 服务。
  1. 购买 Web 服务
    1. Web 服务包含:未来的 Thino Web 和 同步服务,以及微信同步。
    2. 早鸟购买的用户,在购买的当天,一般会获得同步获得 Thino Web 和 微信同步的内测的权限
    3. 注意:
      1. 23年底已经开始内测,社区在公布同步价格后,不会以任何形式去追讨之前的使用费用
      2. 对于23年底就已经开始免费试用的早鸟用户,这算是一种福利,但社区并无法承诺无论你是什么时候购买,都享受这种长时间的福利

Thino 同步--概述

  • 可以选择是否开启同步服务,也可以选择独立使用本地版。这样是为了照顾不同类型用户的诉求。
  • 可以开关同步启用状态
  • 同步服务自 2.2.4 开始支持,二者选一
    • 单文件同步模式
    • 日记同步模式

重要

  • 任何产品同步服务都会涉及数据操作,所以针对所有数据操作,而不单指同步,都会提示:请提前备份好对应数据
  • 不支持混合同步,即你使用多种同步软件或者服务,对仓库进行操作会产生不可知的数据重复和存储位置变化
  • 同步进入到其他端的数据,会根据插件在当前端的配置状态,存储到单文件或者日记结构下

这里是指的通过服务器,和 Thino 插件多端,多仓库产生数据同步。会在对应的信息后面以 [webid:修改时间戳] 的方式进行标记。

2.2.4 以后的版本 [webid] 标志 会变为一个所见即所得的图形标志 Thino 同步--概述

针对同步的对象和机制

考虑到保持简洁,架构更加稳定,目前 Thino 的同步指针对如下对象:

  • 本地版本中多种被 Thino 识别的内容,可以同步到云端
  • 云端对于新的库,将把所有内容同步到单文件中

Thino 同步--针对同步的对象和机制

机制

  • 细心的同学注意到了,对于开启同步功能后,会在对应的文本内容后增加 webid 用于辨识那些是需要 Web 同步的时间戳
  • 2.2.4 版本后 webid 标识,会在所见即所得模式变为一个专门的图标

如何激活同步功能

  • 安装新版 2.2.1 及以上版本,鼓励用户使用最新版
  • 激活 Thino Pro
  • 激活功能
    • 【网站中操作】进入个人中心,点击 激活 Thino 同步功能
    • 【插件中操作】插件 General 中在 Sync Status 项目上 ,点击 start
  • 对于之前购买了早鸟价的同学,会免费试用一定时间的同步。
  • 对于没有购买早鸟价的同学,可以选择购买 PKMer 会员(新价格暂时未出现),来获得本地版插件 和 同步服务。

重要

  • 同步是需要两端都使用相同账号,并开启、启用同步功能

同步文件内容类型

  • 文本:全支持,包括基本 Markdown 语法
  • 图片:
    • 外链图片格式全部支持(已经支持)
    • 内链本地图片(设计开发预案中)
      • 主要是考虑到了不同库的文件,存放在哪里,如果是根据笔记所在目录存储,还要考虑建立目录结构的问题,这会让没有同步的库多出来很多空目录结构。
      • 图片不具有唯一识别性,如果一个图片被多次引用,简单处理,各个端都会出现重复图片。
  • 附件:设计开发,预案中,不确定是否能找到更加合适的方式

使用

PC 端

  • 设置了默认的更新时间,正常情况下会在一定时间内自动拉同步,通常是 10s 左右。【这是考虑服务服务器负载,和对用户端的影响,未来可能动态调整,减少请求开销】
  • 点击界面上的刷新按钮 Thino 同步--PC 端
  • 如果发生异常,可以使用 命令面板 中 ,手动触发:
    • Thino:Sync Local Thinos to Web:手动本地同步到 Web
    • Thino:ReSync web Thinos to Local:手动 Web 同步到 本地

移动端

  • 设置了默认的更新时间,正常情况下会在一定时间内自动拉同步,通常是 10s 左右。【这是考虑服务服务器负载,和对用户端的影响,未来可能动态调整,减少请求开销】
  • 点击界面上的刷新按钮Thino 同步--移动端
  • 如果发生异常,可以使用 Ctrl+P 打开 Obsidian 的命令面板 ,手动触发:
    • Thino:Sync Local Thinos to Web:手动本地同步到 Web
    • Thino:ReSync web Thinos to Local:手动 Web 同步到 本地

注意

  • 同步前请确认,各个端的插件版本号是一致的
  • 同步前请确认,各个端连接到的账号和 web 服务是一致的,同步服务是启用状态。
  • 首次同步或者长时间未同步的库或者端,请耐心等待,因为数据较多,同步数据需要时间
  • 如果开启同步后未对内容同步,请使用上面介绍的命令来触发同步

同步效果

  • 同步对象:
    • 用户需要对自己期望的同步的模式二选一
    • 针对 Thino 的单文件模式内容
      • 记录内容都会同步到单文件中
    • 针对 Thino 的日记模式内容
      • 需要升级到 2.2.4 版本
      • 需要设置中默认存储模式为日记模式,会基于 Obsidian 的核心插件 - 日记,进行同步
  • 同步场景:
    • PC 上配置多个仓库,只要仓库里面有对应的 Thino,且都是通过一个账号激活,那么多个仓库之间是可以同步的
    • 手机上安装 Thino ,只要你授权账号一致,那么是可以同步的
  • 同步设置:
    • 如果默认存储方式不是单文件,会优先尊重同步设置(优先级更高),否则尊重用户的原始类型。
      • 例如我的默认存储方式是单文件(FILE),但是同步设置是日记(DAILY),而不是 DAILY to FILE;
    • 独立 Web 版同步过来的数据,则是 FILE to 设置中的位置,例如日记模式就是同步到日记结构中,单文件就是同步到但文件对应温志

Thino 同步--同步效果

单文件同步

  • 不支持多文件,不支持全库同步,不会和 Obsidian 官方同步冲突,也不会和其他第三方民间 Obsidian 同步进行处理
  • 对 Thino 单文件模式中内容进行同步,此举有助于保持同步的有效性和速度

日记文件同步

  • 在 仓库 A 同步日记问题写入的内容,会按照 B 仓库的日记插件设置格式,同步到对应日期位置。
  • 如果两边开启的日记模式不同,那么会以同步时候当前仓库中设置的模式为准
  • 仅支持 Obsidian 日记插件

不支持 Thino 外的修改

  • 因为要保证同步的有效性,又要保持尽量少的检测用户修改。
  • 所以 Thino 单文件模式同步、日记模式同步,都不支持通过直接修改 md 文件内信息,来实现同步,如果需要修改信息,你可以通过 Thino 本身的编辑器,这些改动都会以时间戳方式更新,做为同步时候的依据。
  • 如果无意中直接编辑源文件,可以选择重新用 Thino 重新编辑卡片,来触发同步更新。

不支持多文件

  • 如果支持了多文件,那就相当于可以当作整个 Obsidian 的同步来使用,我们认为这部分能力是 Obsidian 官方重要营收的来源,不能有交集。
  • 另外,处理局部或全部日记多文件的结构,会遇到很多不可知问题
    • 会遇到各种插件都会操作文件名和目录结构,那么意味着 Thino 要一直保持适配所有相关插件和个人不同的配置,在 Obsidian 这样庞大的社区插件,和日新月异的插件功能和新秀面前,这种工作得不偿失。
    • 会遇到新库没有对应插件,那么是否还要支持用户同步插件?
    • 没有对应目录结构的问题,这种文件级别的操作,一直是极容易发生数据用户丢失的。

是否可以仅开启同步

  • 是的,你可以选择单独购买同步,同步会根据同步设置中设置日记和单文件,来进行同步
  • 没有购买 Pro 版本的用户,因为不支持单文件模式,是法通过 Thino 往这个独立文件中继续写入新内容,但同步服务写入是会正常进行的。

与 Obsidian 官方同步的区别

  • Obsidian 官方同步是针对全库进行的,用户可以理解是文件级操作。这种同步对于本地库文件等内容,是一种近似全库的复制体验。但无法耦合库外内容,比如你的微信关联信息
  • Thino 是针对插件产生的数据进行同步,这也包括微信同步的数据,以及未来可能独立的 web 端数据
  • 综上,两种服务对应的范围没有好坏之分,主要是适应不同的使用场景。

已知问题

  • 可能会与其他同步产生不确定的问题,但目前没有接到丢失数据的反馈
    • 微力同步,会产生冗余的同步文件,预料之中,毕竟文件级别同步都会对变化产生跟踪。

Tips:如果你需要隐藏标志位和了解标志位原因,可以参考 Obsidian 样式:Thino 插件隐藏标志位