概述
OpenSpec v1.14.0(2026-09-30,代號「Ten new tools, archived changes」)在 v1.13.x 的「誠實化」基礎上,把重心放回生態系擴張與生命週期管理:
- 十個新工具支援:
init/update的觸角再擴大 10 個 AI 工具 - Archived changes 可瀏覽:歸檔不再是黑洞,
list與view都看得到 - Apply / Archive / Store 更可靠:收掉幾個會讓任務卡在第一步、或規格悄悄沒同步的錯誤
十個新工具支援
openspec init 與 openspec update 現在支援:
| 工具 | CLI 標識 | 工具 | CLI 標識 |
|---|---|---|---|
| Amp | amp |
Grok Build | grok |
| AtomCode | atomcode |
GSD | gsd |
| Code Studio | codestudio |
Veai | veai |
| DeepSeek Harness | dsh |
Warp | warp |
| EasyCode | easycode |
GigaCode | gigacode |
Archived changes 可瀏覽
歸檔的變更過後就「消失」了——實際上檔案還在 changes/archive/,但 CLI 沒有入口。v1.14.0 補上:
# 列出已歸檔變更(含 JSON 與排序)
openspec list --archived
openspec list --all
# openspec view 在專屬區段顯示歸檔變更
openspec view
學習重點:歸檔的 spec 不是垃圾,是決策紀錄。當新成員問「為什麼當初這樣設計」,--archived 讓你可以翻出當時的 proposal 與 delta,而不需要去 git 考古。
Workflow 狀態進入 view
openspec view 的 dashboard 現在顯示每個 active change 的 schema,以及每個 artifact 的狀態。下圖是狀態關係示意,並非 CLI 的逐字輸出:
add-user-auth
├── proposal.md done
├── specs/ done
├── design.md ready ← 可寫但還沒寫
└── tasks.md blocked ← 依賴 design 完成
四種狀態的意義:
- done:已完成
- ready:依賴已滿足、可以開始
- blocked:還有前置條件未完成
- skipped:刻意略過
`openspec view` 顯示 tasks.md 是 blocked,最合理的下一步是什麼?
💡 想先看個提示?
想想這四個狀態(done / ready / blocked / skipped)之間的依賴箭頭怎麼流動。
openspec version 與 Nix
openspec version:顯示安裝版本與安裝類型;--check+--json提供工具可讀的結構化更新資訊——腳本可以自己判斷要不要提示升級- Nix overlay:flake 以
overlays.default曝露 OpenSpec,其他 flake 可直接消費
可靠性修正:三個值得記的案例
案例 1:apply 不再卡在第一個 task 前
Store-backed change 執行 openspec status --json 時,過去不允許在宣告 store 的專案中編輯,apply 直接在第一個 task 之前停下。修正後允許宣告 store 的專案進行編輯。
配套:openspec instructions apply --json 現在給每個 task 的 sourcePath 與行號,apply 勾選前檢查確切的那個 checkbox——而不是憑位置猜。
案例 2:archive 不再「假成功」
過去 archive 在 spec sync 回報阻斷條件時,仍會把 change 歸檔——主 specs 根本沒更新,但 change 已經消失了。這是資料遺失型的靜默失敗。現在 archive 與 bulk archive 會停止,把問題攤在面前。
相關修復:sync skill 未安裝時,archive skill 自行合併 delta specs,而不是把 agent 指向一個不存在的 skill。
案例 3:validate --strict 對未知 metadata 失敗
以下警告文字為示意:
change: add-user-auth
⚠ Unrecognized key in .openspec.yaml: skip_design
(OpenSpec ignores this; remove it or check the name)
skip_design 這類 key 過去被靜默忽略——你以為跳過了 design 階段,其實什麼都沒發生。--strict 模式現在對它們失敗。
隨堂總結測驗
小明升級到 v1.14.0 後跑 `validate --strict`,出現「Unrecognized key: skip_design」。下列哪個敘述最正確?
💡 想先看個提示?
這版的主軸之一就是「誠實化」:問題不是新出現的,是被隱藏的。
動手升級檢查清單
升級 v1.14.0:動手檢查清單
逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)
延伸閱讀
-
前一課:
v1132-verify-and-windows-archive——v1.13.x 的「誠實化」基礎 -
本主題 Changelog:完整的 v1.14.0 條目