Skip to main content
Skill Workshop 是 OpenClaw 用於建立及更新工作區 Skills 的受控管途徑。代理程式與操作者絕不會透過此途徑直接寫入 SKILL.md ——他們會建立一份提案(包含內容、目標繫結、掃描器狀態、雜湊及回復中繼資料的待處理草稿), 只有套用後才會成為上線的 Skill。 Skill Workshop 只會寫入工作區 Skills。它絕不會變更內建、 外掛、ClawHub、額外根目錄、受管理、個人代理程式或系統 Skills。

運作方式

  • **提案優先:**產生的內容會儲存為 PROPOSAL.md,而非 SKILL.md
  • **套用是唯一的上線寫入操作:**建立、更新及修訂絕不會變更 使用中的 Skills。
  • **限於工作區:**建立操作以工作區的 skills/ 根目錄為目標;只有可寫入的工作區 Skills 才能更新。
  • **不覆寫:**如果目標 Skill 已存在,建立操作會失敗。
  • **雜湊繫結:**更新提案會繫結目前的目標雜湊;若上線 Skill 在套用前發生變更, 提案會進入 stale
  • **掃描器管制:**套用前會重新執行安全性掃描器。
  • **可復原:**套用操作會先寫入回復中繼資料,再變更上線檔案。
  • **介面一致:**聊天、命令列介面及閘道都會呼叫相同的服務。

生命週期

只有 pending 提案可以修訂、套用、拒絕或隔離。

生命週期整理

閘道會在共用狀態資料庫中追蹤 Skill 的彙總使用情況。它每天會審查一次由 Skill Workshop 建立並套用的 Skills。超過 30 天未使用的 Skill 會變成 stale;90 天後會變成 archived,且不再納入新的代理程式 Skill 快照。 已封存的 Skill 檔案在磁碟上維持不變。手動編寫的 Skills 絕不會被整理; 只有透過 Skill Workshop 提案建立的 Skills 才會進入生命週期整理。 已釘選的 Skills 不會進行生命週期轉換。過時的 Skill 在再次使用,且下一次掃描完成後, 會回到 active。已封存的 Skills 只能透過明確的還原操作恢復: 生命週期轉換與還原會套用至新工作階段;執行中的工作階段會保留目前的 Skill 快照。
所有整理器命令都接受 --json。狀態也會將確定性的重疊 候選項目僅列為建議;它絕不會合併 Skills 或呼叫模型。

聊天

向代理程式提出所需的 Skill;它會呼叫 skill_workshop 並傳回 提案 ID。

從近期工作中學習

使用 /learn,將目前對話或指定來源轉換成一份 遵循標準指引的 Skill 提案:
未提供要求時,/learn 會要求代理程式從目前對話中提煉出 可重複使用的工作流程。提供要求時,代理程式會將路徑、URL、貼上的 筆記及對話參照視為來源,同時遵循重點、範圍及命名要求。它會使用現有工具 收集來源,再以 action: "create" 呼叫 skill_workshop 產生的提案會維持 pending/learn 絕不會套用它。 請透過一般核准流程或使用 openclaw skills workshop 審查並套用提案。 建立:
更新現有的工作區 Skill:
反覆調整待處理的提案:
代理程式發起的 applyrejectquarantine 預設不會顯示額外的核准提示。將 skills.workshop.approvalPolicy 設為 "pending", 即可要求操作者在執行這些動作前核准。 需要核准時,提示會指出提案 ID 及目標 Skill,並顯示提案說明、 支援檔案數量及本文大小。核准要求的時間會受到限制,以便在代理程式工具監控器 逾時前完成。如果提示到期前沒有收到決定,生命週期動作便不會執行: 提案會維持待處理且不變。請稍後在 Skill Workshop UI 中決定,或執行 openclaw skills workshop apply|reject|quarantine <proposal-id>。代理程式不應循環重試已到期的生命週期動作。

命令列介面

每個子命令都接受 --agent <id>(目標工作區;預設依目前工作目錄推斷, 其次使用預設代理程式)及 --json(結構化輸出)。 propose-createpropose-updaterevise 也接受 --goal <text>--evidence <text>,以便將提案脈絡連同 --proposal 一併記錄。

提案內容

在待處理期間,提案會以 PROPOSAL.md 儲存,並包含僅供提案使用的 frontmatter:
套用時,Skill Workshop 會寫入使用中的 SKILL.md,並移除 僅供提案使用的欄位:status、提案 version 及提案 date

支援檔案

當提議的 Skill 需要放置在 PROPOSAL.md 旁的檔案時, 請使用 --proposal-dir
該目錄必須包含 PROPOSAL.md。支援檔案必須位於 assets/examples/references/scripts/templates/ 下。Skill Workshop 會掃描這些檔案、計算雜湊, 並將它們與提案一併儲存;只有套用時才會將它們寫入上線 SKILL.md 旁。 會遭拒絕的支援檔案路徑包括:絕對路徑、隱藏的路徑區段、路徑 遍歷、重疊路徑、可執行檔、非 UTF-8 文字、Null 位元組, 以及標準支援資料夾以外的路徑。

代理程式工具

