数据模型参考(.progress/progress.json)

August 29, 2026 · View on GitHub

单个 JSON 文件,schemaVersion 3,与原版「进度」应用导出格式一致。agent 工具、 HTTP 协议、界面三端共用同一份文件。

顶层结构

{
  "appName": "进度",
  "appVersion": "1.1.27",
  "schemaVersion": 3,
  "exportedAt": "ISO 时间",
  "cycleRange": { "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" },
  "theme": { "color": "#007f73", "mode": "default | sci-fi" },
  "language": "zh | en",
  "collaborationRole": "student | teacher",
  "storageRevision": { "id": "uuid", "updatedAt": "ISO", "source": "…" },
  "items": [ /* 安排 */ ],
  "boards": { "YYYY-MM-DD": { "pages": [ /* 画板页 */ ] } },
  "comments": [ /* 协作留言 */ ]
}

安排(item)字段

字段说明
iduuid
templategeneral / research / work / study / life
title / project / owner / tags文本
date / endDateYYYY-MM-DD,跨日安排按日期覆盖
startTime / durationHH:MM / 小时字符串
priority15(低→紧急)
statusplanned / running / paused / done
progress0–100
predecessorId / predecessorIds前置安排(甘特依赖边)
starred突出难题
reminderAt / reminderEnabled / reminderTriggeredAt提醒
objective / samples / reagents / variables / steps / observations / results / nextAction九步记录文本
dailyRecords{ "YYYY-MM-DD": { text, updatedAt } }
resultFiles[{ id, name, type, size, src, path, storage, date, width, height, createdAt }]
createdAt / updatedAtISO 时间

画板页(board page)

{ title, text, drawing, images[], canvasImages[], strokes[], createdAt, updatedAt } ——文字由 agent 工具读写;手写笔迹/图片由界面负责。

留言(comment)

{ id, itemId, date, author, message, createdAt, updatedAt }

修订与并发

每次写操作 bumpRevision:生成新 storageRevision.id 并更新 exportedAt。 界面保存时携带其已知的 baseRevision,与服务器当前 id 不一致返回 409 + 服务器快照 (界面应用快照解决冲突)。同一进程内所有写操作经互斥链串行。

目录布局

<项目>/.progress/
  progress.json          规范快照(本文件)
  files/                 附件(/api/progress/upload)
  package/<项目名>/      界面生成的「项目文件夹」包(安排.json/记录.md/画板.json/项目数据.json/html查看器)
  export/                progress_export 默认输出目录