akuko — 從故事到影片,一次審查一個階段
此文件是一個路由。 每個動作都位於 actions/ 目錄下各自的檔案中;按需載入並遵循它。請勿在此處內嵌動作行為。共用規則位於 lib/ 目錄中:
lib/state.md— 專案檔案、階段、狀態轉換、決策摺疊。在執行任何寫入操作之前,請先閱讀此文件。lib/hosts.md— 主機偵測、各主機功能、主機適配器。lib/spend.md— 花費門控與成本分類帳 (WP-03)。lib/providers.md— 提供者 (WP-03)。
專案格式為 schema/akuko-project.ts (akuko.json,JSON Schema 位於 schema/akuko-project.schema.json)。
每個動作的開始方式都相同
- 偵測主機 (
lib/hosts.md§Detection):A claude-artifact · B local · C ikenga。執行node --experimental-strip-types hosts/detect.ts --tools <您的完整工具列表 — 每個已載入和延遲的工具名稱>。如果輸出包含warning,或者您有任何疑問,請將主機視為 A (artifact DB) 並且永遠不要建立專案資料夾。將結果記錄在akuko.json.host中。 - 透過主機適配器讀取專案 (
readState());如果沒有專案,則路由至intake(或者如果使用者想先進行設定,則路由至setup)。 - 摺疊自上次執行以來的決策 (
readDecisions()→lib/state.md§Decision folding),然後再執行任何其他操作。 - 載入動作檔案並遵循其指示。僅透過
writeState()寫入專案;僅透過storeAsset()儲存檔案。
路由
| 如果使用者說… | 載入此檔案 | 負責人 |
|---|---|---|
| "設定 akuko", "設定", "設定預算", "新增我的金鑰" | actions/setup.md | WP-08 |
| "檢查我的設定", "缺少什麼", "診斷" | actions/doctor.md | WP-08 |
| "從這個故事/劇本製作影片", "開始專案", "輸入" | actions/intake.md | WP-04 |
| "分解", "鏡頭列表", "分解", "匯入鏡頭列表" | actions/breakdown.md | WP-04 |
| "角色", "地點", "外觀/風格", "聖經" | actions/bible.md | WP-05 |
| "故事板", "草圖板", "節拍板", "板" | actions/board.md | WP-21 |
| "關鍵影格", "最終面板", "keyframes", "連續性檢查" | actions/keyframes.md | WP-22 |
| "動畫化", "製作片段", "動態", "處理", "攝影機運鏡" | actions/motion.md | WP-10 · WP-11 · WP-27 |
| "對嘴", "讓他們說出台詞", "lipsync" | actions/lipsync.md | WP-28b |
| "旁白", "音樂", "音效", "聲音" | actions/sound.md | WP-12 |
| "動態分鏡", "預覽影片", "讓我看", "粗剪", "組裝" | actions/assemble.md | B-11 (preview 已建立) · WP-13 (粗剪,畫面鎖定:stub) |
| "匯出", "發送到 Resolve", "給我時間軸" | actions/export.md | WP-23 (Resolve 交接) |
| "我審查過了", "套用我的筆記", "審查" | actions/review.md | WP-07a |
| "顯示我…", "開啟板", "檢視" | actions/view.md | WP-07c |
| "我們在哪裡", "下一步是什麼", "狀態", "費用多少", "估算" | actions/status.md | WP-30 (全片估算) |
匯出功能會將批准的影片作為時間軸和媒體檔案移交給 DaVinci Resolve。MP4 主檔案、剪輯版本和 Canva 簡報已暫緩(計劃第 7 輪):如果被要求提供 MP4,請告知並提供交接選項。
如果沒有匹配項,請執行 status 並提供其建議的下一個動作。如果某個動作檔案(或請求的路由)仍標示為 Stub (WP-02),請告知使用者該功能尚未建立並停止 — 請勿自行實作。動態分鏡也不可自行實作:assemble preview 是已建立且免費的路線,用於產生一個動態分鏡(已批准的關鍵影格根據鏡頭時間進行同步,永遠不是審查單元,也永遠不會儲存到專案中)。
階段
intake → breakdown → sketch → bible → keyframes → motion → sound → assemble → export (0–8,schema/akuko-project.ts#STAGES;影片設定檔為 profiles/film/profile.json)。只有在前面的階段獲得批准後,下一個階段才會開啟 (lib/state.md §Stages)。
審查規則
這些規則適用於所有主機、所有動作和檢視中:
- 只有人可以批准。 動作將單元移動到
pending-review;只有人的決定才能將單元移動到approved。沒有動作或檢視會自動批准、預先勾選或批次批准。 - 永遠不要自動越過審查階段。 每個階段都以審查關卡結束 (Atelier
ux_mode: approve):執行,然後暫停在產出內容上。 - 一個階段內一次處理一個單元:產出、顯示、等待 — 不要因為一個鏡頭被退回就重新產生整個階段。
- 決策需透過決策格式 (Schema 中的
Decision) 進行,由審查介面寫入主機的儲存空間。檢視永遠不會編輯akuko.json或呼叫writeState()。 - 請求的變更被執行,然後標記:修改該單元,加入 "Revised: …" 註解,將其返回
pending-review。
花費規則
- 沒有 OK 就沒有付費呼叫。 每個付費工作(圖片、影片、TTS)都需經過花費門控 (
lib/spend.md):顯示估算值、上限、已花費金額以及如果您批准,還剩多少,然後等待對該工作的明確批准。 - 沒有上限,就沒有花費。 如果
akuko.json.budget為 null,請拒絕付費工作並指向setup。 - 永遠不要超過上限或工作的
approved_max;改為停止並詢問。 - 費用永遠不會被隱藏或四捨五入。 每個付費呼叫都記錄在
ledger[]中,無論成功或失敗。 - 金鑰保留在環境中(或主機的安全儲存空間)— 永遠不在
akuko.json、檢視、artifact 資料庫、分類帳或板可以讀取的檔案中,也永遠不會被回顯。在 claude.ai(主機 A)上,金鑰是每個聊天貼上一次,且僅在即將執行付費直接呼叫時:先探測網路 (scripts/probe.ts),告知使用者金鑰將在此聊天的記錄中可見、僅用於本次聊天且永遠不會寫入任何地方,獲得「在此聊天中使用我的金鑰」的許可,然後僅在該命令的環境中設定金鑰、保留、儲存到板、發送 (lib/spend.md§Host A, R-11)。 - 內部規則優先於金錢。 當專案有
rules時,每個工作在花費門控之前都會根據規則進行檢查,違規將被拒絕 (rules-breach),並指明違反的規則以及違規的文字或檔案。報告並停止;永遠不要改寫、刪除參考或編輯規則以繞過問題。執行rules/cli.ts check進行免費的預檢 (lib/state.md§"Rules guard (WP-26)")。 - 方案的配額也算是花費。 一個使用使用者自身方案配額(而非金錢)的連線工具(例如 claude.ai 上 Canva 的每月 AI 限制)需要對每一波進行 OK:計數、服務、akuko 無法看到剩餘量,以及確切回覆
approve <n> <service> generations。每次產生都需記錄在分類帳中,花費為零金錢,並包含單位計數 (lib/spend.md§Allowance)。
主機一行摘要
- A — claude-artifact (claude.ai): Node 和檔案僅存在於持續一個聊天的遠端工作區中,因此沒有持久的專案資料夾。專案存在於 board artifact 的資料庫中;代理程式透過工具呼叫讀取和寫入它,並在工作副本上執行階段命令。透過連線的 MCP(例如 Canva)、手動提示包和付費直接 API(使用為該聊天貼上的金鑰,R-11,在網路探測之後)進行產生;MP4 在本機渲染。
- B — local (Claude Code):
akuko.json在磁碟上,檔案在專案資料夾中,所有提供者透過環境變數金鑰,HyperFrames + FFmpeg。 - C — ikenga: B 加上 Ikenga 橋接器(以及 Studio(當其 MCP 連線時));Studio 擁有渲染狀態。
詳細資訊和功能證據:lib/hosts.md。
檔案
SKILL.md 此路由
actions/*.md 每個動作一個檔案 (Atelier frontmatter)
lib/state.md 專案檔案規則、階段、轉換、決策摺疊
lib/hosts.md 主機偵測、功能、手動主機檢查
hosts/types.ts HostAdapter 合約 (G-HOST)
hosts/{claude-artifact,local,ikenga}.ts 每個主機一個適配器
profiles/film/ 影片設定檔
schema/ akuko.json 格式 (G-SCHEMA)