CLI commands

Cron

openclaw cron

จัดการงาน Cron สำหรับตัวกำหนดเวลาของ Gateway

สร้างงานอย่างรวดเร็ว

openclaw cron create เป็นนามแฝงของ openclaw cron add สำหรับงานใหม่ ให้ใส่กำหนดเวลาก่อน แล้วตามด้วยพรอมต์:

bash
openclaw cron create "0 7 * * *" \  "สรุปการอัปเดตในช่วงข้ามคืน" \  --name "สรุปข่าวเช้า" \  --agent ops

ใช้ --webhook <url> เมื่อต้องการให้งานส่งเพย์โหลดที่เสร็จแล้วด้วย POST แทนการส่งไปยังเป้าหมายแชต:

bash
openclaw cron create "0 18 * * 1-5" \  "สรุปการดีพลอยของวันนี้เป็น JSON" \  --name "สรุปการดีพลอย" \  --webhook "https://example.invalid/openclaw/cron"

ใช้ --command สำหรับงานแบบเชลล์ที่ให้ผลลัพธ์แน่นอน ซึ่งทำงานภายใน Cron ของ OpenClaw โดยไม่เริ่มการเรียกใช้เอเจนต์/โมเดลแบบแยก:

bash
openclaw cron create "*/15 * * * *" \  --name "ตรวจสอบความลึกของคิว" \  --command "scripts/check-queue.sh" \  --command-cwd "/srv/app" \  --announce \  --channel telegram \  --to "-1001234567890"

--command <shell> จัดเก็บ argv: ["sh", "-lc", <shell>] ใช้ --command-argv '["node","scripts/report.mjs"]' สำหรับการดำเนินการ argv อย่างแม่นยำ งานคำสั่งจะบันทึก stdout/stderr เก็บประวัติ Cron ตามปกติ และกำหนดเส้นทางเอาต์พุตผ่านโหมดการส่งเดียวกับงานแบบแยก ได้แก่ announce, webhook หรือ none คำสั่งที่พิมพ์เฉพาะ NO_REPLY จะถูกระงับ

เซสชัน

--session รองรับ main, isolated, current หรือ session:<id>

คีย์เซสชัน
  • main ผูกกับเซสชันหลักของเอเจนต์
  • isolated สร้างทรานสคริปต์และรหัสเซสชันใหม่สำหรับการเรียกใช้แต่ละครั้ง
  • current ผูกกับเซสชันที่ใช้งานอยู่ในขณะที่สร้าง
  • session:<id> ตรึงกับคีย์เซสชันถาวรที่ระบุไว้อย่างชัดเจน
ความหมายของเซสชันแบบแยก

การเรียกใช้แบบแยกจะรีเซ็ตบริบทการสนทนาโดยรอบ การกำหนดเส้นทางช่องและกลุ่ม นโยบายการส่ง/การเข้าคิว การยกระดับ สิ่งที่มา และการผูกกับรันไทม์ ACP จะถูกรีเซ็ตสำหรับการเรียกใช้ใหม่ ค่ากำหนดที่ปลอดภัยและการแทนที่โมเดลหรือการตรวจสอบสิทธิ์ที่ผู้ใช้เลือกไว้อย่างชัดเจนสามารถส่งต่อระหว่างการเรียกใช้ได้

การส่ง

openclaw cron list และ openclaw cron show <job-id> แสดงตัวอย่างเส้นทางการส่งที่แก้ไขแล้ว สำหรับ channel: "last" ตัวอย่างจะแสดงว่าเส้นทางได้รับการแก้ไขจากเซสชันหลักหรือเซสชันปัจจุบัน หรือจะล้มเหลวแบบปิด

