排程

依照你選擇的時區與對話,在每個工作日、每小時或執行一次代理的提示。

排程會在設定好的時間點給代理一個提示,例如每個工作日的 08:00 或下週二一次。在每個時間點,代理會在你選擇的對話中收到提示作為一個回合,並在那裡回應。

建立排程

在左側導覽列開啟 排程,然後點擊 新增排程。表格會要求你填寫:

欄位輸入內容
名稱一個簡短的標籤,例如「早晨簡報」
代理執行工作的代理
提示代理每次應該做什麼,以你在聊天中撰寫的方式填寫
時間重複 (cron)、重複 (RRULE) 或 一次,下方填寫時間
時區IANA 時區,例如 Europe/Amsterdam
回覆至你與代理的私訊,或你的其中一個頻道
編輯排程表單,包含名稱、代理、提示、每週 cron 時間、時區以及支援服務台頻道
一個排程,要求代理在每週一 09:00 提供支援摘要。

如何填寫時間:

  • Cron 有五個欄位:分鐘、小時、月份日期、月份和星期幾。0 8 * * 1-5 表示工作日 08:00。
  • RRULE 使用日曆格式,例如 FREQ=WEEKLY;BYDAY=MO,WE;BYHOUR=9;BYMINUTE=0。Laze 會將其儲存為相符的 cron 格式。
  • 一次 接受該時區的當地時間,例如 2026-11-02T09:00。一次性排程執行一次後會顯示為已完成。

如果時間或時區無效,系統會以 schedule_invalid 拒絕,且不會儲存任何內容。

重複的排程最長每 30 分鐘執行一次。如果 cron 或 RRULE 的執行時間間隔更短,例如 */5 * * * *,系統會以 schedule_too_frequent 拒絕;對於應在某事發生後執行的工作,請改用觸發條件。

排程執行時會發生什麼

代理會在你選擇的對話中發布「已排程執行:早晨簡報」(包含排程名稱)和提示,其回覆會顯示在該訊息的討論串中。提示會計為建立排程人員的訊息,因此代理會使用該人員對 金庫 的存取權限來執行工作。

每次執行都會為代管代理開啟一個新的工作階段:它具有代理的技能和記憶檔案,但沒有其先前的聊天記錄,因此它每次都從頻道、檔案和連線執行任務。當執行結束時,代理的主要工作階段會收到一個簡短的執行摘要。如果執行沒有發現任何要做的事情,則不會發布任何內容。

如果代理已離開該頻道,則執行不會發布任何內容,也不會給予代理回合。如果代理被移除,則執行會被記錄為已跳過,並且排程會停止。

排程頁面,顯示一個活動排程、其代理、頻道、cron 時間和下次執行時間
每個排程都顯示其代理、對話、時間和下次執行時間。

優先檢查,僅在有變更時喚醒

輪詢變更的排程每次不需要模型。為其提供一個 優先檢查:一個代理工作資料夾中的可執行腳本。在每次觸發時,腳本會在代理電腦上執行,早於任何模型呼叫。

腳本會發生什麼
以 0 結束並列印內容代理會喚醒,且列印的內容會新增到提示中
以 0 結束並未列印任何內容無事發生。執行會顯示為「沒有新內容」,且不花費任何點數
發生錯誤結束,或執行超過 30 秒檢查失敗。代理保持休眠狀態,排程會顯示在「需要注意」下方

在表單的 優先檢查 下方設定,或使用 laze schedule add ... --check checks/new-calls.sh 設定。只有代理或其擁有者可以設定或變更檢查,因為它會使用代理的檔案和 laze 指令執行。它在任何回合之外執行,因此 laze vault 指令會拒絕它。自行呼叫模型的檢查會支付該呼叫的費用。從你專屬機器連線的代理沒有 Laze 電腦來執行檢查。

將腳本上次看到的內容儲存在你的專屬檔案中。這個範例在值變更時喚醒代理,而代理的回合會儲存新值:

#!/bin/sh
now=$(laze app records list picks --site published | sha256sum)
[ "$now" = "$(cat state/picks 2>/dev/null)" ] && exit 0
echo "picks changed: $now"

輸出內容的前 8000 個字元會到達代理,標記為腳本資料。它們不會發布到對話中。連續三次失敗會向建立排程的人員在動態消息中發送一張卡片。立即執行 會先執行檢查,因此它會測試腳本:它只會在腳本列印出內容時喚醒代理。檢查會喚醒休眠的電腦,當檢查沒有發現任何內容時,電腦很快就會再次休眠。

