name: cron-daily-report version: 0.1.0 description: 生成昨日 OpenClaw cron 執行日總結(成功/失敗次數、主要錯誤類型),並發送摘要到 Telegram 群組。 user-invocable: true
Cron Daily Report(昨日日總結)
目標
- 讀取「所有 OpenClaw cron jobs」與「昨日(Asia/Hong_Kong 00:00-23:59)」的 runs。
- 統計每個 job:成功/失敗次數。
- 額外分類失敗原因(特別係:
- 429 overload
- gateway timeout
- path /workspace 不存在
- read-only file system
- tool validation failed
- Telegram send failed / chat not found(屬於通知層,唔一定係工作本體失敗) )。
- 產出一份精簡報告,寫入:
{baseDir}/../../reports/YYYY-MM-DD.md(YYYY-MM-DD = 昨日日期)。 - 另外用 message tool 將「摘要」發到 Telegram 群組:
-5162606720。
可用工具
- 使用
cron工具:cron.status()(可選)cron.list(includeDisabled:true)cron.runs(jobId)
- 使用
write/edit:寫 report 檔 - 使用
message.send:發送摘要到群組(只發摘要,唔好貼長 log;目標必須係數字 chat id)
操作步驟(建議)
- 用
cron.list(includeDisabled:true)取得 job 清單。 - 對每個 job 呼叫
cron.runs(jobId),取足夠多 entries(例如最近 200 次),然後用時間範圍過濾到「昨日 00:00-23:59」(Asia/Hong_Kong)。 - 逐 job 統計:
- runs_total、success、error
- error 類型 top(可從
error/summary字段做 keyword 分類)
- 匯總全局:總 runs、成功、失敗、成功率。
- 寫入 report 檔(Markdown)。
- 組裝 10~20 行摘要並發到 Telegram 群組
-5162606720。
Telegram 發送規則(必讀)
- 只可以用
message.send。 channel用telegram。to必須係字面值-5162606720(唔好用 "cron-watch"、唔好用群組名、唔好用 @username)。- 如
message.send失敗:- 仍然要把報告檔寫入成功;
- 在 report 內加一段「通知層失敗」說明(含錯誤字串,但唔好貼 token)。
檔案層日誌(必做,用於追查)
除咗寫 reports/YYYY-MM-DD.md,你必須同時寫一份「執行日誌」到:
logs/daily-report-YYYY-MM-DD.log(YYYY-MM-DD = 昨日日期)
日誌內容最少包含:
- 開始/結束時間(含時區 Asia/Hong_Kong)
cron.status/cron.list/ 每個cron.runs(jobId)是否成功- 若工具調用失敗(例如
gateway timeout),必須原樣記錄錯誤字串 - 成功寫 report 檔、以及
message.send成功/失敗結果
注意:
- 日誌只寫到檔案,唔好整段貼去 Telegram。
- 唔好寫入任何 secrets/token。
報告格式(Markdown 建議)
- 標題:
# Cron 日總結:YYYY-MM-DD(昨日) - 資料完整性聲明(必備):
cron.list是否成功取得 job 清單cron.runs是否能取得足夠 runs(若 runs 記錄量太少,必須明確寫明「昨日可能未被覆蓋」,避免把「0 runs」誤判成故障)
- 昨日新增 Cron Jobs(必備):
- 以
createdAtMs落在昨日(Asia/Hong_Kong 00:00-23:59)為準 - 列出:name、jobId、schedule、sessionTarget、enabled
- 以
- 總覽:總 runs / 成功 / 失敗 / 成功率
- 失敗原因 Top(分「通知層」同「工作本體層」)
- Job 列表(只列:昨日有 run 的 job;失敗 job 放前面)
- job name (id)
- success x / fail y
- 最近一次失敗時間 + 一行錯誤摘要(最多 1-2 條 sample)
注意
- 全程使用繁體中文。
- 唔好輸出任何敏感 token。
- 唔好嘗試自動修復 cron;只提出建議。

