Zamanlamalar

Bir ajanın istemini her hafta içi, her saat veya bir kez, seçtiğiniz saat diliminde ve sohbette çalıştırın.

Bir zamanlama, bir ajana belirli zamanlarda, örneğin her hafta içi 08:00'de veya gelecek Salı bir kez bir istem verir. Her seferinde ajan, seçtiğiniz sohbette istemi bir sıra olarak alır ve orada yanıt verir.

Zamanlama oluşturma

Sol kenar çubuğunda Zamanlamalar'ı açın ve Yeni zamanlama'ya tıklayın. Form şunları ister:

Alan
Ad
Ajan
İstem
Ne zaman
Saat dilimi
Şurada yanıtla
Ne girilecek
"Sabah özeti" gibi kısa bir etiket
İşi yapan ajan
Ajandan her seferinde ne yapması beklendiği, sohbette yazdığınız gibi
Tekrarlar (cron), Tekrarlar (RRULE) veya Bir kez, altında zaman ile birlikte
Europe/Amsterdam gibi bir IANA bölgesi
Ajanla olan doğrudan mesajlarınız veya kanallarınızdan biri
Ad, ajan, istem, haftalık cron zamanı, saat dilimi ve destek-masası kanalı ile Düzenle zamanlama formu
Ajandan her Pazartesi saat 09:00'da bir destek özeti isteyen bir zamanlama.

Zamanı nasıl yazılır:

  • Cron beş alan içerir: dakika, saat, ayın günü, ay ve haftanın günü. 0 8 * * 1-5, hafta içi günlerde saat 08:00'dir.
  • RRULE takvim formatını kullanır, örneğin FREQ=WEEKLY;BYDAY=MO,WE;BYHOUR=9;BYMINUTE=0. Laze bunu eşleşen cron olarak saklar.
  • Bir kez bölgedeki yerel bir saati alır, örneğin 2026-11-02T09:00. Tek seferlik bir zamanlama bir kez çalışır ve ardından tamamlandı olarak görünür.

Geçersiz bir zaman veya bölge schedule_invalid ile reddedilir ve hiçbir şey kaydedilmez.

Tekrarlayan bir zamanlama en fazla her 30 dakikada bir çalışır. Çalıştırmaları birbirine daha yakın olan bir cron veya RRULE, örneğin */5 * * * *, schedule_too_frequent ile reddedilir; bir şeyin gerçekleşmesini takip etmesi gereken işler için bunun yerine bir tetikleyici kullanın.

Bir zamanlama çalıştığında ne olur

Ajan, seçtiğiniz sohbete "Zamanlanmış çalıştırma: Sabah özeti" (zamanlamanın adıyla birlikte) ve istemi gönderir ve yanıtı o mesajın altında bir ileti dizisinde yer alır. İstem, zamanlamayı oluşturan kişiden gelen bir mesaj olarak sayılır, bu nedenle ajan, o kişinin kasa erişimiyle çalışır.

Her çalıştırma, barındırılan bir ajan için yeni bir oturumda başlar: ajanın yeteneklerine ve bellek dosyalarına sahiptir ancak önceki sohbetlerine sahip değildir, bu nedenle görevi her seferinde kanallardan, dosyalardan ve bağlantılardan yapar. Çalıştırma bittiğinde, ajanın ana oturumu çalıştırmanın ne yaptığına dair kısa bir not alır. Yapacak bir şey bulamayan bir çalıştırma hiçbir şey göndermez.

Eğer ajan o kanaldan ayrıldıysa, çalıştırma hiçbir şey göndermez ve ajana sıra vermez. Ajan kaldırıldıysa, çalıştırma atlandı olarak kaydedilir ve zamanlama durur.

Bir aktif zamanlama, ajanı, kanalı, cron zamanı ve bir sonraki çalıştırması ile Zamanlamalar sayfası
Her zamanlama ajanı, sohbeti, zamanı ve bir sonraki çalıştırmayı gösterir.

Önce kontrol et, sadece bir şey değiştiğinde uyan

Değişiklikleri yoklayan bir zamanlama her seferinde bir modele ihtiyaç duymaz. Buna bir kontrol verin: ajanın çalışma klasöründe yürütülebilir bir betik. Her tetiklendiğinde betik, herhangi bir model çağrısından önce ajanın bilgisayarında çalışır.

BetikNe olur
0 ile çıkar ve bir şeyler yazdırırAjan uyanır ve yazdırdığı isteme eklenir
0 ile çıkar ve hiçbir şey yazdırmazHiçbir şey. Çalıştırma Yeni bir şey yok olarak görünür ve hiçbir kredi harcanmaz
Hata ile çıkar veya 30 saniyeyi aşarKontrol başarısız oldu. Ajan uykuda kalır ve zamanlama Dikkat Gerekiyor altında görünür

Bunu formdaki Önce kontrol et altında veya laze schedule add ... --check checks/new-calls.sh ile ayarlayın. Sadece ajan veya sahibi bir kontrolü ayarlayabilir veya değiştirebilir, çünkü ajanın dosyaları ve laze komutuyla çalışır. Herhangi bir sıra dışında çalışır, bu yüzden laze vault komutları bunu reddeder. Bir modeli kendisi çağıran bir kontrol, o çağrının ücretini öder. Kendi makinenizden bağlı ajanların kontrol çalıştıracak bir Laze bilgisayarı yoktur.

Betik son gördüğünü kendi dosyanızda tutun. Bu örnek, bir değer değiştiğinde ajanı uyandırır ve ajanın sırası yeni değeri kaydeder:

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

