OpenClaw มอบเครื่องมือให้เอเจนต์เพื่อทำงานข้ามเซสชัน ตรวจสอบสถานะ และ ประสานงานเอเจนต์ย่อยDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
เครื่องมือที่มีให้ใช้งาน
| เครื่องมือ | สิ่งที่ทำ |
|---|---|
sessions_list | แสดงรายการเซสชันพร้อมตัวกรองเสริม (ชนิด, ป้ายกำกับ, เอเจนต์, ความใหม่, ตัวอย่าง) |
sessions_history | อ่านทรานสคริปต์ของเซสชันที่ระบุ |
sessions_send | ส่งข้อความไปยังเซสชันอื่นและเลือกได้ว่าจะรอหรือไม่ |
sessions_spawn | สร้างเซสชันเอเจนต์ย่อยแบบแยกสำหรับงานเบื้องหลัง |
sessions_yield | จบเทิร์นปัจจุบันและรอผลลัพธ์ติดตามจากเอเจนต์ย่อย |
subagents | แสดงรายการ ควบคุมทิศทาง หรือหยุดเอเจนต์ย่อยที่สร้างไว้สำหรับเซสชันนี้ |
session_status | แสดงการ์ดแบบ /status และเลือกตั้งค่าการแทนที่โมเดลรายเซสชันได้ |
tools.profile: "coding" รวมชุดประสานงานเซสชันครบถ้วน
รวมถึง sessions_spawn, sessions_yield และ subagents
tools.profile: "messaging" รวมเครื่องมือส่งข้อความข้ามเซสชัน
(sessions_list, sessions_history, sessions_send, session_status) แต่
ไม่รวมการสร้างเอเจนต์ย่อย หากต้องการคงโปรไฟล์การส่งข้อความไว้และยังคง
อนุญาตการมอบหมายงานแบบเนทีฟ ให้เพิ่ม:
/tools จากเซสชันที่ได้รับผลกระทบเพื่อตรวจสอบ
รายการเครื่องมือที่มีผลจริง
การแสดงรายการและอ่านเซสชัน
sessions_list ส่งคืนเซสชันพร้อม key, agentId, ชนิด, ช่องทาง, โมเดล,
จำนวนโทเคน และเวลา กรองตามชนิด (main, group, cron, hook,
node), label แบบตรงตัว, agentId แบบตรงตัว, ข้อความค้นหา หรือความใหม่
(activeMinutes) ได้ เมื่อคุณต้องคัดแยกแบบกล่องจดหมาย เครื่องมือนี้ยังสามารถขอ
ชื่อที่ได้มาซึ่งจำกัดตามขอบเขตการมองเห็น ตัวอย่างข้อความล่าสุด หรือข้อความล่าสุดแบบจำกัดจำนวน
ในแต่ละแถวได้ ชื่อที่ได้มาและตัวอย่างจะถูกสร้างเฉพาะสำหรับ
เซสชันที่ผู้เรียกมองเห็นได้อยู่แล้วภายใต้นโยบายการมองเห็นเครื่องมือเซสชันที่กำหนดค่าไว้
ดังนั้นเซสชันที่ไม่เกี่ยวข้องจะยังคงถูกซ่อน
sessions_history ดึงทรานสคริปต์การสนทนาสำหรับเซสชันที่ระบุ
โดยค่าเริ่มต้น ผลลัพธ์ของเครื่องมือจะถูกแยกออก ให้ส่ง includeTools: true เพื่อดูผลลัพธ์เหล่านั้น
มุมมองที่ส่งคืนถูกจำกัดขอบเขตและกรองเพื่อความปลอดภัยโดยเจตนา:
- ข้อความของ assistant ถูกทำให้เป็นมาตรฐานก่อนเรียกคืน:
- แท็กการคิดถูกลบออก
- บล็อกโครง scaffolding ของ
<relevant-memories>/<relevant_memories>ถูกลบออก - บล็อกเพย์โหลด XML การเรียกเครื่องมือแบบข้อความล้วน เช่น
<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>และ<function_calls>...</function_calls>ถูกลบออก รวมถึงเพย์โหลดที่ถูกตัดทอน ซึ่งไม่เคยปิดอย่างสมบูรณ์ - โครง scaffolding การเรียกเครื่องมือ/ผลลัพธ์ที่ถูกลดระดับ เช่น
[Tool Call: ...],[Tool Result ...]และ[Historical context ...]ถูกลบออก - โทเคนควบคุมโมเดลที่รั่วไหล เช่น
<|assistant|>, โทเคน ASCII<|...|>อื่นๆ และตัวแปรแบบเต็มความกว้าง<|...|>ถูกลบออก - XML การเรียกเครื่องมือ MiniMax ที่ผิดรูปแบบ เช่น
<invoke ...>/</minimax:tool_call>ถูกลบออก
- ข้อความที่คล้ายข้อมูลรับรอง/โทเคนถูกปกปิดก่อนส่งคืน
- บล็อกข้อความยาวถูกตัดทอน
- ประวัติที่ใหญ่มากอาจทิ้งแถวเก่ากว่า หรือแทนที่แถวที่ใหญ่เกินด้วย
[sessions_history omitted: message too large] - เครื่องมือรายงานแฟล็กสรุป เช่น
truncated,droppedMessages,contentTruncated,contentRedactedและbytes
"main") หรือ session ID
จากการเรียกรายการก่อนหน้า
หากต้องการทรานสคริปต์แบบไบต์ต่อไบต์ที่ตรงทุกประการ ให้ตรวจสอบไฟล์ทรานสคริปต์บน
ดิสก์แทนการถือว่า sessions_history เป็นดัมพ์ดิบ
การส่งข้อความข้ามเซสชัน
sessions_send ส่งข้อความไปยังเซสชันอื่นและเลือกได้ว่าจะรอ
การตอบกลับหรือไม่:
- ส่งแล้วไม่รอ: ตั้งค่า
timeoutSeconds: 0เพื่อเข้าคิวและส่งคืน ทันที - รอคำตอบ: ตั้งค่า timeout และรับคำตอบแบบอินไลน์
:thread:<id> ไม่ใช่เป้าหมาย sessions_send ที่ถูกต้อง ให้ใช้ key ของเซสชันช่องทางหลัก
สำหรับการประสานงานระหว่างเอเจนต์ เพื่อไม่ให้ข้อความที่ส่งผ่านเครื่องมือปรากฏ
ภายในเธรดที่กำลังโต้ตอบกับมนุษย์อยู่
ข้อความและคำตอบติดตาม A2A จะถูกทำเครื่องหมายเป็นข้อมูลระหว่างเซสชันใน
พรอมป์ฝั่งรับ ([Inter-session message ... isUser=false]) และในแหล่งที่มาของทรานสคริปต์
เอเจนต์ฝั่งรับควรปฏิบัติต่อข้อมูลเหล่านี้เป็นข้อมูลที่ส่งผ่านเครื่องมือ ไม่ใช่
คำสั่งโดยตรงที่ผู้ใช้ปลายทางเขียนขึ้น
หลังจากเป้าหมายตอบกลับ OpenClaw สามารถรัน ลูปตอบกลับไปมา ซึ่ง
เอเจนต์จะสลับกันส่งข้อความ (สูงสุด session.agentToAgent.maxPingPongTurns, ช่วง
0-20, ค่าเริ่มต้น 5) เอเจนต์เป้าหมายสามารถตอบ
REPLY_SKIP เพื่อหยุดก่อนกำหนด
ตัวช่วยสถานะและการประสานงาน
session_status เป็นเครื่องมือเทียบเท่า /status แบบเบาสำหรับเซสชันปัจจุบัน
หรือเซสชันอื่นที่มองเห็นได้ เครื่องมือนี้รายงานการใช้งาน เวลา สถานะโมเดล/รันไทม์ และ
บริบทงานเบื้องหลังที่เชื่อมโยงเมื่อมีอยู่ เช่นเดียวกับ /status เครื่องมือนี้สามารถเติมย้อนหลัง
ตัวนับโทเคน/แคชที่มีข้อมูลเบาบางจากรายการการใช้งานล่าสุดในทรานสคริปต์ได้ และ
model=default จะล้างการแทนที่รายเซสชัน ใช้ sessionKey="current" สำหรับ
เซสชันปัจจุบันของผู้เรียก ป้ายกำกับไคลเอนต์ที่มองเห็นได้ เช่น openclaw-tui ไม่ใช่
session key
sessions_yield ตั้งใจจบเทิร์นปัจจุบันเพื่อให้ข้อความถัดไปสามารถเป็น
เหตุการณ์ติดตามที่คุณกำลังรอได้ ใช้หลังจากสร้างเอเจนต์ย่อยเมื่อ
คุณต้องการให้ผลลัพธ์เมื่อเสร็จสิ้นมาถึงเป็นข้อความถัดไป แทนการสร้าง
ลูปสำรวจ
subagents เป็นตัวช่วย control-plane สำหรับเอเจนต์ย่อย OpenClaw
ที่สร้างไว้แล้ว รองรับ:
action: "list"เพื่อตรวจสอบการรันที่ใช้งานอยู่/ล่าสุดaction: "steer"เพื่อส่งคำแนะนำติดตามไปยังลูกที่กำลังรันอยู่action: "kill"เพื่อหยุดลูกหนึ่งตัวหรือall
การสร้างเอเจนต์ย่อย
sessions_spawn สร้างเซสชันแบบแยกสำหรับงานเบื้องหลังโดยค่าเริ่มต้น
เครื่องมือนี้ไม่บล็อกเสมอ โดยส่งคืนทันทีพร้อม runId และ
childSessionKey
ตัวเลือกสำคัญ:
runtime: "subagent"(ค่าเริ่มต้น) หรือ"acp"สำหรับเอเจนต์ฮาร์เนสภายนอก- การแทนที่
modelและthinkingสำหรับเซสชันลูก thread: trueเพื่อผูกการสร้างเข้ากับเธรดแชท (Discord, Slack ฯลฯ)sandbox: "require"เพื่อบังคับใช้แซนด์บ็อกซ์กับลูกcontext: "fork"สำหรับเอเจนต์ย่อยแบบเนทีฟเมื่อลูกต้องการทรานสคริปต์ของ ผู้ขอปัจจุบัน ให้ละไว้หรือใช้context: "isolated"สำหรับลูกที่สะอาด เอเจนต์ย่อยแบบเนทีฟที่ผูกกับเธรดจะใช้ค่าเริ่มต้นเป็นcontext: "fork"เว้นแต่threadBindings.defaultSpawnContextจะระบุเป็นอย่างอื่น
maxSpawnDepth >= 2 เอเจนต์ย่อย orchestrator ระดับความลึก 1 จะได้รับ
sessions_spawn, subagents, sessions_list และ sessions_history เพิ่มเติม เพื่อให้
สามารถจัดการลูกของตนเองได้ การรัน leaf ยังคงไม่ได้รับเครื่องมือ
การประสานงานแบบเรียกซ้ำ
หลังเสร็จสิ้น ขั้นตอนประกาศจะโพสต์ผลลัพธ์ไปยังช่องทางของผู้ขอ
การส่งผลลัพธ์เมื่อเสร็จสิ้นจะรักษาการกำหนดเส้นทางเธรด/หัวข้อที่ผูกไว้เมื่อมี และหาก
ต้นทางของผลลัพธ์เมื่อเสร็จสิ้นระบุเพียงช่องทาง OpenClaw ยังสามารถใช้
เส้นทางที่เก็บไว้ของเซสชันผู้ขอ (lastChannel / lastTo) ซ้ำสำหรับการส่ง
โดยตรงได้
สำหรับพฤติกรรมเฉพาะ ACP โปรดดู เอเจนต์ ACP
การมองเห็น
เครื่องมือเซสชันถูกจำกัดขอบเขตเพื่อจำกัดสิ่งที่เอเจนต์มองเห็นได้:| ระดับ | ขอบเขต |
|---|---|
self | เฉพาะเซสชันปัจจุบัน |
tree | เซสชันปัจจุบัน + เอเจนต์ย่อยที่สร้างไว้ |
agent | เซสชันทั้งหมดของเอเจนต์นี้ |
all | เซสชันทั้งหมด (ข้ามเอเจนต์หากกำหนดค่าไว้) |
tree เซสชันที่อยู่ในแซนด์บ็อกซ์จะถูกจำกัดไว้ที่ tree ไม่ว่าการกำหนดค่า
จะเป็นอย่างไร
อ่านเพิ่มเติม
- การจัดการเซสชัน — การกำหนดเส้นทาง วงจรชีวิต การบำรุงรักษา
- เอเจนต์ ACP — การสร้างฮาร์เนสภายนอก
- หลายเอเจนต์ — สถาปัตยกรรมหลายเอเจนต์
- การกำหนดค่า Gateway — ปุ่มปรับแต่งการกำหนดค่าเครื่องมือเซสชัน