Electron 文件格式协议规范
概述
Electron 是 HeurAMS 软件项目使用的基于 JSON 的专有文件格式,用于存储记忆算法数据和调度信息。
本文档定义了 Electron v1 版本的文件结构和字段含义。
附上版本参照:
| Electron 版本 | HeurAMS 版本 | 说明 |
|---|---|---|
| v1 (最新) | 0.4.0 - latest | 被最新版本使用,支持多种算法,完整的调度和状态管理 |
MIME 标识
使用的 MIME 标识符:
application/vnd.xyz.imwangzhiyu.heurams-electron.<版本(含 "v" 字母)>+json例如
application/vnd.xyz.imwangzhiyu.heurams-electron.v1+json文件结构
Electron 文件采用 JSON 格式,包含算法标识符和对应的算法数据。
根级结构
json
{
"<算法标识符>": {
"<算法参数>": <值>,
...
},
...
}支持的算法标识符
| 算法标识符 | 说明 | 支持版本 |
|---|---|---|
supermemo2 | SuperMemo 2 算法 | v1 |
SuperMemo2 算法字段
必需字段
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
efactor | float | 易度系数 (E-Factor) | 2.5 |
rept | int | 已经重复的次数 | 0 |
interval | int | 下次间隔 (天数) | 1 |
next_date | int | 下次复习日期时间戳 | 当前时间戳 |
可选字段
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
is_activated | int | 是否已激活 (0/1) | 0 |
last_modify | int | 最后修改时间戳 | 当前时间戳 |
quality_history | array[int] | 历史记忆质量记录 | [] |
interval_history | array[int] | 历史间隔记录 | [] |
算法参数说明
SuperMemo2 参数
- efactor (易度系数): 取值范围 1.3-2.5,值越高表示记忆越容易
- interval (间隔): 下次复习的天数间隔
- next_date: Unix 时间戳,表示下次复习的具体时间
状态管理
激活状态
is_activated = 0: 未激活,算法未开始运行is_activated = 1: 已激活,算法正在运行
时间戳管理
所有时间戳均使用 Unix 时间戳格式(秒级精度)。
文件示例
SuperMemo2 算法示例
json
{
"supermemo2": {
"efactor": 2.5,
"rept": 3,
"interval": 7,
"next_date": 1698765432,
"is_activated": 1,
"last_modify": 1698765432,
"quality_history": [5, 4, 5],
"interval_history": [1, 3, 7]
}
}算法迭代规则
SuperMemo2 迭代
- 用户提供记忆质量评分 (0-5)
- 根据质量评分更新易度系数 (EF)
- 计算新的复习间隔
- 更新下次复习日期
兼容性说明
- 向后兼容: 新版本应能读取旧版本格式的文件
- 向前兼容: 旧版本遇到未知字段时应忽略而不报错
- 算法切换: 支持在同一文件中存储多个算法的数据,但同一时刻只有一个算法处于激活状态