模型會使用 skill_workshop,其中有一個必要的 actioncreate | update | revise | list | inspect | apply | reject | quarantine。 其他參數依動作而定: 代理程式必須使用 skill_workshop 來處理產生的 Skill 工作。它們不得 透過 writeeditexec、Shell 命令或直接檔案系統操作建立或變更提案檔案。
skill_workshop 是內建代理程式工具,且包含在 tools.profile: "coding" 中。如果較嚴格的原則將其隱藏,請將 skill_workshop 加入使用中的 tools.allow 清單;若範圍使用的設定檔沒有 明確的 tools.allow,則使用 tools.alsoAllow: ["skill_workshop"]。 沙箱執行不會建構主機端的 Skill Workshop 工具,因此請從一般主機端 代理程式工作階段或命令列介面執行提案審查動作。

建議的 Skills

當互動回合結束時,包括失敗的回合,OpenClaw 會偵測「下次」、「記得要」等 可長期沿用的指示及回應式修正。在下一個回合中,代理程式會提議透過 skill_workshop 儲存最近偵測到的工作流程;由使用者決定是否建立 提案。這項內建建議功能本身不會建立或變更 Skill。啟用 skills.workshop.autonomous.enabled,即可改為直接建立待處理提案。在 Control UI 中,Workshop 分頁會在頁面標題顯示相同的設定,作為 Self-learning 切換開關,並在空白提案看板上顯示為啟用按鈕。

掃描過往工作階段

Control UI 無須啟用自主自我學習,即可審查較早的工作。 開啟 Plugins → Workshop,然後選取 Find skill ideas。掃描會從 最新且符合資格的工作階段開始,並審查有限範圍內具實質內容的工作。 它會略過排程、心跳偵測、Hook、子代理程式、ACP、外掛擁有及內部審查 工作階段,以及模型回合少於六次的對話。 審查器會使用所選代理程式設定的模型,並接收經過機密遮蔽且大小受限的 逐字稿組合。它採用與經驗審查相同的保守門檻:具體的復原模式,或能夠 減少至少兩次未來模型或工具呼叫的穩定程序。例行工作及一次性事實 不應產生提案。 單次掃描最多可以建立或修訂三份待處理提案。它無法套用、 拒絕、隔離或編輯上線 Skill。Workshop 會顯示累計涵蓋範圍, 例如 已審查 20 個工作階段 · 6 月 18 日至今天 · 找到 2 個構想。選取 Scan earlier work,即可從持久保存的最早工作階段游標繼續。可用歷史記錄 全部掃描完畢後,該動作會變成 Scan new work 歷史審查一律手動進行,即使 skills.workshop.autonomous.enabledfalse。每次點擊都會啟動一次模型執行, 因此適用供應商的定價與資料處理條款。游標與涵蓋範圍計數 會儲存在共用的 OpenClaw 狀態資料庫中;逐字稿內容不會複製 到掃描狀態中。 啟用自主擷取後,OpenClaw 也能在成功完成重大工作,且整個代理系統進入閒置狀態後, 進行保守審查。該隔離審查最多可以建立或修訂一項待處理提案。它無法更新使用中的 skill, 也無法套用、拒絕或隔離提案,即使 approvalPolicy"auto" 如需啟用方式、資格條件、隱私權與成本詳細資訊、提案門檻和疑難排解, 請參閱自我學習

核准與自主性

自主擷取會辨識預期性規則(例如“從現在開始”)及反應性 修正(例如“那不是我要求的”)。它會依主題將新指示分組,每回合最多產生 三項提案;將詞彙相符項目導向現有且可寫入的工作區 skill;若另一項修正指向相同的 skill, 則修訂自己建立的待處理提案。 對於沒有明確修正的成功重大工作,所選模型會在隔離執行中判斷已完成的軌跡 是否達到保守的提案門檻。前景模型在回覆前不會收到學習提示。背景審查器會保留 前景執行作為提案來源,無法存取一般代理工具,也無法做出生命週期 決策。只有當前景執行階段同時回報其確切解析後的模型, 以及 skill_workshop 確實可用時,審查才會開始。因此,限制性或未知的工具政策 會採取封閉式失敗,且不建立提案。 如需完整的自主審查行為與安全 模型,請參閱自我學習 無論 maxSkillBytes 為何, 提案說明一律以 160 位元組為上限。

閘道方法

requestRevision 僅適用於閘道(沒有命令列介面或代理工具的對應功能):它會將 自由文字修訂指示轉送至所屬代理的聊天工作階段,而不是直接取代 PROPOSAL.md,供要求代理進行修訂,而非提交全新字面內容的使用者介面使用。 historyStatushistoryScan 是 Control UI 支援方法。historyScan 接受 direction: "older" | "newer";它一律將結果保留為待處理 提案。

儲存空間

預設狀態目錄:~/.openclaw
  • proposal.json:標準提案記錄。
  • proposals.json:快速清單索引,可從提案資料夾重建。
  • PROPOSAL.md:待處理的 skill 提案。
  • rollback.json:在套用變更至使用中檔案之前寫入的復原中繼資料。

限制

疑難排解

工具政策診斷

啟用自主擷取時,openclaw doctor 會針對預設代理執行 core/doctor/skill-workshop-tool-policy 檢查。若政策隱藏 skill_workshop,警告會指出第一個排除它的設定層, 以及需要進行的確切 allowalsoAllow 變更。較舊的操作手冊可能仍使用 openclaw plugins inspect skill-workshop;該命令現在會說明 Skill Workshop 為內建功能,並在適用時輸出相同的政策提示。

相關內容