docs: slim README to entry point, move detail into docs/usage

This commit is contained in:
youzini
2026-05-31 17:34:32 +00:00
parent 061b8cd19a
commit f33bfcb380
9 changed files with 697 additions and 973 deletions

View File

@@ -0,0 +1,47 @@
# 数据存储与同步
本文从 [README](../../README.md) 拆出 ST-BME 的数据存储、云端镜像与持久召回卡片说明durable snapshot contract 和 forward-compat 细节见 [存储与格式架构文档](../architecture/storage-and-formats.md)。
### 本地主存储
- 主存储使用 IndexedDB。
- 数据库按聊天隔离,命名类似 `STBME_{chatId}`
- 热路径使用增量提交,避免整图替换。
- 加载时优先从本地数据库恢复图谱。
### 云端镜像
云端同步使用 SillyTavern 已有文件 API不需要自定义后端路由。
- 自动模式:
- 本地写入后按当前镜像逻辑同步。
- 手动模式:
- 本地写入仍正常进行。
- 不自动写云端。
- 需要点击“备份到云端”或“从云端获取备份”。
### 兼容与兜底
- 旧版 `chat_metadata.st_bme_graph` 仅作为迁移和兜底来源。
- shadow snapshot 和 metadata-full 是 recoverable 锚点,不是首选主存储。
- tombstone 用于同步删除状态,避免旧数据复活。
- 插件设置存放在 SillyTavern 的 `extension_settings.st_bme`
- 消息级召回存放在对应用户消息的 `message.extra.bme_recall`
### 持久召回卡片
带有有效 `message.extra.bme_recall` 的用户消息会显示召回卡片:
- 展开后可查看召回文本。
- 可查看召回子图。
- 可点击节点查看详情。
- 可编辑注入文本。
- 可删除持久召回。
- 可重新召回并覆盖记录。
优先级:
1. 本轮有新召回成功时,使用新召回并写回目标用户楼层。
2. 本轮无新召回时,从当前生成对应用户楼层读取持久召回作为回退。
3. 两者都没有时,清空注入。