資產庫存管理器 是做什麼的?
為每個專案維護一份權威且可稽核的資產清單。資料存放在專案的 .asset-inventory/ 資料夾中(每項資產一個 JSON 檔案),並會產生一份 Markdown 檢視(預設為 ASSET_LIST.md)。請勿手動編輯 Markdown 檢視:應透過 CLI 變更記錄,CLI 會自動重新產生該檔案。
CLI
所有操作都透過此技能中僅使用標準函式庫的 Python 3.9+ 腳本進行:
python <此技能目錄>/scripts/asset_inventory.py <指令> [選項]
以下 aim 代表該指令。如果 python 遺失或不是 Python 3,請嘗試 python3,然後 py -3(Windows),再嘗試 uv run --no-project python。從專案內任何位置執行,或傳遞 -C <專案> 指定專案。加上 --json 可取得機器可讀的輸出。歷史記錄會記錄執行代理:當自動偵測錯誤時,請傳遞 --agent <名稱> 或設定 AIM_AGENT。
| 任務 | 指令 |
|---|---|
| 開始庫存 | aim init --profile game|vr|web|software|generic [--git-setup] |
| 註冊資產 | aim add --name "Bow" --category model --path assets/bow.glb --origin third-party --license CC-BY-4.0 --source-url URL --attribution required --credit "..." |
| 變更資產 | aim update ID --status final --verification approved --note "原因" |
| 退役 / 刪除 | aim remove ID --note "被 X 取代"(保留記錄) / --purge |
| 尋找資產 | aim query --category model --status placeholder, --path assets/ui/, --text bow, --format json|csv|ids |
| 單一記錄 | aim get ID |
| 尋找未註冊檔案 | aim scan(加上 --register 可建立需要分流的記錄) |
| 檢查所有項目 | aim audit(--strict 會讓警告視為失敗) |
| 重建 Markdown | aim render(--check 用於 CI) |
| 上下文(分支、工作樹、鎖定) | aim info |
| 遷移舊的 Markdown 表格 | aim import-markdown old_list.md |
| Git 衝突後 | aim resolve,然後 aim audit |
詞彙表(請參閱結構描述瞭解每個欄位):
- status:
planned(已計劃)、placeholder(佔位,可運作但品質為原型)、integrated(已整合)、final(最終)、retired(已退役)。 - verification:
unverified(未驗證)、pending(待處理)、verified(已驗證,已通過技術檢查)、approved(已批准,擁有者已核准)。未經使用者或審查者核准,切勿標記為approved。 - origin:
original(原創)、third-party(第三方)、procedural(程序化生成)、ai-generated(AI 生成)、unknown(未知)。第三方和 AI 生成的資產需要授權條款。
工作流程
- 定位。 執行
aim info。如果沒有庫存且使用者想要建立一個,請執行aim init並選擇最接近的設定檔(設定檔),然後執行aim scan查看已存在的內容。對於現有的手寫清單,請使用aim import-markdown並審查標記為imported的記錄。 - 在同一個變更集中記錄每次資產變更。 當您新增、取代、修改、移動或刪除資產檔案時,請在同一次提交中更新其記錄:新檔案使用
add,移動使用update --add-path/--remove-path,編輯第三方檔案使用update --modifications,不再使用時使用remove。 - 誠實記錄來源。 在下載時擷取真實的來源 URL、作者、授權條款和必要的貢獻者文字。如果未知,請使用
--origin unknown並說明原因;切勿猜測授權條款。向使用者標示授權條款衝突。 - 保持狀態真實。 區分已計劃、已實作、已驗證和已批准的狀態。在下一次待檢查項目中放入
--next;它會出現在清單頂部的「需要審查」之下。 - 完成前進行稽核。 執行
aim audit。修正錯誤;向使用者報告剩餘的警告。在摘要中提及清單路徑。
協作規則(多個代理、分支、工作樹)
詳細資訊:協作。
- 每個 Git 工作樹都有自己的庫存副本;請編輯您正在使用的工作樹中的庫存。切勿編輯其他代理的工作樹。
- 寫入操作會取得一個短暫的鎖定(
.asset-inventory/.lock),因此共用同一個資料夾的代理不會損毀檔案。如果回報鎖定,請等待並重試;僅在aim info顯示其擁有者程序已消失時才刪除鎖定。 - 為避免更新遺失,請先使用
aim get ID讀取,然後使用aim update ID --expect-revision N。退出碼 3 表示其他人已變更:請重新讀取並重新套用。 - 每個資產一個檔案意味著並行分支很少會衝突。在每個 clone 上執行
aim git-setup一次,以安裝欄位級合併驅動程式。 - 在任何合併、變基或揀選之後:執行
aim resolve(如果記錄顯示衝突標記或_conflicts),然後執行aim render,接著執行aim audit,然後提交。切勿手動合併ASSET_LIST.md;請重新產生它。 - 明確的 ID(例如
M01)在單一分支上沒問題;預設 ID(<前綴>-<名稱縮寫>)可避免跨分支的編號衝突。
退出碼
0 成功 · 1 錯誤或稽核失敗 · 2 使用方式錯誤/未知值 · 3 需要處理的修訂或合併衝突。