Concept internals

ตัวบ่งชี้ว่ากำลังพิมพ์

ตัวบ่งชี้การพิมพ์จะถูกส่งไปยังช่องแชทขณะที่การรันกำลังทำงานอยู่ ใช้ agents.defaults.typingMode เพื่อควบคุมว่าเริ่มแสดงการพิมพ์ เมื่อใด และใช้ typingIntervalSeconds เพื่อควบคุมว่ารีเฟรช บ่อยเพียงใด

ค่าเริ่มต้น

เมื่อ agents.defaults.typingMode ไม่ได้ตั้งค่าไว้ OpenClaw จะคงพฤติกรรมแบบเดิมไว้:

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

โหมด

ตั้งค่า agents.defaults.typingMode เป็นค่าใดค่าหนึ่งต่อไปนี้:

  • never - ไม่มีตัวบ่งชี้การพิมพ์ ไม่ว่าเมื่อใดก็ตาม
  • instant - เริ่มแสดงการพิมพ์ ทันทีที่วงรอบโมเดลเริ่มทำงาน แม้ว่าภายหลังการรัน จะส่งกลับเพียงโทเค็นตอบกลับแบบเงียบก็ตาม
  • thinking - เริ่มแสดงการพิมพ์เมื่อมี เดลตาการให้เหตุผลแรก (ต้องใช้ reasoningLevel: "stream" สำหรับการรันนั้น)
  • message - เริ่มแสดงการพิมพ์เมื่อมี เดลตาข้อความแบบไม่เงียบแรก (ละเว้น โทเค็นแบบเงียบ NO_REPLY)

ลำดับของ “เริ่มเร็วแค่ไหน”: nevermessagethinkinginstant

การกำหนดค่า

{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6,
  },
}

คุณสามารถแทนที่โหมดหรือจังหวะต่อเซสชันได้:

{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}

หมายเหตุ

  • โหมด message จะไม่แสดงการพิมพ์สำหรับคำตอบที่มีเฉพาะแบบเงียบ เมื่อเพย์โหลดทั้งหมด เป็นโทเค็นแบบเงียบที่ตรงกันทุกประการ (เช่น NO_REPLY / no_reply โดยจับคู่แบบไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก)
  • thinking จะทำงานเฉพาะเมื่อการรันสตรีมการให้เหตุผล (reasoningLevel: "stream") หากโมเดลไม่ปล่อยเดลตาการให้เหตุผล การพิมพ์จะไม่เริ่ม
  • การพิมพ์ของ Heartbeat เป็นสัญญาณความพร้อมใช้งานสำหรับเป้าหมายการส่งที่ระบุได้ โดย จะเริ่มเมื่อการรัน Heartbeat เริ่มขึ้น แทนที่จะทำตามจังหวะสตรีมของ message หรือ thinking ตั้งค่า typingMode: "never" เพื่อปิดใช้งาน
  • Heartbeat จะไม่แสดงการพิมพ์เมื่อ target: "none", เมื่อไม่สามารถ ระบุเป้าหมายได้, เมื่อการส่งผ่านแชทถูกปิดใช้งานสำหรับ Heartbeat, หรือเมื่อ ช่องไม่รองรับการพิมพ์
  • typingIntervalSeconds ควบคุม จังหวะการรีเฟรช ไม่ใช่เวลาเริ่มต้น ค่าเริ่มต้นคือ 6 วินาที

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