CLI commands

Cron

openclaw cron

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

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

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

bash
openclaw cron create "0 7 * * *" \  "Summarize overnight updates." \  --name "Morning brief" \  --agent ops

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

bash
openclaw cron create "0 18 * * 1-5" \  "Summarize today's deploys as JSON." \  --name "Deploy digest" \  --webhook "https://example.invalid/openclaw/cron"

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

bash
openclaw cron create "*/15 * * * *" \  --name "Queue depth probe" \  --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 loopback, เครือข่ายส่วนตัว หรือ .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 เพื่อปิดใช้งาน) จะตัดทอนเซสชันการรันแบบแยกเดี่ยวที่เสร็จสมบูรณ์แล้ว
  • cron.runLog.keepLines (ค่าเริ่มต้น 2000) จะตัดทอนแถวประวัติการรันใน SQLite ที่เก็บไว้สำหรับแต่ละงาน cron.runLog.maxBytes (ค่าเริ่มต้น 2000000) ยังคงรองรับเพื่อความเข้ากันได้กับบันทึกการรันแบบไฟล์รุ่นเก่า โดยการตัดทอนใน SQLite จะอิงตามจำนวนแถว

การย้ายข้อมูลงานรุ่นเก่า

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

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

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 * * *" \  "Summarize overnight updates." \  --name "Lightweight morning brief" \  --session isolated \  --light-context \  --no-deliver

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

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

bash
openclaw cron create "*/30 * * * *" \  --name "Position export" \  --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