Repository navigation
Replies: 2 comments
|
你的排查基本正确。当前实现中,
但需要补充:checkpoint 不等于完整的聊天记录。前端也会加载最新 checkpoint 中仍保留的消息,所以不能简单理解为“重启后所有旧消息一定不可见”。完整历史分页依赖 run-event 存储,而 checkpoint 中的消息可能已经经过压缩或裁剪。历史读取说明 如果希望重启后保留完整会话历史,可以保留现有 SQLite 配置和数据目录,把根目录 database:
backend: sqlite
# 保留现有 sqlite_dir 等配置,不要切换数据目录
run_events:
backend: db随后重启 DeerFlow。这里的 注意,切换后会持久化后续消息,不会自动补回已经随重启丢失的内存事件。已有 checkpoint 中可能仍保留部分消息,但不能保证恢复完整历史。 因此,这确实是当前默认配置的实际结果;不过,从本地聊天产品的使用预期来看,默认 SQLite 搭配内存事件存储容易让人误以为“聊天记录已经全部持久化”,值得调整默认值,或在 |
0 replies
|
感谢确认和详细说明。我愿意继续为这个问题准备一个小范围 PR。 为了避免自行改变项目的默认存储策略,想先确认项目更倾向哪种处理方式:
如果更适合先增加提示、再单独讨论默认值,也可以拆成两个阶段。请问哪种方向更符合项目当前的规划?确认后我可以准备相应的实现和测试。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
大家好,我使用
make setup完成本地默认配置和安装,之后创建了一个会话并发送了多条消息。我看到生成的
config.yaml默认使用:重启 DeerFlow 服务或电脑后,重新打开原来的会话,前端无法看到完整的历史消息,只能看到重启后产生的新消息。
我检查后发现 SQLite 中的 thread 和 checkpoint 仍然存在,但
run_events使用内存后端,重启后会被清空。请问这是当前的预期设计吗?也就是说,
make setup的默认配置只持久化 checkpoint,而不会持久化前端显示的会话历史?All reactions