Concept internals
ตัวบ่งชี้สถานะกำลังพิมพ์
ตัวบ่งชี้การพิมพ์จะถูกส่งไปยังช่องแชทในขณะที่การรันยังทำงานอยู่ ใช้
agents.defaults.typingMode เพื่อควบคุมว่าเริ่มแสดงการพิมพ์ เมื่อใด และใช้ typingIntervalSeconds
เพื่อควบคุมว่ารีเฟรช บ่อยเพียงใด
ค่าเริ่มต้น
เมื่อ ไม่ได้ตั้งค่า agents.defaults.typingMode OpenClaw จะคงพฤติกรรมเดิมไว้:
- แชทโดยตรง: การพิมพ์เริ่มทันทีเมื่อลูปโมเดลเริ่มทำงาน
- แชทกลุ่มที่มีการกล่าวถึง: การพิมพ์เริ่มทันที
- แชทกลุ่มที่ไม่มีการกล่าวถึง: การพิมพ์เริ่มเมื่อการรันที่ถูกรับเข้ามีกิจกรรมที่ผู้ใช้มองเห็นได้ เช่น กิจกรรมการดำเนินการของ harness หรือข้อความ
- การรัน Heartbeat: การพิมพ์เริ่มเมื่อการรัน Heartbeat เริ่มต้น หากเป้าหมาย Heartbeat ที่ resolve แล้วเป็นแชทที่รองรับการพิมพ์ และไม่ได้ปิดใช้งานการพิมพ์
โหมด
ตั้งค่า agents.defaults.typingMode เป็นหนึ่งในค่าต่อไปนี้:
never- ไม่มีตัวบ่งชี้การพิมพ์เลยinstant- เริ่มพิมพ์ ทันทีที่ลูปโมเดลเริ่มทำงาน แม้ว่าภายหลังการรันจะส่งคืนเฉพาะโทเค็นตอบกลับแบบเงียบthinking- เริ่มพิมพ์เมื่อมี เดลตาการให้เหตุผลรายการแรก หรือเมื่อมีการดำเนินการ harness ที่ทำงานอยู่หลังจากรับเทิร์นแล้วmessage- เริ่มพิมพ์เมื่อมี กิจกรรมตอบกลับที่ผู้ใช้มองเห็นได้รายการแรก เช่น การดำเนินการ harness ที่ทำงานอยู่ หรือเดลตาข้อความที่ไม่ใช่แบบเงียบ โทเค็นตอบกลับแบบเงียบ เช่นNO_REPLYจะไม่นับเป็นกิจกรรมข้อความ
ลำดับของ "เริ่มทำงานเร็วแค่ไหน":
never → message/thinking → instant
การกำหนดค่า
ตั้งค่าเริ่มต้นระดับเอเจนต์:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}แทนที่โหมดหรือจังหวะต่อเซสชัน:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}หมายเหตุ
- โหมด
messageจะไม่เริ่มจากโทเค็นตอบกลับแบบเงียบ แต่การดำเนินการที่ทำงานอยู่ยังสามารถแสดงการพิมพ์ก่อนที่ข้อความของผู้ช่วยจะพร้อมใช้งาน thinkingยังคงตอบสนองต่อการสตรีมการให้เหตุผล (reasoningLevel: "stream") และยังสามารถเริ่มจากการดำเนินการที่ทำงานอยู่ก่อนที่เดลตาการให้เหตุผลจะมาถึงได้ด้วย- การพิมพ์ของ Heartbeat เป็นสัญญาณความพร้อมใช้งานสำหรับเป้าหมายการส่งที่ resolve แล้ว โดยจะเริ่มเมื่อการรัน Heartbeat เริ่มต้น แทนที่จะทำตามจังหวะสตรีมของ
messageหรือthinkingตั้งค่าtypingMode: "never"เพื่อปิดใช้งาน - Heartbeat จะไม่แสดงการพิมพ์เมื่อ
target: "none"เมื่อไม่สามารถ resolve เป้าหมายได้ เมื่อการส่งผ่านแชทถูกปิดใช้งานสำหรับ Heartbeat หรือเมื่อช่องไม่รองรับการพิมพ์ typingIntervalSecondsควบคุม จังหวะการรีเฟรช ไม่ใช่เวลาเริ่มต้น ค่าเริ่มต้นคือ 6 วินาที
ที่เกี่ยวข้อง
Was this useful?