会话
会话是一段持久、可恢复的对话。使用 createLiteAgent 时,每次运行都通过 Checkpointer 以事件溯源方式落盘,agent 持有一个当前会话:连续的 send() 调用共享完整对话,你可以跨重启列出并恢复历史会话,还可以把会话回滚到任意历史 prompt。无需编写任何存储代码,就能得到持久的多轮 agent。
无需开启——持久化默认通过内置的 fileCheckpointer 启用:
管理会话
LiteAgent 暴露完整的会话生命周期:
时间回溯之所以可行,是因为文件工具在修改前都会快照文件:restore 回放这些快照以撤销磁盘上的改动,然后截断事件日志。完整的回溯模型见检查点。
设 sessions: false 可完全关闭持久化(此时会话方法会 reject)。
持久化到外部存储
默认的 fileCheckpointer 是单进程的。当同一台机器上的多个进程需要共享会话——HTTP 服务器、worker 池、并行 CLI 运行——换成 @lite-agent/checkpoint-sqlite 的 SQLite 后端:
SQLite 后端提供基于 WAL 的并发读取、原子 seq 分配和乐观并发控制:过期的写入者会收到干净的 CheckpointConflictError,而不是静默踩坏日志。任何实现了内核 Checkpointer 接口(append / read / head / list / delete / truncate)的自定义后端都以同样方式工作——通过 checkpointer(或 store)选项传入,它会覆盖 sessions 默认项。
多机并发(网络文件系统、分布式写入者)超出 SQLite 的适用范围。Checkpointer 接口与后端无关,未来的网络后端可以在不改动内核的情况下覆盖这一场景。