DOC-FULL-001:ReadingMaterialRef V2 #102

Open
opened 2026-06-10 21:18:32 +08:00 by wangdl · 0 comments
Owner

目标

定义 V2 阅读材料引用模型,作为 ReadingSession、ReadingEvent、DocumentInfo 等模块的基础输入。

设计要求

ReadingMaterialRef 只包含 Rust 层需要知道的信息。

建议字段

  • materialId
  • filePath
  • fileName
  • fileType
  • mimeType?
  • fileSize?
  • contentHash?
  • createdAtMs?

明确禁止字段

  • readingTargetType
  • userId
  • knowledgeBaseId
  • platform
  • appVersion

原因

Rust document runtime 不知道 materialId 对应 KnowledgeSource 还是 TemporaryReadingMaterial。业务类型由 iOS / API 判断。

需要支持

  • 本地文件路径
  • 文件类型识别结果复用
  • 后续 DocumentInfo 生成
  • ReadingSession 创建
  • iOS FFI 传入

验收标准

  1. 新增 ReadingMaterialRef V2 类型。
  2. 字段命名使用 camelCase 兼容 FFI。
  3. 不包含 readingTargetType。
  4. 不包含 userId。
  5. 可通过 UniFFI 暴露给 iOS。
  6. 有序列化 / 反序列化测试。
  7. 有 Swift binding 编译验证。
## 目标 定义 V2 阅读材料引用模型,作为 ReadingSession、ReadingEvent、DocumentInfo 等模块的基础输入。 ## 设计要求 ReadingMaterialRef 只包含 Rust 层需要知道的信息。 ### 建议字段 - materialId - filePath - fileName - fileType - mimeType? - fileSize? - contentHash? - createdAtMs? ## 明确禁止字段 - readingTargetType - userId - knowledgeBaseId - platform - appVersion ## 原因 Rust document runtime 不知道 materialId 对应 KnowledgeSource 还是 TemporaryReadingMaterial。业务类型由 iOS / API 判断。 ## 需要支持 - 本地文件路径 - 文件类型识别结果复用 - 后续 DocumentInfo 生成 - ReadingSession 创建 - iOS FFI 传入 ## 验收标准 1. 新增 ReadingMaterialRef V2 类型。 2. 字段命名使用 camelCase 兼容 FFI。 3. 不包含 readingTargetType。 4. 不包含 userId。 5. 可通过 UniFFI 暴露给 iOS。 6. 有序列化 / 反序列化测试。 7. 有 Swift binding 编译验证。
wangdl added this to the M-DOC-FULL:Document Runtime 完整阅读内核与学习事件协议 milestone 2026-06-10 21:18:32 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/zhixi-document-runtime#102
No description provided.