เป้าหมายที่มีคำนำหน้าผู้ให้บริการสามารถแยกความกำกวมของช่องประกาศที่ยังไม่ได้รับการแก้ไขได้ ตัวอย่างเช่น to: "telegram:123" จะเลือก Telegram เมื่อไม่ได้ระบุ delivery.channel หรือเป็น last เฉพาะคำนำหน้าที่ Plugin ที่โหลดอยู่ประกาศรองรับเท่านั้นที่เป็นตัวเลือกผู้ให้บริการ หากระบุ delivery.channel อย่างชัดเจน คำนำหน้าต้องตรงกับช่องนั้น ระบบจะปฏิเสธ channel: "whatsapp" ที่ใช้ร่วมกับ to: "telegram:123" คำนำหน้าบริการ เช่น imessage: และ sms: ยังคงเป็นไวยากรณ์เป้าหมายที่ช่องเป็นเจ้าของ

ความเป็นเจ้าของการส่ง

การส่งแชต Cron แบบแยกเป็นความรับผิดชอบร่วมกันระหว่างเอเจนต์และตัวเรียกใช้:

  • เอเจนต์สามารถส่งโดยตรงโดยใช้เครื่องมือ message เมื่อมีเส้นทางแชต
  • announce จะส่งคำตอบสุดท้ายแบบสำรองเฉพาะเมื่อเอเจนต์ไม่ได้ส่งโดยตรงไปยังเป้าหมายที่แก้ไขแล้ว
  • webhook ส่งเพย์โหลดที่เสร็จแล้วไปยัง URL
  • none ปิดใช้การส่งสำรองของตัวเรียกใช้

ใช้ cron add|create --webhook <url> หรือ cron edit <job-id> --webhook <url> เพื่อตั้งค่าการส่ง Webhook อย่าใช้ --webhook ร่วมกับแฟล็กการส่งแชต เช่น --announce, --no-deliver, --channel, --to, --thread-id หรือ --account

cron edit <job-id> สามารถยกเลิกการตั้งค่าฟิลด์การกำหนดเส้นทางการส่งแต่ละรายการได้ด้วย --clear-channel, --clear-to, --clear-thread-id และ --clear-account (แต่ละรายการจะถูกปฏิเสธเมื่อใช้ร่วมกับแฟล็กตั้งค่าที่ตรงกัน) ต่างจาก --no-deliver ซึ่งเพียงปิดใช้การส่งสำรองของตัวเรียกใช้ ตัวเลือกเหล่านี้จะลบฟิลด์ที่จัดเก็บไว้ เพื่อให้งานกลับมาแก้ไขส่วนนั้นของเส้นทางจากค่าเริ่มต้นอีกครั้ง

--announce คือการส่งคำตอบสุดท้ายแบบสำรองโดยตัวเรียกใช้ --no-deliver ปิดใช้การส่งสำรองนั้น แต่ไม่ลบเครื่องมือ message ของเอเจนต์เมื่อมีเส้นทางแชต

การแจ้งเตือนที่สร้างจากแชตซึ่งกำลังใช้งานจะรักษาเป้าหมายการส่งของแชตปัจจุบันไว้สำหรับการส่งประกาศสำรอง คีย์เซสชันภายในอาจเป็นตัวพิมพ์เล็ก อย่าใช้คีย์เหล่านี้เป็นแหล่งข้อมูลจริงสำหรับรหัสผู้ให้บริการที่แยกแยะตัวพิมพ์เล็กและใหญ่ เช่น รหัสห้อง Matrix

การส่งเมื่อเกิดความล้มเหลว

การแจ้งเตือนความล้มเหลวจะได้รับการแก้ไขตามลำดับนี้:

  1. delivery.failureDestination ในงาน
  2. cron.failureDestination ส่วนกลาง
  3. เป้าหมายประกาศหลักของงาน (เมื่อไม่มีรายการใดข้างต้นแก้ไขเป็นปลายทางที่ชัดเจน)

การเรียกใช้ Cron แบบแยกจะถือว่าความล้มเหลวระดับการเรียกใช้ของเอเจนต์เป็นข้อผิดพลาดของงาน แม้ว่าจะไม่มีการสร้างเพย์โหลดคำตอบ ดังนั้นความล้มเหลวของโมเดล/ผู้ให้บริการยังคงเพิ่มตัวนับข้อผิดพลาดและทริกเกอร์การแจ้งเตือนความล้มเหลว

