openclaw crestodian
Crestodian 是 OpenClaw 的本機設定、修復與組態協助工具。當一般代理程式路徑中斷時,它仍可使用:即使 openclaw.json 遺失或無效、閘道停機、外掛命令註冊不可用,或尚未設定任何代理程式,它也能執行。
啟動時機
執行沒有子命令的openclaw 會依組態狀態進行路由:
- 組態遺失,或存在但沒有使用者撰寫的設定(空白,或只有
$schema/meta鍵):啟動傳統入門設定。 - 組態存在但驗證失敗:啟動 Crestodian。
- 組態存在且有效:開啟一般代理程式終端介面(連到可連線的已設定閘道,若沒有可連線的閘道則在本機執行)。在終端介面內使用
/crestodian,或直接執行openclaw crestodian,即可進入 Crestodian。
openclaw crestodian 一律會明確啟動 Crestodian,不受組態狀態影響。openclaw --help 和 openclaw --version 會保留其一般快速路徑。
非互動式的裸 openclaw(沒有 TTY)會以簡短訊息結束,而不是列印根說明:在全新安裝時指向非互動式入門設定,在組態無效時指向 openclaw crestodian --message "status",或在組態有效時指向 openclaw agent --local ...。
openclaw onboard --modern 會以現代入門設定預覽啟動 Crestodian。一般的 openclaw onboard 會保留傳統入門設定。
Crestodian 顯示內容
互動式 Crestodian 會開啟與openclaw tui 相同的終端介面外殼,並使用 Crestodian 聊天後端。啟動問候會涵蓋:
- 組態有效性與預設代理程式
- Crestodian 使用的模型或確定性規劃器路徑
- 首次啟動探測得到的閘道可達性
- 下一個建議的除錯動作
status 取得詳細清單:組態路徑、文件/來源路徑、本機命令列介面探測、金鑰/token 是否存在、代理程式、模型,以及閘道詳細資料。
Crestodian 使用與一般代理程式相同的參考資料探索方式:在 Git checkout 中,它會指向本機 docs/ 與來源樹;在 npm 安裝中,它會使用隨附文件並連結到 https://github.com/openclaw/openclaw,並提示當文件不足時應檢查原始碼。
範例
操作與核准
Crestodian 使用具型別操作,而不是臨時編輯組態。 唯讀、立即執行:顯示概覽、列出代理程式、列出已安裝外掛、搜尋 ClawHub 外掛、顯示模型/後端狀態、執行狀態/健康檢查、檢查閘道可達性、執行不含互動式修復的 doctor、驗證組態、顯示稽核記錄路徑。啟動引導式頻道設定(connect telegram)也會立即執行;精靈本身會收集明確答案,並且只在最後提交。
持久性操作,需要對話式核准(或對直接命令使用 --yes):寫入組態、config set、config set-ref、設定/入門啟動流程、變更預設模型、啟動/停止/重新啟動閘道、建立代理程式、安裝或解除安裝外掛、執行會重寫組態或狀態的 doctor 修復。
核准以你自己的用語給出:明確回覆(“yes”、“sure”、“go ahead”、“not now”)會從封閉的確定性清單解析,其他任何內容都由個別的主機執行模型呼叫判斷,該呼叫只會看到你的訊息與待處理提案,而絕不由對話模型本身判斷,因為它不能自我核准。模稜兩可的回覆會讓提案保持待處理,並由對話再次詢問。沒有可用模型時,只套用封閉的確定性清單。
已套用的寫入會記錄在 ~/.openclaw/audit/crestodian.jsonl。探索不會被稽核;只有已套用的操作與寫入會被稽核。
當主機支援遮罩輸入時,頻道設定可以作為託管對話執行。本機 Crestodian 終端介面不接受敏感的精靈答案;它會改為指引你使用 openclaw channels add --channel <channel>,其互動式提示會遮罩憑證。
設定啟動流程
setup 是以聊天優先的入門設定啟動流程。它只會透過具型別組態操作寫入,並且會先要求核准。
- 現有明確模型(如果已設定)。
OPENAI_API_KEY->openai/gpt-5.5ANTHROPIC_API_KEY->anthropic/claude-opus-4-8- Claude Code 命令列介面 ->
claude-cli/claude-opus-4-8 - Codex -> 透過 Codex app-server harness 使用
openai/gpt-5.5 - Gemini 命令列介面 ->
google-gemini-cli/gemini-3.1-pro-preview
OPENAI_API_KEY/ANTHROPIC_API_KEY,然後再次執行 setup。
macOS app 會透過 crestodian.setup.detect 和 crestodian.setup.activate 閘道方法驅動相同階梯:detect 會列出它找到的每個可重用後端,activate 會對一個候選項進行即時測試(一次真正的「回覆 OK」completion),並且只在測試通過後才持久保存模型、工作區與閘道預設值。失敗的候選項絕不會變更組態;app 會自動沿階梯往下走,最後提供一個手動金鑰/token 步驟,其內容來自閘道的作用中文本推論提供者外掛。所選提供者擁有其起始模型與組態,憑證也會以相同方式驗證後才儲存。
AI 對話
互動式 Crestodian 僅使用 AI:每則訊息,包括看起來像輸入命令的訊息,都會經過與一般 OpenClaw 代理程式相同的嵌入式代理程式迴圈,並限制為一個零環crestodian 工具,該工具包裝具型別操作。讀取動作可自由執行,變更需要你針對該確切操作給出對話式核准(請參閱操作與核准),每次已套用的寫入都會被稽核並重新驗證。代理程式工作階段會持久保存,因此 custodian 具有真正的多輪記憶。它會先使用已設定的 OpenClaw 模型;若沒有可用模型,則依設定階梯順序退回到機器上已存在的本機執行階段:
- Claude Code 命令列介面:
claude-cli/claude-opus-4-8(代理程式迴圈;零環工具透過 MCP 提供,請參閱下方信任模型) - Codex app-server harness:
openai/gpt-5.5(代理程式迴圈,並強制使用單一工具允許清單) - Gemini 命令列介面:
google-gemini-cli/gemini-3.1-pro-preview(代理程式迴圈;零環工具透過 MCP)
config set 絕不會送達模型。它會在確定性路徑上執行,使用已遮罩的提案,並且該值會在 AI 可見歷史中被遮罩。祕密建議使用 config set-ref <path> env <ENV_VAR>。
訊息頻道救援模式絕不使用模型輔助規劃器。遠端救援保持確定性,因此中斷或遭入侵的一般代理程式路徑無法被用作組態編輯器。
命令列介面 harness 信任模型
嵌入式執行階段與 Codex app-server harness 會直接強制執行零環限制:執行時帶有只包含crestodian 工具的工具允許清單。命令列介面 harness(Claude Code、Gemini 命令列介面)無法強制執行 OpenClaw 工具允許清單,因為命令列介面擁有其原生工具與自身權限政策,所以若要求 OpenClaw 限制其中一個,它會失敗關閉。對於命令列介面 harness 模型,Crestodian 會改為:
- 注入專用 MCP server,該 server 只提供
crestodian工具,並取代該次執行的 OpenClaw 一般 MCP 工具表面(對 Claude Code 而言,產生的組態會以--strict-mcp-config套用,因此不會載入其他 MCP server), - 將每次組態變更都保留在工具的核准與稽核合約內;讀取可自由執行,寫入需要你的對話式 yes,且每次已套用的寫入都會被稽核並重新驗證,
- 將原生工具(檔案讀取、shell)交給 harness。它們遵循與此機器上一般 OpenClaw 代理程式執行相同的權限姿態:使用 OpenClaw 預設 exec 設定時,Claude Code 會以略過權限的方式執行,而受限制的
tools.exec組態會退回到命令列介面自身的權限政策。
切換到代理程式
使用自然語言選擇器離開 Crestodian 並開啟一般終端介面:openclaw tui、openclaw chat 和 openclaw terminal 會直接開啟一般代理程式終端介面;它們不會啟動 Crestodian。切換到一般終端介面後,/crestodian 會返回 Crestodian,並可選擇帶上後續要求:
訊息救援模式
訊息救援模式是 Crestodian 的訊息頻道進入點:當你的一般代理程式已停擺,但受信任頻道(例如 WhatsApp)仍可接收命令時使用。 支援的命令:/crestodian <request>。救援只接受精確的具型別命令文法;自然語言會被拒絕並附上提示,絕不會被猜測成操作,也絕不會諮詢任何模型。
- 代理程式/工作階段啟用沙箱化時停用;Crestodian 會拒絕遠端救援,並指向本機命令列介面修復。
- 預設有效狀態為
auto:僅在受信任的 YOLO 操作中允許遠端救援,此時執行階段已具備未沙箱化的本機權限(tools.exec.security解析為full,且tools.exec.ask解析為off,沙箱模式為off)。 - 需要明確的擁有者身分;不允許萬用字元寄件者規則、開放群組政策、未驗證的網路鉤子或匿名頻道。
- 預設僅允許擁有者私訊;群組/頻道救援需要明確選擇啟用。
- 外掛搜尋與列表為唯讀。外掛安裝一律僅限本機(在救援中會被封鎖,即使其他情況下已啟用),因為它會下載可執行程式碼。外掛解除安裝可核准為持久性救援操作。
- 遠端救援無法開啟本機終端介面,也無法切換到互動式代理程式工作階段;請使用本機
openclaw進行代理程式交接。 - 即使在救援模式中,持久性寫入仍需要核准。
- 每個已套用的救援操作都會被稽核。訊息頻道救援會記錄頻道、帳戶、寄件者與來源位址中繼資料;會修改設定的操作也會記錄修改前後的設定雜湊。
- 絕不回顯秘密。SecretRef 檢查會回報可用性,而不是值。
- 如果閘道仍在運作,救援會優先使用閘道型別化操作;如果閘道已停止,救援只會使用不依賴一般代理程式迴圈的最小本機修復介面。
enabled:"auto"(預設)僅在有效執行階段為 YOLO 且沙箱化關閉時允許救援;false永不允許訊息頻道救援;true會在擁有者/頻道檢查通過時明確允許救援(仍受沙箱化拒絕限制)。ownerDmOnly:將救援限制為擁有者直接訊息。預設為true。pendingTtlMinutes:待處理救援寫入在過期前,為/crestodian yes核准保持開放的時間長度。預設為15。
/crestodian status,以及透過救援處理常式進行的持久性核准往返: