Skip to content

数据边界

Kytos 有两类 SQLite 数据库,以及一套工作区文件目录。渲染进程不直接打开数据库,所有读写都由主进程 service 完成。

两类数据库

数据库内容入口
应用数据库应用设置、模型凭据electron/storage/app-database.ts
工作区数据库角色、插画、故事及任务元数据electron/storage/database.ts

工作区切换时,database.ts 会关闭旧连接并切换活动连接。各领域 store 通过自己的 schema 初始化表和迁移;不要缓存跨工作区仍然有效的数据库对象。

领域表

领域表的所有权
角色库characterscharacter_draftscharacter_library_state
角色创建character_create_generationscharacter_create_generation_images
角色视觉character_visual_recordscharacter_visual_imagescharacter_visual_referencescharacter_official_visuals
角色表情records、images、references、tasks、task references、legacy imports
插画topics、versions、version images、character references、uploads
故事stories、story shots、shot versions、version images、character references

完整字段以对应领域的 schema.tstypes.ts 为准。文档中的表名用于定位,不替代源码中的 schema。

文件型资产

图片和导出文件保存在工作区目录,数据库保存相对路径、所属领域、版本和状态。读取资产时经过 workspace file service 转换为应用协议 URL;页面不拼接本地绝对路径,也不自行删除文件。

新增持久化对象时,先决定它是元数据还是文件资产,再分别设计表约束、清理策略和 IPC 返回值。

相关入口

  • 连接和活动工作区:electron/storage/database.ts
  • 应用设置和凭据:electron/storage/app-database.ts
  • 迁移运行器:electron/storage/migrations.ts
  • 工作区文件:electron/services/workspace/files.ts
  • 导出图片:electron/services/workspace/image-export.ts

基于 MIT License 发布