งานคำสั่ง Cron จะไม่เริ่มเทิร์นของเอเจนต์แบบแยก รหัสออกเป็นศูนย์จะบันทึก ok ส่วนรหัสออกที่ไม่ใช่ศูนย์ สัญญาณ การหมดเวลา หรือการหมดเวลาเนื่องจากไม่มีเอาต์พุตจะบันทึก error และอาจทริกเกอร์เส้นทางการแจ้งเตือนความล้มเหลวเดียวกัน

หากการเรียกใช้แบบแยกหมดเวลาก่อนคำขอโมเดลครั้งแรก openclaw cron show และ openclaw cron runs จะรวมข้อผิดพลาดเฉพาะเฟส เช่น setup timed out before runner start หรือข้อความการหยุดชะงักที่ระบุเฟสเริ่มต้นล่าสุดที่ทราบ (เช่น context-engine) สำหรับผู้ให้บริการที่ใช้ CLI ตัวเฝ้าระวังก่อนเรียกโมเดลจะยังทำงานอยู่จนกว่าเทิร์นของ CLI ภายนอกจะเริ่มต้น ดังนั้นการหยุดชะงักของการค้นหาเซสชัน ฮุก การตรวจสอบสิทธิ์ พรอมต์ และการตั้งค่า CLI จะถูกรายงานเป็นความล้มเหลวของ Cron ก่อนเรียกโมเดล

การกำหนดเวลา

งานแบบครั้งเดียว

--at <datetime> กำหนดเวลาการเรียกใช้แบบครั้งเดียว วันและเวลาที่ไม่มีออฟเซ็ตจะถือว่าเป็น UTC เว้นแต่จะส่ง --tz <iana> มาด้วย ซึ่งจะตีความเวลาตามนาฬิกาในเขตเวลาที่กำหนด

งานที่เกิดซ้ำ

งานที่เกิดซ้ำใช้การหน่วงเวลาก่อนลองใหม่แบบทวีคูณหลังเกิดข้อผิดพลาดต่อเนื่อง: 30s, 1m, 5m, 15m, 60m กำหนดเวลาจะกลับสู่ปกติหลังการเรียกใช้ที่สำเร็จครั้งถัดไป

การเรียกใช้ที่ข้ามจะถูกติดตามแยกจากข้อผิดพลาดในการดำเนินการ โดยไม่ส่งผลต่อการหน่วงเวลาก่อนลองใหม่ แต่ openclaw cron edit <job-id> --failure-alert-include-skipped สามารถกำหนดให้การแจ้งเตือนความล้มเหลวรวมการแจ้งเตือนการข้ามการเรียกใช้ซ้ำได้

สำหรับงานแบบแยกที่กำหนดเป้าหมายเป็นผู้ให้บริการโมเดลภายในที่กำหนดค่าไว้ (URL ฐานบนลูปแบ็ก เครือข่ายส่วนตัว หรือ .local) Cron จะตรวจสอบผู้ให้บริการเบื้องต้นแบบเบาก่อนเริ่มเทิร์นของเอเจนต์: ผู้ให้บริการ api: "ollama" จะถูกตรวจสอบที่ /api/tags; ผู้ให้บริการภายในรายอื่นที่เข้ากันได้กับ OpenAI (api: "openai-completions" เช่น vLLM, SGLang, LM Studio) จะถูกตรวจสอบที่ /models หากเข้าถึงเอนด์พอยต์ไม่ได้ การเรียกใช้จะถูกบันทึกเป็น skipped และลองใหม่ตามกำหนดเวลาภายหลัง ผลการตรวจสอบการเข้าถึงจะถูกแคชแยกตามเอนด์พอยต์เป็นเวลา 5 นาที เพื่อไม่ให้งานจำนวนมากที่ใช้เซิร์ฟเวอร์ภายในเดียวกันกระหน่ำตรวจสอบซ้ำ