如果你要監控的是 App 記錄或頻道,請改用觸發條件或監視器:它們會在變更時觸發,並且在此之前不需要電腦。

時區、夏令時間和停機時間

時間會遵循排程的時區,包括夏令時間:

  • 當時間往前調整,且該天不存在該時間時,排程會在間隔之後立即執行一次。
  • 當時間往後調整,且該時間發生兩次時,排程會在第一次發生時執行一次。
  • 如果 Laze 停機並錯過了執行,排程會在 Laze 恢復後執行一次,該次執行會註明錯過了多少次。下次執行會從現在開始計算。

暫停、編輯和刪除排程

「排程」頁面上的每一列都有 執行時間、編輯、暫停 或 繼續,以及 刪除:

  • 執行時間 列出每次執行的時間和結果。
  • 暫停 會清除下次執行。繼續 會從現在開始計算下次執行時間,並且不會補回暫停期間錯過的執行。
  • 編輯 會變更名稱、提示、時間、時區或對話。暫停的排程在編輯後仍保持暫停狀態,而完成的一次性排程如果你提供一個未來的時間,它會再次執行。
  • 刪除 會移除排程;它永遠不會再次執行。

任何可以與代理對話的人員都可以查看其排程,並建立、編輯、暫停、繼續和刪除它們:包括其擁有者、與其共享的人員,以及團隊代理的所有人員。請求排程的人員也會保留它。其他人,包括工作區管理員,不會看到代理的排程;排程你無法對話的代理會被 schedule_agent_not_allowed 拒絕。

從命令列排程

人員和代理都使用 laze schedule。請提供 --cron、--rrule 或 --at 中的一個且僅一個。如果沒有 --tz,時區為 UTC。

laze schedule add "Morning brief" --prompt "Write my morning brief from my inbox and calendar" --cron "0 8 * * 1-5" --tz Europe/Amsterdam
laze schedule add "Renewal reminder" --prompt "Remind the team about the ACME renewal" --at 2026-11-02T09:00 --tz Europe/Amsterdam --channel <channelId>
laze schedule list
laze schedule pause <scheduleId>
laze schedule runs <scheduleId>
laze schedule run <scheduleId>

立即執行和未發生的執行

排程列上的 立即執行,或 laze schedule run <scheduleId>,會立即執行一次。下次觸發時間不會變動。

如果排程在代理未連線、已被移除或其對話已消失時觸發,則排程的執行者會在動態消息中收到一張卡片:Your scheduled run "<name>" did not run,其中包含原因和一個 立即執行 按鈕。同一排程再次錯過時會再次顯示相同的卡片。

範例:動態消息中的早晨簡報

早晨簡報是一個排程,其提示會告訴代理將動態消息卡片發布為一個群組。動態消息會在問候語下方顯示最新的群組,每個標籤有一個篩選晶片。

laze schedule add "Morning brief" --cron "45 7 * * 1-5" --tz Europe/Amsterdam --prompt "Check my inbox, calendar and open loops. Post one feed card per thing that needs me with --group \"Morning brief <d Mon>\", one --label of money, promise, decide, nudge, risk or fyi, and --loop <stable key>. Then run laze feed group-summary \"Morning brief <d Mon>\" and post its output."

對於更大的簡報,請將閱讀任務分派給多個偵察代理。在每個偵察代理上安裝 brief-scout 技能,並在撰寫簡報的代理上安裝 morning-brief,然後在簡報之前排程偵察代理。每個偵察代理會將其報告以 briefs/<YYYY-MM-DD>/<scout>.md 的形式上傳到簡報讀取的頻道,並附上每個項目的證據。簡報代理會讀取這些檔案,等待最多 15 分鐘以防有延遲的檔案,檢查每個項目,然後將檢查過的項目作為卡片發布到群組中。未執行的偵察代理會引導簡報,其擁有者也會收到附有 立即執行 按鈕的錯過執行卡片。

使用相同的 --loop 金鑰再次發布卡片會將其移到新群組中,並顯示它已被查看的次數。--auto-send-on <YYYY-MM-DD> 會為任何卡片新增帶有停止按鈕的倒數計時器。

當代理使用自己的金鑰執行 laze schedule add 時,排程會以該代理為目標,並被視為由代理的擁有者建立。在聊天中被要求執行重複性工作的代理可以透過這種方式建立排程。

另請查看: CLI 參考、代管代理。