Gateway
Heartbeat
Heartbeat, modelin sizi rahatsız etmeden dikkat gerektiren her şeyi öne çıkarabilmesi için ana oturumda periyodik ajan dönüşleri çalıştırır.
Heartbeat, zamanlanmış bir ana oturum dönüşüdür; arka plan görevi kayıtları oluşturmaz. Görev kayıtları ayrık işler içindir (ACP çalıştırmaları, alt ajanlar, izole cron işleri).
Sorun giderme: Zamanlanmış Görevler
Hızlı başlangıç (başlangıç düzeyi)
Bir tempo seçin
Heartbeat'leri etkin bırakın (varsayılan 30m veya Claude CLI yeniden kullanımı dahil Anthropic OAuth/token kimlik doğrulaması için 1h) ya da kendi temponuzu ayarlayın.
HEARTBEAT.md ekleyin (isteğe bağlı)
Ajan çalışma alanında küçük bir HEARTBEAT.md kontrol listesi veya tasks: bloğu oluşturun.
Heartbeat mesajlarının nereye gitmesi gerektiğine karar verin
target: "none" varsayılandır; son kişiye yönlendirmek için target: "last" ayarlayın.
İsteğe bağlı ince ayar
- Şeffaflık için Heartbeat akıl yürütme teslimini etkinleştirin.
- Heartbeat çalıştırmalarının yalnızca
HEARTBEAT.mdgerektirdiği durumlarda hafif bootstrap bağlamı kullanın. - Her Heartbeat'te tam konuşma geçmişini göndermekten kaçınmak için izole oturumları etkinleştirin.
- Heartbeat'leri aktif saatlerle sınırlayın (yerel saat).
Örnek yapılandırma:
{ agents: { defaults: { heartbeat: { every: "30m", target: "last", // explicit delivery to last contact (default is "none") directPolicy: "allow", // default: allow direct/DM targets; set "block" to suppress lightContext: true, // optional: only inject HEARTBEAT.md from bootstrap files isolatedSession: true, // optional: fresh session each run (no conversation history) skipWhenBusy: true, // optional: also defer when this agent's subagent or nested lanes are busy // activeHours: { start: "08:00", end: "24:00" }, // includeReasoning: true, // optional: send separate `Reasoning:` message too }, }, },}Varsayılanlar
- Aralık:
30m(Claude CLI yeniden kullanımı dahil, algılanan kimlik doğrulama modu Anthropic OAuth/token kimlik doğrulaması olduğunda1h).agents.defaults.heartbeat.everyveya ajan başınaagents.list[].heartbeat.everyayarlayın; devre dışı bırakmak için0mkullanın. - İstem gövdesi (
agents.defaults.heartbeat.promptile yapılandırılabilir):Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. - Heartbeat istemi kullanıcı mesajı olarak aynen gönderilir. Sistem istemi, yalnızca varsayılan ajan için Heartbeat'ler etkinleştirildiğinde bir "Heartbeat" bölümü içerir ve çalıştırma dahili olarak işaretlenir.
- Heartbeat'ler
0mile devre dışı bırakıldığında, normal çalıştırmalar daHEARTBEAT.mddosyasını bootstrap bağlamından çıkarır; böylece model yalnızca Heartbeat'e özel talimatları görmez. - Aktif saatler (
heartbeat.activeHours) yapılandırılan saat diliminde denetlenir. Pencerenin dışında Heartbeat'ler, pencere içindeki bir sonraki tick'e kadar atlanır. - Cron işi aktif veya kuyruktayken Heartbeat'ler otomatik olarak ertelenir. Bir ajanı kendi oturum anahtarlı alt ajan veya iç içe komut şeritlerinde de ertelemek için
heartbeat.skipWhenBusy: trueayarlayın; kardeş ajanlar artık yalnızca başka bir ajanın alt ajan işi devam ediyor diye duraklatılmaz.
Heartbeat istemi ne içindir?
Varsayılan istem kasıtlı olarak geniştir:
- Arka plan görevleri: "Consider outstanding tasks", ajanı takipleri (gelen kutusu, takvim, hatırlatıcılar, kuyruktaki işler) gözden geçirmeye ve acil olan her şeyi öne çıkarmaya yönlendirir.
- İnsan kontrolü: "Checkup sometimes on your human during day time", ara sıra hafif bir "bir şeye ihtiyacın var mı?" mesajına yönlendirir, ancak yapılandırılmış yerel saat diliminizi kullanarak gece spam'inden kaçınır (bkz. Saat Dilimi).
Heartbeat tamamlanan arka plan görevlerine tepki verebilir, ancak Heartbeat çalıştırmasının kendisi görev kaydı oluşturmaz.
Bir Heartbeat'in çok belirli bir şey yapmasını istiyorsanız (ör. "Gmail PubSub istatistiklerini kontrol et" veya "gateway sağlığını doğrula"), agents.defaults.heartbeat.prompt (veya agents.list[].heartbeat.prompt) değerini özel bir gövdeye ayarlayın (aynen gönderilir).
Yanıt sözleşmesi
- Dikkat gerektiren bir şey yoksa
HEARTBEAT_OKile yanıt verin. - Araç kullanabilen Heartbeat çalıştırmaları bunun yerine görünür güncelleme olmaması için
notify: falseile veya bir uyarı içinnotify: trueartınotificationTextileheartbeat_respondçağırabilir. Varsa yapılandırılmış araç yanıtı, metin yedeğine göre önceliklidir. - Heartbeat çalıştırmaları sırasında OpenClaw, yanıtın başında veya sonunda göründüğünde
HEARTBEAT_OKdeğerini onay olarak kabul eder. Token çıkarılır ve kalan içerik ≤ackMaxCharsise yanıt düşürülür (varsayılan: 300). HEARTBEAT_OKbir yanıtın ortasında görünürse özel olarak ele alınmaz.- Uyarılar için
HEARTBEAT_OKeklemeyin; yalnızca uyarı metnini döndürün.
Heartbeat'lerin dışında, bir mesajın başında/sonunda bulunan beklenmeyen HEARTBEAT_OK çıkarılır ve günlüğe kaydedilir; yalnızca HEARTBEAT_OK olan bir mesaj düşürülür.
Yapılandırma
{ agents: { defaults: { heartbeat: { every: "30m", // default: 30m (0m disables) model: "anthropic/claude-opus-4-6", includeReasoning: false, // default: false (deliver separate Reasoning: message when available) lightContext: false, // default: false; true keeps only HEARTBEAT.md from workspace bootstrap files isolatedSession: false, // default: false; true runs each heartbeat in a fresh session (no conversation history) skipWhenBusy: false, // default: false; true also waits for this agent's subagent/nested lanes target: "last", // default: none | options: last | none | <channel id> (core or plugin, e.g. "imessage") to: "+15551234567", // optional channel-specific override accountId: "ops-bot", // optional multi-account channel id prompt: "Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.", ackMaxChars: 300, // max chars allowed after HEARTBEAT_OK }, }, },}Kapsam ve öncelik
agents.defaults.heartbeatgenel Heartbeat davranışını ayarlar.agents.list[].heartbeatbunun üzerine birleştirilir; herhangi bir ajandaheartbeatbloğu varsa yalnızca bu ajanlar Heartbeat çalıştırır.channels.defaults.heartbeattüm kanallar için görünürlük varsayılanlarını ayarlar.channels.<channel>.heartbeatkanal varsayılanlarını geçersiz kılar.channels.<channel>.accounts.<id>.heartbeat(çok hesaplı kanallar) kanal başına ayarları geçersiz kılar.
Ajan başına Heartbeat'ler
Herhangi bir agents.list[] girdisi heartbeat bloğu içeriyorsa yalnızca bu ajanlar Heartbeat çalıştırır. Ajan başına blok, agents.defaults.heartbeat üzerine birleştirilir (böylece paylaşılan varsayılanları bir kez ayarlayıp ajan başına geçersiz kılabilirsiniz).
Örnek: iki ajan, yalnızca ikinci ajan Heartbeat çalıştırır.
{ agents: { defaults: { heartbeat: { every: "30m", target: "last", // explicit delivery to last contact (default is "none") }, }, list: [ { id: "main", default: true }, { id: "ops", heartbeat: { every: "1h", target: "whatsapp", to: "+15551234567", timeoutSeconds: 45, prompt: "Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.", }, }, ], },}Aktif saatler örneği
Heartbeat'leri belirli bir saat dilimindeki mesai saatleriyle sınırlayın:
{ agents: { defaults: { heartbeat: { every: "30m", target: "last", // explicit delivery to last contact (default is "none") activeHours: { start: "09:00", end: "22:00", timezone: "America/New_York", // optional; uses your userTimezone if set, otherwise host tz }, }, }, },}Bu pencerenin dışında (Eastern saatine göre sabah 9'dan önce veya akşam 10'dan sonra) Heartbeat'ler atlanır. Pencere içindeki bir sonraki zamanlanmış tick normal şekilde çalışır.
7/24 kurulum
Heartbeat'lerin tüm gün çalışmasını istiyorsanız şu kalıplardan birini kullanın:
activeHoursdeğerini tamamen atlayın (zaman penceresi kısıtlaması yoktur; varsayılan davranış budur).- Tam gün penceresi ayarlayın:
activeHours: { start: "00:00", end: "24:00" }.
Çok hesaplı örnek
Telegram gibi çok hesaplı kanallarda belirli bir hesabı hedeflemek için accountId kullanın:
{ agents: { list: [ { id: "ops", heartbeat: { every: "1h", target: "telegram", to: "12345678:topic:42", // optional: route to a specific topic/thread accountId: "ops-bot", }, }, ], }, channels: { telegram: { accounts: { "ops-bot": { botToken: "YOUR_TELEGRAM_BOT_TOKEN" }, }, }, },}Alan notları
everystringHeartbeat aralığı (süre dizesi; varsayılan birim = dakika).
modelstringHeartbeat çalıştırmaları için isteğe bağlı model geçersiz kılması (provider/model).
includeReasoningbooleandefault: falseEtkinleştirildiğinde, varsa ayrı Reasoning: mesajını da teslim eder (/reasoning on ile aynı biçim).
lightContextbooleandefault: falseTrue olduğunda Heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve çalışma alanı bootstrap dosyalarından yalnızca HEARTBEAT.md dosyasını tutar.
isolatedSessionbooleandefault: falseTrue olduğunda her Heartbeat, önceki konuşma geçmişi olmadan yeni bir oturumda çalışır. Cron sessionTarget: "isolated" ile aynı izolasyon kalıbını kullanır. Heartbeat başına token maliyetini önemli ölçüde azaltır. En yüksek tasarruf için lightContext: true ile birleştirin. Teslimat yönlendirmesi yine de ana oturum bağlamını kullanır.
skipWhenBusybooleandefault: falseTrue olduğunda Heartbeat çalıştırmaları, o ajanın ek meşgul şeritlerinde ertelenir: kendi oturum anahtarlı alt ajanı veya iç içe komut işi. Cron şeritleri bu bayrak olmadan bile Heartbeat'leri her zaman erteler; böylece yerel model barındırıcıları cron ve Heartbeat istemlerini aynı anda çalıştırmaz.
sessionstringHeartbeat çalıştırmaları için isteğe bağlı oturum anahtarı.
main(varsayılan): ajan ana oturumu.- Açık oturum anahtarı (
openclaw sessions --jsonveya oturumlar CLI üzerinden kopyalayın). - Oturum anahtarı biçimleri: bkz. Oturumlar ve Gruplar.
targetstringlast: son kullanılan harici kanala teslim et.- açık kanal: yapılandırılmış herhangi bir kanal veya plugin kimliği; örneğin
discord,matrix,telegramveyawhatsapp. none(varsayılan): Heartbeat'i çalıştır ama harici olarak teslim etme.
directPolicy"allow" | "block"default: allowDoğrudan/DM teslim davranışını kontrol eder. allow: doğrudan/DM Heartbeat teslimine izin ver. block: doğrudan/DM teslimini bastır (reason=dm-blocked).
tostringİsteğe bağlı alıcı geçersiz kılması (kanala özgü kimlik, ör. WhatsApp için E.164 veya Telegram sohbet kimliği). Telegram konuları/iş parçacıkları için <chatId>:topic:<messageThreadId> kullanın.
accountIdstringÇok hesaplı kanallar için isteğe bağlı hesap kimliği. target: "last" olduğunda hesap kimliği, hesapları destekliyorsa çözümlenen son kanala uygulanır; aksi takdirde yok sayılır. Hesap kimliği çözümlenen kanal için yapılandırılmış bir hesapla eşleşmezse teslimat atlanır.
promptstringVarsayılan istem gövdesini geçersiz kılar (birleştirilmez).
ackMaxCharsnumberdefault: 300Teslimattan önce HEARTBEAT_OK sonrasında izin verilen en fazla karakter sayısı.
suppressToolErrorWarningsbooleantrue olduğunda, heartbeat çalışmaları sırasında araç hatası uyarı yüklerini bastırır.
activeHoursobjectHeartbeat çalışmalarını bir zaman aralığıyla sınırlar. start (HH:MM, dahil; gün başlangıcı için 00:00 kullanın), end (HH:MM hariç; gün sonu için 24:00 kullanılabilir) ve isteğe bağlı timezone içeren nesne.
- Atlanırsa veya
"user"ise: ayarlanmışsaagents.defaults.userTimezonedeğerinizi kullanır, aksi halde ana makine sistem saat dilimine geri döner. "local": her zaman ana makine sistem saat dilimini kullanır.- Herhangi bir IANA tanımlayıcısı (örn.
America/New_York): doğrudan kullanılır; geçersizse yukarıdaki"user"davranışına geri döner. - Etkin bir pencere için
startveendeşit olmamalıdır; eşit değerler sıfır genişlikte kabul edilir (her zaman pencerenin dışında). - Etkin pencerenin dışında, heartbeat'ler pencere içindeki bir sonraki tik zamanına kadar atlanır.
Teslimat davranışı
Oturum ve hedef yönlendirme
- Heartbeat'ler varsayılan olarak agent'ın ana oturumunda çalışır (
agent:<id>:<mainKey>) veyasession.scope = "global"olduğundaglobaliçinde çalışır. Belirli bir kanal oturumuna (Discord/WhatsApp/vb.) geçersiz kılmak içinsessionayarlayın. sessionyalnızca çalışma bağlamını etkiler; teslimattargetvetotarafından denetlenir.- Belirli bir kanala/alıcıya teslim etmek için
target+toayarlayın.target: "last"ile teslimat, o oturum için son harici kanalı kullanır. - Heartbeat teslimatları varsayılan olarak doğrudan/DM hedeflerine izin verir. Heartbeat turunu yine çalıştırırken doğrudan hedefe gönderimleri bastırmak için
directPolicy: "block"ayarlayın. - Ana kuyruk, hedef oturum yolu, cron yolu veya etkin bir cron işi meşgulse heartbeat atlanır ve daha sonra yeniden denenir.
skipWhenBusy: trueise bu agent'ın oturum anahtarlı alt agent'ı ve iç içe yolları da heartbeat çalışmalarını erteler. Diğer agent'ların meşgul yolları bu agent'ı ertelemez.targetharici bir hedefe çözümlenmezse çalışma yine gerçekleşir ancak giden mesaj gönderilmez.
Görünürlük ve atlama davranışı
showOk,showAlertsveuseIndicatorseçeneklerinin tümü devre dışıysa çalışma baştanreason=alerts-disabledolarak atlanır.- Yalnızca uyarı teslimatı devre dışıysa OpenClaw heartbeat'i yine çalıştırabilir, zamanı gelmiş görev zaman damgalarını güncelleyebilir, oturum boşta zaman damgasını geri yükleyebilir ve dışa dönük uyarı yükünü bastırabilir.
- Çözümlenen heartbeat hedefi yazıyor göstergesini destekliyorsa OpenClaw, heartbeat çalışması etkinken yazıyor göstergesini gösterir. Bu, heartbeat'in sohbet çıktısı göndereceği aynı hedefi kullanır ve
typingMode: "never"ile devre dışı bırakılır.
Oturum yaşam döngüsü ve denetim
- Yalnızca heartbeat yanıtları oturumu canlı tutmaz. Heartbeat metadata'sı oturum satırını güncelleyebilir, ancak boşta sona erme son gerçek kullanıcı/kanal mesajındaki
lastInteractionAtdeğerini, günlük sona erme isesessionStartedAtdeğerini kullanır. - Denetim kullanıcı arayüzü ve WebChat geçmişi heartbeat istemlerini ve yalnızca OK onaylarını gizler. Alttaki oturum transkripti denetim/yeniden oynatma için bu turları yine de içerebilir.
- Ayrılmış arka plan görevleri, ana oturumun bir şeyi hızlıca fark etmesi gerektiğinde bir sistem olayı kuyruğa alabilir ve heartbeat'i uyandırabilir. Bu uyandırma, heartbeat çalışmasını bir arka plan görevi yapmaz.
Görünürlük denetimleri
Varsayılan olarak, uyarı içeriği teslim edilirken HEARTBEAT_OK onayları bastırılır. Bunu kanal başına veya hesap başına ayarlayabilirsiniz:
channels: defaults: heartbeat: showOk: false # HEARTBEAT_OK öğesini gizle (varsayılan) showAlerts: true # Uyarı mesajlarını göster (varsayılan) useIndicator: true # Gösterge olaylarını yay (varsayılan) telegram: heartbeat: showOk: true # Telegram'da OK onaylarını göster whatsapp: accounts: work: heartbeat: showAlerts: false # Bu hesap için uyarı teslimatını bastırÖncelik sırası: hesap başına → kanal başına → kanal varsayılanları → yerleşik varsayılanlar.
Her bayrak ne yapar
showOk: model yalnızca OK yanıtı döndürdüğünde birHEARTBEAT_OKonayı gönderir.showAlerts: model OK olmayan bir yanıt döndürdüğünde uyarı içeriğini gönderir.useIndicator: kullanıcı arayüzü durum yüzeyleri için gösterge olayları yayar.
Üçü de false ise OpenClaw heartbeat çalışmasını tamamen atlar (model çağrısı yok).
Kanal başına ve hesap başına örnekler
channels: defaults: heartbeat: showOk: false showAlerts: true useIndicator: true slack: heartbeat: showOk: true # tüm Slack hesapları accounts: ops: heartbeat: showAlerts: false # yalnızca ops hesabı için uyarıları bastır telegram: heartbeat: showOk: trueYaygın kalıplar
| Amaç | Yapılandırma |
|---|---|
| Varsayılan davranış (sessiz OK'ler, uyarılar açık) | (yapılandırma gerekmez) |
| Tamamen sessiz (mesaj yok, gösterge yok) | channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: false } |
| Yalnızca gösterge (mesaj yok) | channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: true } |
| OK'ler yalnızca tek bir kanalda | channels.telegram.heartbeat: { showOk: true } |
HEARTBEAT.md (isteğe bağlı)
Çalışma alanında bir HEARTBEAT.md dosyası varsa varsayılan istem agent'a bunu okumasını söyler. Bunu "heartbeat kontrol listeniz" olarak düşünün: küçük, kararlı ve her 30 dakikada bir dahil edilmesi güvenli.
Normal çalışmalarda HEARTBEAT.md yalnızca varsayılan agent için heartbeat rehberliği etkinleştirildiğinde enjekte edilir. Heartbeat ritmini 0m ile devre dışı bırakmak veya includeSystemPromptSection: false ayarlamak, bunu normal başlangıç bağlamından çıkarır.
HEARTBEAT.md varsa ancak fiilen boşsa (yalnızca boş satırlar ve # Heading gibi markdown başlıkları), OpenClaw API çağrılarını azaltmak için heartbeat çalışmasını atlar. Bu atlama reason=empty-heartbeat-file olarak raporlanır. Dosya yoksa heartbeat yine çalışır ve model ne yapılacağına karar verir.
İstem şişmesini önlemek için küçük tutun (kısa kontrol listesi veya hatırlatmalar).
Örnek HEARTBEAT.md:
# Heartbeat checklist - Quick scan: anything urgent in inboxes?- If it's daytime, do a lightweight check-in if nothing else is pending.- If a task is blocked, write down _what is missing_ and ask Peter next time.tasks: blokları
HEARTBEAT.md, heartbeat'in içinde aralık tabanlı kontroller için küçük bir yapılandırılmış tasks: bloğunu da destekler.
Örnek:
tasks: - name: inbox-triage interval: 30m prompt: "Check for urgent unread emails and flag anything time sensitive."- name: calendar-scan interval: 2h prompt: "Check for upcoming meetings that need prep or follow-up." # Additional instructions - Keep alerts short.- If nothing needs attention after all due tasks, reply HEARTBEAT_OK.Davranış
- OpenClaw
tasks:bloğunu ayrıştırır ve her görevi kendiintervaldeğerine göre denetler. - O tik için heartbeat istemine yalnızca zamanı gelmiş görevler dahil edilir.
- Zamanı gelen görev yoksa boşa model çağrısını önlemek için heartbeat tamamen atlanır (
reason=no-tasks-due). HEARTBEAT.mdiçindeki görev dışı içerik korunur ve zamanı gelmiş görev listesinden sonra ek bağlam olarak eklenir.- Görev son çalışma zaman damgaları oturum durumunda (
heartbeatTaskState) saklanır, böylece aralıklar normal yeniden başlatmalardan sonra da korunur. - Görev zaman damgaları yalnızca bir heartbeat çalışması normal yanıt yolunu tamamladıktan sonra ilerletilir. Atlanan
empty-heartbeat-file/no-tasks-dueçalışmaları görevleri tamamlandı olarak işaretlemez.
Görev modu, tek bir heartbeat dosyasında birkaç dönemsel kontrol tutmak ancak her tikte hepsi için ödeme yapmak istemediğinizde kullanışlıdır.
Agent HEARTBEAT.md dosyasını güncelleyebilir mi?
Evet — siz isterseniz.
HEARTBEAT.md, agent çalışma alanındaki normal bir dosyadır; bu yüzden agent'a (normal bir sohbette) şöyle bir şey söyleyebilirsiniz:
- "Günlük takvim kontrolü eklemek için
HEARTBEAT.mddosyasını güncelle." - "
HEARTBEAT.mddosyasını daha kısa ve gelen kutusu takiplerine odaklı olacak şekilde yeniden yaz."
Bunun proaktif olarak gerçekleşmesini istiyorsanız heartbeat isteminize açık bir satır da ekleyebilirsiniz: "Kontrol listesi güncelliğini yitirirse HEARTBEAT.md dosyasını daha iyisiyle güncelle."
Elle uyandırma (isteğe bağlı)
Şununla bir sistem olayını kuyruğa alabilir ve anında heartbeat tetikleyebilirsiniz:
openclaw system event --text "Check for urgent follow-ups" --mode nowBirden fazla agent için heartbeat yapılandırılmışsa elle uyandırma, bu agent heartbeat'lerinin her birini hemen çalıştırır.
Bir sonraki zamanlanmış tiki beklemek için --mode next-heartbeat kullanın.
Akıl yürütme teslimatı (isteğe bağlı)
Varsayılan olarak heartbeat'ler yalnızca son "answer" yükünü teslim eder.
Şeffaflık istiyorsanız şunu etkinleştirin:
agents.defaults.heartbeat.includeReasoning: true
Etkinleştirildiğinde heartbeat'ler ayrıca Reasoning: ön ekli ayrı bir mesaj da teslim eder (/reasoning on ile aynı biçimde). Bu, agent birden fazla oturumu/codex'i yönetirken ve size neden ping atmaya karar verdiğini görmek istediğinizde kullanışlı olabilir; ancak istediğinizden daha fazla iç ayrıntıyı da sızdırabilir. Grup sohbetlerinde kapalı tutmayı tercih edin.
Maliyet farkındalığı
Heartbeat'ler tam agent turları çalıştırır. Daha kısa aralıklar daha fazla token tüketir. Maliyeti azaltmak için:
- Tam konuşma geçmişini göndermemek için
isolatedSession: truekullanın (~100K token'dan çalışma başına ~2-5K'ya düşer). - Başlangıç dosyalarını yalnızca
HEARTBEAT.mdile sınırlamak içinlightContext: truekullanın. - Daha ucuz bir
modelayarlayın (örn.ollama/llama3.2:1b). HEARTBEAT.mddosyasını küçük tutun.- Yalnızca dahili durum güncellemeleri istiyorsanız
target: "none"kullanın.
Heartbeat sonrası bağlam taşması
Bir heartbeat daha önce mevcut bir oturumu daha küçük bir yerel modelde bırakmışsa, örneğin 32k pencereli bir Ollama modeli, ve sonraki ana oturum turu bağlam taşması bildirirse oturum çalışma zamanı modelini yapılandırılmış birincil modele geri sıfırlayın. OpenClaw'ın sıfırlama mesajı, son çalışma zamanı modeli yapılandırılmış heartbeat.model ile eşleştiğinde bunu belirtir.
Güncel heartbeat'ler, çalışma tamamlandıktan sonra paylaşılan oturumun mevcut çalışma zamanı modelini korur. Heartbeat'leri yeni bir oturumda çalıştırmak için yine isolatedSession: true kullanabilir, en küçük istem için bunu lightContext: true ile birleştirebilir veya paylaşılan oturum için yeterince büyük bağlam penceresine sahip bir heartbeat modeli seçebilirsiniz.
İlgili
- Otomasyon — tüm otomasyon mekanizmalarına genel bakış
- Arka Plan Görevleri — ayrılmış işlerin nasıl izlendiği
- Saat Dilimi — saat diliminin heartbeat zamanlamasını nasıl etkilediği
- Sorun Giderme — otomasyon sorunlarını ayıklama