งาน Cron สถานะรันไทม์ที่รอดำเนินการ และประวัติการเรียกใช้จะอยู่ในฐานข้อมูลสถานะ SQLite ที่ใช้ร่วมกัน ไฟล์ jobs.json, <name>-state.json และ runs/*.jsonl แบบเดิมจะถูกนำเข้าหนึ่งครั้งและเปลี่ยนชื่อโดยเพิ่มส่วนต่อท้าย .migrated หลังจากนำเข้าแล้ว ให้แก้ไขกำหนดเวลาด้วย openclaw cron add|edit|remove แทนการแก้ไขไฟล์ JSON

การเรียกใช้ด้วยตนเอง

openclaw cron run <job-id> บังคับเรียกใช้โดยค่าเริ่มต้น และส่งคืนทันทีที่การเรียกใช้ด้วยตนเองถูกเพิ่มลงในคิว การตอบกลับที่สำเร็จจะมี { ok: true, enqueued: true, runId } ใช้ runId ที่ส่งคืนมาเพื่อตรวจสอบผลลัพธ์ในภายหลัง:

bash
openclaw cron run <job-id>openclaw cron runs --id <job-id> --run-id <run-id>

เพิ่ม --wait เมื่อสคริปต์ควรบล็อกจนกว่าการเรียกใช้ที่เข้าคิวนั้นจะบันทึกสถานะปลายทาง:

bash
openclaw cron run <job-id> --wait --wait-timeout 10m --poll-interval 2s

เมื่อใช้ --wait CLI จะยังเรียก cron.run ก่อน จากนั้นจึงสำรวจ cron.runs สำหรับ runId ที่ส่งคืนมา คำสั่งจะออกด้วย 0 เฉพาะเมื่อการเรียกใช้เสร็จสิ้นด้วยสถานะ ok คำสั่งจะออกด้วยค่าที่ไม่ใช่ศูนย์เมื่อการเรียกใช้เสร็จสิ้นด้วย error หรือ skipped เมื่อการตอบกลับของ Gateway ไม่มี runId หรือเมื่อ --wait-timeout หมดอายุ (ค่าเริ่มต้นคือ 10m และสำรวจทุก 2s โดยค่าเริ่มต้น) --poll-interval ต้องมากกว่าศูนย์

โมเดล

cron add|edit --model <ref> เลือกโมเดลที่อนุญาตสำหรับงาน cron add|edit --fallbacks <list> ตั้งค่าโมเดลสำรองแยกตามงาน เช่น --fallbacks openrouter/gpt-4.1-mini,openai/gpt-5; ส่ง --fallbacks "" สำหรับการเรียกใช้แบบเข้มงวดที่ไม่มีโมเดลสำรอง cron edit <job-id> --clear-fallbacks ลบการแทนที่โมเดลสำรองแยกตามงาน cron edit <job-id> --clear-model ลบการแทนที่โมเดลแยกตามงาน เพื่อให้งานเป็นไปตามลำดับความสำคัญในการเลือกโมเดล Cron ตามปกติ (การแทนที่ในเซสชัน Cron ที่จัดเก็บไว้ หากมี มิฉะนั้นใช้โมเดลของเอเจนต์/ค่าเริ่มต้น) และไม่สามารถใช้ร่วมกับ --model ได้ cron add|edit --thinking <level> ตั้งค่าการแทนที่ระดับการคิดแยกตามงาน ส่วน cron edit <job-id> --clear-thinking จะลบการแทนที่ดังกล่าวเพื่อให้งานเป็นไปตามลำดับความสำคัญของระดับการคิด Cron ตามปกติ และไม่สามารถใช้ร่วมกับ --thinking ได้

--model ของ Cron เป็น โมเดลหลักของงาน ไม่ใช่การแทนที่ /model ของเซสชันแชต ซึ่งหมายความว่า:

  • โมเดลสำรองที่กำหนดค่าไว้ยังคงใช้ได้เมื่อโมเดลที่เลือกสำหรับงานล้มเหลว
  • fallbacks ในเพย์โหลดแยกตามงานจะแทนที่รายการโมเดลสำรองที่กำหนดค่าไว้เมื่อมีการระบุ
  • รายการโมเดลสำรองแยกตามงานที่ว่างเปล่า (--fallbacks "" หรือ fallbacks: [] ในเพย์โหลด/API ของงาน) ทำให้การเรียกใช้ Cron เป็นแบบเข้มงวด
  • เมื่องานมี --model แต่ไม่ได้กำหนดค่ารายการโมเดลสำรอง OpenClaw จะส่งการแทนที่โมเดลสำรองแบบว่างอย่างชัดเจน เพื่อไม่ให้โมเดลหลักของเอเจนต์ถูกเพิ่มเป็นเป้าหมายลองใหม่โดยซ่อนอยู่
  • การตรวจสอบผู้ให้บริการภายในเบื้องต้นจะตรวจสอบโมเดลสำรองที่กำหนดค่าไว้ก่อนทำเครื่องหมายการเรียกใช้ Cron เป็น skipped

openclaw doctor รายงานงานที่ตั้งค่า payload.model ไว้แล้ว รวมถึงจำนวนตามเนมสเปซของผู้ให้บริการและความไม่ตรงกันกับ agents.defaults.model ใช้การตรวจสอบนี้เมื่อพฤติกรรมการตรวจสอบสิทธิ์ ผู้ให้บริการ หรือการเรียกเก็บเงินแตกต่างกันระหว่างแชตสดกับงานตามกำหนดเวลา

ลำดับความสำคัญของโมเดล Cron แบบแยก

Cron แบบแยกจะเลือกโมเดลที่ใช้งานอยู่ตามลำดับนี้:

  1. การแทนที่จากฮุก Gmail
  2. --model แยกตามงาน
  3. การแทนที่โมเดลในเซสชัน Cron ที่จัดเก็บไว้ (เมื่อผู้ใช้เลือกไว้)
  4. การเลือกโมเดลของเอเจนต์หรือโมเดลเริ่มต้น

โหมดเร็ว

โหมดเร็วของ Cron แบบแยกส่วนจะใช้การเลือกโมเดลแบบสดที่แก้ไขแล้ว การกำหนดค่าโมเดล params.fastMode จะมีผลตามค่าเริ่มต้น แต่การแทนที่จากเซสชันที่จัดเก็บไว้ fastMode ยังคงมีลำดับความสำคัญเหนือการกำหนดค่า เมื่อโหมดที่แก้ไขแล้วคือ auto เวลาตัดจะใช้ค่า params.fastAutoOnSeconds ของโมเดลที่เลือก โดยมีค่าเริ่มต้นเป็น 60 วินาที

การลองใหม่เมื่อสลับโมเดลแบบสด

หากการเรียกใช้แบบแยกส่วนส่งข้อผิดพลาด LiveSessionModelSwitchError Cron จะบันทึกผู้ให้บริการและโมเดลที่สลับแล้ว (รวมถึงการแทนที่โปรไฟล์การตรวจสอบสิทธิ์ที่สลับแล้ว หากมี) สำหรับการเรียกใช้ที่กำลังทำงานอยู่ก่อนลองใหม่ วงรอบการลองใหม่ภายนอกจำกัดไว้ที่การลองสลับสองครั้งหลังจากความพยายามครั้งแรก จากนั้นจะยกเลิกแทนที่จะวนซ้ำตลอดไป

เอาต์พุตการเรียกใช้และการปฏิเสธ

การระงับข้อความรับทราบที่ล้าสมัย

เทิร์น Cron แบบแยกส่วนจะระงับการตอบกลับที่ล้าสมัยซึ่งมีเพียงข้อความรับทราบ หากผลลัพธ์แรกเป็นเพียงการอัปเดตสถานะชั่วคราว และไม่มีการเรียกใช้เอเจนต์ย่อยที่สืบทอดรายการใดรับผิดชอบคำตอบสุดท้าย Cron จะพรอมต์ซ้ำหนึ่งครั้งเพื่อขอผลลัพธ์จริงก่อนส่งมอบ

การระงับโทเค็นเงียบ

หากการเรียกใช้ Cron แบบแยกส่วนส่งคืนเฉพาะโทเค็นเงียบ (NO_REPLY หรือ no_reply) Cron จะระงับทั้งการส่งออกโดยตรงและเส้นทางสำรองสำหรับสรุปที่เข้าคิวไว้ จึงไม่มีการโพสต์สิ่งใดกลับไปยังแชต

การปฏิเสธแบบมีโครงสร้าง

การเรียกใช้ Cron แบบแยกส่วนจะใช้เมทาดาทาการปฏิเสธการดำเนินการแบบมีโครงสร้างจากการเรียกใช้แบบฝัง (ข้อผิดพลาดร้ายแรงของเครื่องมือดำเนินการที่มีรหัส SYSTEM_RUN_DENIED หรือ INVALID_REQUEST) เป็นสัญญาณการปฏิเสธที่เชื่อถือได้ นอกจากนี้ยังรองรับแรปเปอร์ UNAVAILABLE ของโฮสต์ Node ที่ครอบข้อผิดพลาดแบบมีโครงสร้างซ้อนซึ่งมีรหัสใดรหัสหนึ่งดังกล่าว

Cron จะไม่จัดประเภทข้อความร้อยแก้วในเอาต์พุตสุดท้ายหรือวลีปฏิเสธที่ดูเหมือนต้องขออนุมัติว่าเป็นการปฏิเสธ เว้นแต่การเรียกใช้แบบฝังจะให้เมทาดาทาการปฏิเสธแบบมีโครงสร้างด้วย ดังนั้นข้อความธรรมดาจากผู้ช่วยจะไม่ถูกถือว่าเป็นคำสั่งที่ถูกบล็อก

cron list และประวัติการเรียกใช้จะแสดงเหตุผลของการปฏิเสธ แทนที่จะรายงานคำสั่งที่ถูกบล็อกเป็น ok

การเก็บรักษา

ลักษณะการเก็บรักษา:

  • cron.sessionRetention (ค่าเริ่มต้น 24h หรือ false เพื่อปิดใช้งาน) จะล้างเซสชันการเรียกใช้แบบแยกส่วนที่เสร็จสมบูรณ์แล้ว
  • ประวัติการเรียกใช้จะเก็บแถวสถานะสิ้นสุดล่าสุด 2000 แถวต่อหนึ่งงาน Cron แถวที่สูญหายจะยังคงใช้ช่วงเวลาล้างงานที่สูญหายมาตรฐาน 24 ชั่วโมง

การย้ายงานรุ่นเก่า

การแก้ไขทั่วไป

อัปเดตการตั้งค่าการส่งมอบโดยไม่เปลี่ยนข้อความ:

bash
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"

ปิดใช้งานการส่งมอบสำหรับงานแบบแยกส่วน:

bash
openclaw cron edit <job-id> --no-deliver

เปิดใช้งานบริบทเริ่มต้นแบบน้ำหนักเบาสำหรับงานแบบแยกส่วน:

bash
openclaw cron edit <job-id> --light-context

ประกาศไปยังช่องทางที่ระบุ:

bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"

ประกาศไปยังหัวข้อฟอรัม Telegram:

bash
openclaw cron edit <job-id> --announce --channel telegram --to "-1001234567890" --thread-id 42

สร้างงานแบบแยกส่วนพร้อมบริบทเริ่มต้นแบบน้ำหนักเบา:

bash
openclaw cron create "0 7 * * *" \  "สรุปการอัปเดตข้ามคืน" \  --name "สรุปช่วงเช้าแบบน้ำหนักเบา" \  --session isolated \  --light-context \  --no-deliver

--light-context ใช้กับงานเทิร์นของเอเจนต์แบบแยกส่วนเท่านั้น สำหรับการเรียกใช้ Cron โหมดน้ำหนักเบาจะปล่อยบริบทเริ่มต้นให้ว่าง แทนที่จะแทรกชุดข้อมูลเริ่มต้นทั้งหมดของพื้นที่ทำงาน

สร้างงานคำสั่งพร้อม argv, cwd, env, stdin และขีดจำกัดเอาต์พุตที่ระบุอย่างแน่นอน:

bash
openclaw cron create "*/30 * * * *" \  --name "การส่งออกตำแหน่ง" \  --command-argv '["node","scripts/export-position.mjs"]' \  --command-cwd "/srv/app" \  --command-env "NODE_ENV=production" \  --command-input '{"mode":"summary"}' \  --timeout-seconds 120 \  --no-output-timeout-seconds 30 \  --output-max-bytes 65536 \  --webhook "https://example.invalid/openclaw/cron"

