Skip to content

会话管理与状态持久化 #17701

@ponyfly6

Description

@ponyfly6

Session management and state persistence architecture

探索 OpenCode 的会话系统(packages/opencode/src/session/,19 个文件)。

探索方向

  • 会话的生命周期管理
  • Drizzle ORM 的数据库 schema(src/**/*.sql.ts
  • 对话历史的存储和检索
  • 项目上下文的管理(packages/opencode/src/project/
  • 快照功能(src/snapshot/
  • SQLite 数据库的使用
  • 会话的序列化和反序列化

价值

学习有状态 AI 应用的数据管理

相关文件

  • packages/opencode/src/session/ (19 files)
  • packages/opencode/src/project/
  • packages/opencode/src/snapshot/
  • packages/opencode/src/storage/
  • packages/opencode/src/**/*.sql.ts (Drizzle schemas)

相关依赖

drizzle-orm: 1.0.0-beta.16-ea816b6
drizzle-kit: 1.0.0-beta.16-ea816b6

数据库迁移

使用 Drizzle Kit 生成迁移:

bun run db generate --name <slug>

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)docsneeds:complianceThis means the issue will auto-close after 2 hours.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions