餐廳示範編排器
執行一個可恢復的工作訂單,從線索導入到本地驗證的私人示範。將此技能與主代理視為控制平面;使用三個有限制的工人代理與四個專精技能作為執行平面。
在變更階段模型、成品種類或轉換規則之前,請先閱讀 references/orchestration-contract.md。
開始或恢復工作訂單
- 在瀏覽前,先讀取專案上下文並檢查本地線索資料。
- 使用
scripts/workflow.py init初始化工作訂單。若有的話,植入 Sheet 列、Place ID、Maps URL 和本地線索快照。 - 執行
scripts/workflow.py resume以取得每個作用中或依賴就緒的階段、其工人通道、指定的技能、預期成品以及階段特定的提示。 - 在展開之前,於主代理中完成 intake、research、design_lock 和 image_slots。
- 當子代理可用時,產生一個設計工人、一個餐點工人和一個店面工人。一起啟動三個依賴就緒的通道;每個工人記錄真實成品,並僅將其指定階段標記為
passed、blocked,或僅針對可選分支標記為skipped並附上理由。 - 合併所有工人。主代理執行合約驗證、整合其輸出、解決衝突、執行最終 QA,並記錄私人示範。
- 在轉換後執行
scripts/workflow.py validate。在調色盤、餐點或店面清單通過後,使用--run-contracts。 - 重複直到
private_demo通過或證據產生真正的阻礙因素。如果子代理不可用,則依序執行相同通道,並在階段備註中記錄此降級方式。
不要要求使用者分別呼叫每個技能。當使用者說要建置、執行、繼續或恢復示範時,在同一任務中繼續進行所有未受阻礙的階段。切換專精技能時提供簡潔的進度更新。
維護專精邊界
使用指定的技能,而不是在編排器內重現其工作:
research、design_lock、image_slots、site_design、implementation和qa:$restaurant-demo-builderbrand_palette:$restaurant-brand-palettefood_images:$restaurant-food-image-studioexterior_image:$restaurant-exterior-image-studiointake和private_demo:此技能
在分派專精階段之前,主代理必須完整讀取該技能。每個工人也必須讀取其指定的技能,並遵循其證據與驗證關卡。只有當其必需的成品存在時,階段才能通過。工作流程記錄的專精清單狀態永遠不會覆蓋專精驗證器的結果。
平行代理合約
最多使用三個工人代理,位於這些隔離的通道中:
design:執行brand_palette,然後建立具有合約定義圖片佔位符的響應式site_design外殼。寫入調色盤/鎖定/交接檔案以及網站外殼;請勿整合工人圖片輸出或執行最終 QA。food:執行food_images。僅寫入 Food Image Studio 工作訂單和清單;請勿編輯網站外殼或最終示範。exterior:執行exterior_image。僅寫入 Exterior Image Studio 工作訂單和清單;請勿編輯網站外殼或最終示範。
主代理擁有 intake、research、所有通道共享的鎖定、最終 implementation、QA、儲存庫操作、發佈決策以及使用者交接。只有主代理可以將選定的工人資產複製到最終示範中,協調文案/版面/資產衝突,或宣佈示範已就緒。
工人可以透過 workflow.py set-stage 更新自己的工作流程階段;狀態工具會序列化並行寫入。工人不得編輯其他通道的檔案或狀態。工人完成後,檢查實際成品並執行驗證器,而不是僅信任訊息本身。
階段規則
遵循此順序:
intake
-> research
-> design_lock
-> image_slots
-> [design: brand_palette -> site_design]
[food: food_images] (平行)
[exterior: exterior_image]
-> implementation by main agent
-> qa
-> private_demo
food_images 和 exterior_image 是決策分支,不是靜默省略。當產出合格的資產時讓它們通過;當頁面仍以文字為主或外部店面不增加到達價值時,以證據支持的理由跳過它們。切勿跳過 brand_palette;當餐廳證據無法支援品牌衍生調色盤時,使用其明確標記的 Recipe 備援。
僅使用這些狀態。最多三個依賴獨立的工人階段可以處於 in_progress,但每個工人通道只能有一個;主代理階段絕不能與工人階段重疊:
pending:尚未開始in_progress:正在積極執行;一次只有一個階段passed:依賴項、成品和相關驗證器通過blocked:無法進行;記錄具體的阻礙因素skipped:刻意省略的可選分支;記錄原因
切勿將未完成的工作標記為 passed 以推進工作流程。當其證據或輸出變更時,使用 --reopen 重新開啟終端階段。
指令
將 <orchestrator-skill> 替換為此已安裝的技能資料夾。從您的餐廳專案目錄執行工作訂單指令。
初始化:
python3 <orchestrator-skill>/scripts/workflow.py init \
--project-root . \
--restaurant "餐廳名稱" \
--slug restaurant-name \
--place-id "PLACE_ID" \
--maps-url "GOOGLE_MAPS_URL" \
--lead-json output/leads.json \
--source-sheet-id "SHEET_ID" \
--source-sheet-title "Sheet title" \
--source-tab Sheet1 \
--source-row 28 \
--sheet-checked-at 2026-07-13
檢查並恢復;resume 在展開後可能回傳多個可操作的階段:
python3 <orchestrator-skill>/scripts/workflow.py status \
--workflow orchestration/restaurant-name/workflow.json
python3 <orchestrator-skill>/scripts/workflow.py resume \
--workflow orchestration/restaurant-name/workflow.json
記錄階段:
python3 <orchestrator-skill>/scripts/workflow.py set-stage \
--workflow orchestration/restaurant-name/workflow.json \
--stage research --status passed \
--artifact research_record=orchestration/restaurant-name/research/RESEARCH.md \
--artifact restaurant_profile=orchestration/restaurant-name/research/restaurant-profile.json
驗證:
python3 <orchestrator-skill>/scripts/workflow.py validate \
--workflow orchestration/restaurant-name/workflow.json --run-contracts
護欄
- 預設將每個新工作訂單保持為
private-local。 - 不要新增自動部署、上傳、電子郵件、Messenger 或對外聯絡指令。
- 保持已驗證的事實、快照事實、推論、創意決策和未解決問題的區別。
- 在將目前的營業時間、菜單、評分、評論數、網站狀態、服務和聯絡連結用於頁面之前,請重新檢查。
- 請勿將機密、服務帳戶檔案、令牌或私人憑證放入工作訂單中。
- 停止在
private_demo;發佈和對外聯絡需要另外明確的使用者授權。
交接
報告工作訂單路徑、當前階段、本地示範路徑或 URL(若可用)、驗證結果、阻礙因素、需要業主確認的事項以及發佈許可的差距。明確陳述除非另行授權,否則沒有進行任何發佈或對外聯絡。