คำสั่งดูแลระบบทั่วไป

การเรียกใช้ด้วยตนเองและการตรวจสอบ:

bash
openclaw cron listopenclaw cron list --agent opsopenclaw cron get <job-id>openclaw cron show <job-id>openclaw cron run <job-id>openclaw cron run <job-id> --dueopenclaw cron run <job-id> --wait --wait-timeout 10mopenclaw cron run <job-id> --wait --wait-timeout 10m --poll-interval 2sopenclaw cron runs --id <job-id> --limit 50openclaw cron runs --id <job-id> --run-id <run-id>

openclaw cron list จะแสดงงานที่ตรงกันทั้งหมดตามค่าเริ่มต้น ส่ง --agent <id> เพื่อแสดงเฉพาะงานที่รหัสเอเจนต์ที่ปรับให้เป็นมาตรฐานและมีผลตรงกัน งานที่ไม่มีรหัสเอเจนต์ที่จัดเก็บไว้จะนับว่าใช้เอเจนต์เริ่มต้นที่กำหนดค่าไว้

openclaw cron get <job-id> ส่งคืน JSON ของงานที่จัดเก็บไว้โดยตรง ใช้ cron show <job-id> เมื่อต้องการมุมมองที่มนุษย์อ่านได้พร้อมตัวอย่างเส้นทางการส่งมอบ

