同步与冲突
书架同步如何让网站和你的各台电脑保持一致、哪些内容会同步而哪些留在本机、冲突、移除和离线修改如何处理,以及 galbd 同步有何不同。
- 桌面版0.2.8 已提供
- 网页版已可用
书架同步让每个 GalShelf 账号保有一份个人记录,网站和你每台电脑上的桌面客户端共用这份记录。它是实时同步,不是备份:一处的修改或移除,会在同步后出现在另一处。需要保留某一时刻的书架副本时,请使用导出与本地备份;游戏存档由云存档单独处理。
工作方式#
- 桌面版0.2.8 已提供
- 网页版已可用
- 账号保存你的记录:作品、你对每部作品的状态、游玩记录摘要,以及应当跟随你的偏好设置。每次修改都会从 GalShelf 服务获得一个新的版本号。
- 每次修改都带有一个随机的操作编号和它所基于的版本。同一修改即使发送了两次(回应丢失、重试或刷新页面),也会凭操作编号识别出来,只应用一次。
- 服务会逐个字段比较你所基于的版本。它从不根据设备时钟来决定哪一边的修改胜出。
- 书架同步通过 galshelf.com 上的 GalShelf 账号进行,不使用 Google Drive 或 OneDrive。
galbd QQ 接口有自己较早的同步方式(见下文)。
开启书架同步#
- 网站:无需开启。登录后,在书架上的修改、添加和移除都会通过同步进行。
- 桌面客户端(新界面):“设置 → 账号与同步 → 书架同步(网页与客户端) → 开启同步”。你需要确认这个本机书架要与哪个账号同步。第一次同步会先读取账号中已有的记录再合并;两处都改过同一项时,会请你选择,而不是直接覆盖其中一边。
- 立即同步会马上同步。自动同步默认关闭;开启后,修改后稍等片刻会自动同步,登录期间每 10 分钟检查一次。关闭时修改仍会排队,下次同步时一并发送。
- 面板会显示同步状态(已同步、正在同步、离线、有冲突待处理、已暂停)、上次成功的时间,以及还有多少本机修改在等待同步。
会同步的内容#
| 内容 | 书架同步 | galbd QQ 同步 |
|---|---|---|
| 作品:VNDB / NextMoe 编号、标题、封面等资料 | 是(资料只会补全记录中缺少的部分,从不覆盖,也不会产生冲突) | 按 VNDB 编号匹配 |
| 状态、评分(未评分 ≠ 0 分)、已通关、全结局、全 CG | 是 | 是 |
| 剧情进度、标签、短评 | 是 | 是 |
| 笔记 | 是 | 否 |
| 游玩记录(每次的日期与时长) | 是 | 否 |
| 标为“跟随账号”的偏好设置 | 是 | 否 |
只留在本机的内容#
以下内容从不同步:安装与存档路径、可执行文件、启动与转区方式、进程规则、Steam 本地数据、本机偏好(界面配置、语言、背景媒体)、登录凭据和密钥。媒体文件不随书架同步,记录中只有封面地址。对 galbd 而言,长笔记、Steam 总时长和“搁置”状态也只留在本机。
上传按钮#
- 桌面版0.2.8 已提供
- 网页版已可用
经典界面仍然提供把本机书架上传到这个账号。有了书架同步之后,网站会把每次上传与这台电脑上一次上传的内容逐个字段比较后合并:
- 你没有在电脑上修改过的字段,绝不会覆盖网站上的内容;
- 只有电脑上修改过的字段会被采用;
- 两边都修改了同一字段时,保留网站上的值;
- 新作品会被添加,但你在网站上移除的作品不会被恢复。
本机书架属于它第一次上传或同步到的账号。
冲突#
当同一字段在两处都被修改、并且都晚于各自开始时的版本时,就会产生冲突。同一次修改中的其他字段仍会被应用,只有冲突的字段需要等待。
- 在网站上,对话框会列出每个字段两边的值,由你选择保留哪一个;在你选择之前,另一边的值不会被覆盖。
- 在桌面客户端中,冲突会保存在列表中,两边都不会被覆盖。对每个冲突,可以选择全部保留本机、全部采用另一处,或逐项选择后按所选保存。
- 不同地方修改了不同字段时会自动合并。同一台设备上先前排队的修改,不会与自己产生冲突。
移除与恢复#
- 移除作品后,账号中会保留一条“墓碑”记录 180 天;在此期间重新添加这部作品即可恢复。
- 如果你修改的作品已在别处被移除,你可以选择连同修改一起恢复,或保持移除。如果你要移除的作品刚在别处被修改过,你可以选择仍然移除,或保留它。
- 当作品已安装在这台电脑上、或它的游戏正在运行时,桌面客户端不会因为别处移除了它而自动移除,而是询问你。移除只影响书架记录,从不删除游戏文件。
- 如果一次同步会一下子移除大量作品(超过 25 部且超过书架的一半),这些移除会先暂缓,等你确认(确认同步这些移除)。
离线与重试#
- 网站:每次修改都会保存在本浏览器的队列中,直到网站确认收到;即使断网或刷新页面也不会丢失,重试也绝不会被应用两次。
- 桌面客户端:离线或未登录时,修改也会排队,等你重新登录正确的账号后发送。出错时会自动退避重试。
一个书架,一个账号#
本机书架只与一个 GalShelf 账号同步:它第一次上传或同步到的账号。登录其他账号时同步会暂停(已暂停:账号不一致):不会向那个账号发送任何内容,也不会把那个账号的内容写入本机书架,排队的修改会等待正确的账号。不同账号之间永远看不到彼此的记录。
galbd QQ 同步#
- 桌面版0.2.8 已提供
- 网页版已可用
如果关联了 QQ,桌面客户端还会让你的记录与 galbd QQ 插件中的本人记录保持一致(见 galbd / AstrBot):
- 保存修改 3 秒后同步一次,之后每 60 秒一次;连不上机器人时,修改先保存在本地,稍后再发送。同步前会先做一次本地备份。
- 逐个字段与上次同步的版本比较:不同字段会合并,同一字段两边都改过时会交给你选择。
- 在本地删除作品不会推送到 galbd。如果某部作品在 galbd 一侧消失了,你可以选择在那边重新创建、只在本地保留,或在本地删除(游玩日志会保留)。
- 每个经过验证的 QQ 身份都有独立的本地数据库。