適用於 Openclaw 的 Cron Scripts

一個定時背景腳本執行擴充功能,透過 OpenClaw 閘道 hook 直接執行 bash 指令,支援熱重載且零 LLM 成本。

gdxbsv
v1.0.0
Jun 11, 2026
0
468
0

安裝與下載

1. ClawHub CLI

從來源直接安裝技能的最快方式。

npx clawhub@latest install cron-scripts

2. 手動安裝

將技能資料夾複製到以下位置之一

全域模式
~/.openclaw/skills/
工作區
<project>/skills/

優先級:工作區 > 本地 > 內建

3. 提示詞安裝

將此提示詞複製到 OpenClaw 即可自動安裝。

請幫我使用 Clawhub 安裝 cron-scripts。如果尚未安裝 Clawhub,請先安裝(npm i -g clawhub)。

想要直接下載?

取得包含原生技能檔案的ZIP壓縮檔。

什麼是 Cron Scripts?

cron-scripts 擴充功能是一個高效的實用工具,旨在排程並執行標準的 shell 腳本,而無需涉及昂貴的語言模型。在 Openclaw Skills 生態系統中,該工具作為一種高效能的解決方案,用於執行系統清理、本地通知或 Git 更新等背景行程。它利用底層的 Gateway 架構在啟動時載入自訂腳本,非常適合不需要認知推理的任務。

透過避免不必要的 LLM 代理呼叫,cron-scripts 確保了零 API 使用成本,同時維護了一個統一的腳本自動化目錄。系統整合了毫秒級的自動熱重載功能,確保您可以直接在環境中快速部署系統檢查與自動化步驟,而無需停機。

Cron Scripts 應用場景

  • 自動化週期性系統維護,如資料庫備份、git pull 與檔案清理任務。
  • 執行常規基礎設施檢查、HTTP 健康檢查 (ping) 與內部守護行程追蹤。
  • 直接向 Telegram 或 Slack 端點傳送靜態通知、警報或系統 webhooks。
  • 監控特定系統目錄的變更並執行腳本,而無需觸發代理步驟。
  • 將重複的腳本任務卸載,以節省 LLM token 並降低營運成本。

Cron Scripts 運作原理

  1. Gateway Hook 啟用:在初始化期間,OpenClaw 閘道會載入啟動 hook 處理器,從而初始化 cron 引擎。
  2. 目錄監控:系統會自動掃描並監視指定的腳本目錄 (~/.openclaw/cron-scripts/)。
  3. Frontmatter 配置擷取:載入器會讀取每個可執行 .sh 檔案的前 20 行,以解析執行計畫、名稱、時區配置與逾時限制。
  4. 排程註冊:透過捆綁的 Node.js croner 程式庫,hook 會在記憶體中註冊任務計時器,確保在之前的任務仍在執行時保護任務不會並發執行。
  5. 熱重載與執行:監控器會動態追蹤檔案系統更新。修改或刪除腳本可在 300ms 內套用更新,無需重新啟動閘道。

Cron Scripts 設定指南

1. 安裝 Gateway Hook

在本地 OpenClaw 結構中建立目標資料夾,並將載入器處理程式碼複製到位:

mkdir -p ~/.openclaw/hooks/cron-scripts-loader
cp hooks/cron-scripts-loader/handler.ts ~/.openclaw/hooks/cron-scripts-loader/handler.ts

重新啟動閘道以啟用 hook 註冊:

openclaw gateway restart

2. 準備腳本目錄

設定存放腳本的工作區:

mkdir -p ~/.openclaw/cron-scripts

3. 建立排程任務

編寫一個基礎 bash 腳本,並在腳本頁首包含所需的元數據。將其儲存在自訂 cron 腳本目錄中:

#!/usr/bin/env bash
# name: ping-health
# schedule: */5 * * * *
# tz: UTC
# timeout: 60

curl -sf https://hc-ping.com/your-uuid-here || echo "Ping failed!"

為腳本授予執行權限,以便執行程式可以觸發它:

chmod +x ~/.openclaw/cron-scripts/ping-health.sh

Cron Scripts 資料結構與分類體系

腳本元數據配置

每個 cron 腳本必須在檔案的前 20 行內使用 frontmatter 格式直接在其頁首配置元數據:

屬性 預期類型 必須 描述 後備預設值
name String 是 用於在日誌檔案中識別任務執行的標籤 N/A
schedule String 是 經典的 5 欄位 cron 配置運算式 N/A
tz String 否 有效的 IANA 時區資料庫名稱 UTC
timeout Number 否 SIGTERM 終止前的硬逾時限制(秒) 120

日誌與追蹤格式

處理詳細資訊直接對應到系統閘道輸出中。每個操作都清晰地對應到標準遙測日誌中:

  • 啟動狀態:[cron-scripts-loader][<name>] Starting run
  • STDOUT 轉發:[cron-scripts-loader][<name>] <line-output>
  • 終止結果:[cron-scripts-loader][<name>] Finished ok (exit 0)

Cron Scripts 進階特性

  • 亞秒級熱重載:採用智慧目錄監控器,可在 ~300ms 內動態安全地新增、掛起(透過將副檔名變更為 .disabled)或刪除任務。
  • 直接 API 通知互操作性:腳本可以使用本地迴圈與閘道 api announce 端點 (http://localhost:3000/api/announce) 通信,以觸發即時的多通道推播公告。
  • 並發保護:內建執行保障措施 (protect: true),確保在密集的長時間執行 shell 腳本期間優雅地避免重疊。
  • 直接 Node 依賴執行:直接與宿主系統 node_modules 中已捆綁的 croner 程式庫配合執行,無需外部安裝。

SKILL.md


加載中

Openclaw 相關技能

METADATA

Github Stars: 0
forks: 0

精選*