cron list --json และ cron show <job-id> --json มีฟิลด์ระดับบนสุด status ในแต่ละงาน ซึ่งคำนวณจาก enabled, state.runningAtMs และ state.lastRunStatus ค่าได้แก่ disabled, running, ok, error, skipped หรือ idle สถานะ JSON จะคงรูปแบบมาตรฐานและไม่มีการตกแต่ง เพื่อให้เครื่องมือภายนอกอ่านสถานะงานได้โดยไม่ต้องคำนวณซ้ำ ส่วนเอาต์พุตสำหรับมนุษย์อาจตกแต่งสถานะ error ที่เกิดซ้ำด้วยจำนวนความล้มเหลว

รายการ cron runs มีข้อมูลวินิจฉัยการส่งมอบ ซึ่งประกอบด้วยเป้าหมาย Cron ที่ตั้งใจไว้ เป้าหมายที่แก้ไขแล้ว การส่งผ่านเครื่องมือข้อความ การใช้เส้นทางสำรอง และสถานะการส่งมอบ

การเปลี่ยนเป้าหมายเอเจนต์และเซสชัน:

bash
openclaw cron edit <job-id> --agent opsopenclaw cron edit <job-id> --clear-agentopenclaw cron edit <job-id> --session currentopenclaw cron edit <job-id> --session "session:daily-brief"

openclaw cron add จะเตือนเมื่อไม่ได้ระบุ --agent ในงานเทิร์นของเอเจนต์ และจะย้อนกลับไปใช้เอเจนต์เริ่มต้น (main) ส่ง --agent <id> ในเวลาสร้างเพื่อตรึงเอเจนต์ที่ระบุ

การปรับแต่งการส่งมอบ:

bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"openclaw cron edit <job-id> --webhook "https://example.invalid/openclaw/cron"openclaw cron edit <job-id> --best-effort-deliveropenclaw cron edit <job-id> --no-best-effort-deliveropenclaw cron edit <job-id> --no-deliver

ที่เกี่ยวข้อง

Was this useful?
On this page

On this page