Çıktının ilk 8000 karakteri, betikten gelen veri olarak işaretlenerek ajana ulaşır. Sohbette yayınlanmazlar. Üst üste üç hata, zamanlamayı yapan kişiye Akış'ta bir kart gönderir. Şimdi çalıştır önce kontrolü çalıştırır, böylece bir betiği test eder: betik bir çıktı verirse ajanı uyandırır. Bir kontrol, uyuyan bir bilgisayarı uyandırır; kontrol hiçbir şey bulamadığında ise kısa süre sonra tekrar uykuya dalar.

İzlediğiniz şey bir uygulama kaydı veya bir kanalsa, bunun yerine bir tetikleyici veya bir monitör kullanın: bunlar değişiklik üzerine tetiklenir ve o zamana kadar bilgisayara ihtiyaç duymazlar.

Saat dilimleri, yaz saati uygulaması ve kesinti süresi

Saatler, yaz saati uygulaması dahil olmak üzere zamanlamanın saat dilimini takip eder:

  • Saatler ileri alındığında ve o gün o saat mevcut olmadığında, zamanlama bir kez, boşluktan hemen sonra çalışır.
  • Saatler geri alındığında ve o saat iki kez gerçekleştiğinde, zamanlama bir kez, ilkinde çalışır.
  • Eğer Laze kesintiye uğradı ve çalıştırmaları kaçırdıysa, Laze geri geldiğinde zamanlama bir kez çalışır ve o çalıştırma kaç tanesinin kaçırıldığını not eder. Bir sonraki çalıştırma ise şimdiden itibaren sayılır.

Bir zamanlamayı duraklat, düzenle ve sil

Zamanlamalar sayfasındaki her satırda Çalışır, Düzenle, Duraklat veya Sürdür ve Sil bulunur:

  • Çalışır, her çalıştırmayı zamanı ve sonucuyla birlikte listeler.
  • Duraklat, bir sonraki çalıştırmayı temizler. Sürdür, bir sonraki çalıştırmayı şimdiden itibaren sayar ve duraklatılan zamanı telafi etmez.
  • Düzenle, adı, istemi, zamanı, bölgeyi veya sohbeti değiştirir. Duraklatılmış bir zamanlama, düzenlemeden sonra duraklatılmış kalır ve tamamlanmış tek seferlik bir zamanlama, ileride bir zaman verirseniz tekrar çalışır.
  • Sil, zamanlamayı kaldırır; bir daha asla çalışmaz.

Ajanla konuşabilen herkes onun zamanlamalarını görür ve bunları oluşturabilir, düzenleyebilir, duraklatabilir, sürdürebilir ve silebilir: ajanın sahibi, paylaşıldığı kişiler ve bir ekip ajanı için herkes. Bir zamanlama isteyen kişi de onu tutar. Çalışma alanı yöneticileri dahil diğer kişiler, ajanın zamanlamalarını görmez; konuşamadığınız bir ajanı zamanlamak schedule_agent_not_allowed ile reddedilir.

Komut satırından zamanlama

Kişiler ve ajanlar her ikisi de laze schedule kullanır. Tam olarak --cron, --rrule veya --at'den birini verin. --tz olmadan, bölge UTC'dir.

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>

Şimdi çalıştır ve gerçekleşmeyen çalıştırmalar

Bir zamanlama satırındaki Şimdi çalıştır veya laze schedule run <scheduleId>, onu hemen bir kez çalıştırır. Bir sonraki tetikleme hareket etmez.

Eğer bir zamanlama, ajanı bağlı değilken, kaldırıldığında veya sohbeti kaybolduğunda tetiklenirse, zamanlamanın çalıştığı kişi akışında bir kart alır: Your scheduled run "<name>" did not run, nedenini ve bir Şimdi çalıştır düğmesiyle birlikte. Aynı zamanlamanın başka bir kaçırılması, aynı kartı geri getirir.

Örnek: Akıştaki sabah özeti

Bir sabah özeti, istemi ajana akış kartlarını tek bir grup halinde göndermesini söyleyen bir zamanlamadır. Akış, en yeni grubu selamlama altında, etiket başına bir filtre çipi ile gösterir.

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."

Daha büyük bir özet için, okumayı gözcüler arasında bölüştürün. Her bir gözcü ajana brief-scout yeteneğini ve özeti yazan ajana morning-brief yeteneğini yükleyin, ardından gözcüleri özetten önce zamanlayın. Her gözcü raporunu briefs/<YYYY-MM-DD>/<scout>.md olarak, özetin okuduğu kanala, her öğenin kanıtıyla birlikte yükler. Özet ajanı bu dosyaları okur, geç kalan biri için 15 dakikaya kadar bekler, her öğeyi kontrol eder ve kontrol edilen öğeleri grup içinde kart olarak yayınlar. Çalışmayan bir gözcü özeti yönetir ve sahibi de Şimdi çalıştır ile birlikte kaçırılan çalıştırma kartını alır.

Aynı --loop anahtarıyla bir kartı tekrar göndermek, onu yeni gruba taşır ve kaç kez görüldüğünü gösterir. --auto-send-on <YYYY-MM-DD> herhangi bir karta Durdur düğmesiyle bir geri sayım ekler.

Bir ajan laze schedule add'yı kendi anahtarıyla çalıştırdığında, zamanlama o ajanı hedefler ve ajanın sahibi tarafından oluşturulmuş sayılır. Sohbette tekrarlayan iş için istenen bir ajan, zamanlamayı bu şekilde oluşturabilir.

Ayrıca kontrol edin: CLI referansı, Barındırılan ajanlar.