1. Persistence:把事件流写出去,而不是侵入 Session
持久化后端订阅 session 事件并在 flush checkpoint 确认落盘;恢复时读取 log,经过版本/结构验证后重新构造 live session。JSONL 与 SQLite 只是两个 provider。
2. Sandbox:约束“执行世界”
FS、subprocess、shell、terminal 如果共享同一个 execution-world seam,那么把底层 provider 换成远程 sandbox,就能让 bash/PTY/LSP 一起迁移,而不需要每个工具都写 remote 版本。
3. Observability
事件驱动架构天然提供观察点:session/event 可做持久化与投影,tools/result 可做审计,LLM stream 可做 token/latency 指标。关键是观察插件不应改变主业务语义,除非它挂在明确的 waterfall 决策点。
4. 错误恢复的核心原则
- durable state 先于 UI convenience。
- 取消信号必须贯穿 provider reader / tool executor。
- 插件错误应在定义好的边界被隔离,而不是让整个进程进入半状态。
- 能够恢复的东西必须来自可重建记录。