---
{
  "id": "platform.slide.versioning-and-restore",
  "topic": "slide",
  "title": "Slide 版本歷史、還原與安全複製",
  "locale": "zh-TW",
  "version": "2026-07-25",
  "summary": "Slide history 保存私有 immutable checkpoints，自動版本會合併；原地還原需要確認，也可把舊版本安全複製成新簡報。",
  "content": "兩套版本彼此分開：slide row 的 `expectedVersion` 控制單張併發；這些 history Actions 則 snapshot 整個 deck。`list_versions` 用 cursor 分頁，`get_version` 只回 bounded read-only preview 且不改狀態。checkpoint type 包含 initial、automatic、named、pre_restore、restored，完整 enum 以 runtime 為準。寫入可能建 automatic checkpoint，但相同 state 會 skip，10 分鐘內相近寫入會 coalesce。automatic 90 天到期，named 與其他 protected type 不受此限。\n\n`create_named_version` 支援 label、`expectedHeadVersionId`、idempotencyKey，且應由使用者明確要求。`restore_version` 原地改 deck 並支援 dry-run preview；真正執行需要 UserConfirm、`versionId`、`expectedHeadVersionId`，head 改變即 conflict。runtime 先存 pre-restore checkpoint，result 回 `preRestoreVersionId`，再記錄 restored state。\n\n想看舊內容又不改現況時，安全預設是 preview 後 `copy_version`：建立 fresh initial history 的新 deck，不動來源且不需確認，但仍需 private history-write authorization。archived/read-only deck 只允許 list/get；create、restore、copy 回唯讀 history error，`canRestore`/`canCopy` 也會反映。history read/write scope 與 core Slide scope 分開。hard delete 會 purge 全部 history，之後無法 restore/copy。\n",
  "aliases": [
    "簡報歷史",
    "命名版本",
    "還原簡報",
    "複製舊簡報",
    "checkpoint",
    "expectedHeadVersionId"
  ],
  "tags": [
    "slide",
    "history",
    "restore",
    "copy",
    "checkpoint"
  ],
  "relatedActions": [
    "arinova.slide.list_versions",
    "arinova.slide.get_version",
    "arinova.slide.create_named_version",
    "arinova.slide.restore_version",
    "arinova.slide.copy_version",
    "arinova.slide.delete_deck"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/slide/versioning-and-restore/"
}
---

兩套版本彼此分開：slide row 的 `expectedVersion` 控制單張併發；這些 history Actions 則 snapshot 整個 deck。`list_versions` 用 cursor 分頁，`get_version` 只回 bounded read-only preview 且不改狀態。checkpoint type 包含 initial、automatic、named、pre_restore、restored，完整 enum 以 runtime 為準。寫入可能建 automatic checkpoint，但相同 state 會 skip，10 分鐘內相近寫入會 coalesce。automatic 90 天到期，named 與其他 protected type 不受此限。

`create_named_version` 支援 label、`expectedHeadVersionId`、idempotencyKey，且應由使用者明確要求。`restore_version` 原地改 deck 並支援 dry-run preview；真正執行需要 UserConfirm、`versionId`、`expectedHeadVersionId`，head 改變即 conflict。runtime 先存 pre-restore checkpoint，result 回 `preRestoreVersionId`，再記錄 restored state。

想看舊內容又不改現況時，安全預設是 preview 後 `copy_version`：建立 fresh initial history 的新 deck，不動來源且不需確認，但仍需 private history-write authorization。archived/read-only deck 只允許 list/get；create、restore、copy 回唯讀 history error，`canRestore`/`canCopy` 也會反映。history read/write scope 與 core Slide scope 分開。hard delete 會 purge 全部 history，之後無法 restore/copy。
