Messages and delivery

ฉบับร่างความคืบหน้า

ร่างความคืบหน้าเปลี่ยนข้อความหนึ่งข้อความในช่องทางให้เป็นบรรทัดสถานะแบบสดขณะที่ เอเจนต์กำลังทำงาน แทนที่จะเป็นชุดข้อความตอบกลับชั่วคราวว่า "ยังทำงานอยู่" ตั้งค่า channels.<channel>.streaming.mode: "progress" แล้ว OpenClaw จะสร้าง ข้อความเมื่อเริ่มงานจริง แก้ไขข้อความเมื่อเอเจนต์อ่าน วางแผน เรียกใช้ เครื่องมือ หรือรอการอนุมัติ จากนั้นเปลี่ยนข้อความนั้นเป็นคำตอบสุดท้าย

text
กำลังทำงาน...📖 จาก docs/concepts/progress-drafts.md🔎 Web Search: สำหรับ "discord edit message"🛠️ Bash: เรียกใช้การทดสอบ

เริ่มต้นอย่างรวดเร็ว

json5
{  channels: {    discord: {      streaming: {        mode: "progress",      },    },  },}

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

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

สิ่งที่ผู้ใช้เห็น

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

สำหรับความคืบหน้าของเครื่องมือแบบดิบ ป้ายชื่อจะปรากฏเมื่อเอเจนต์เริ่มทำงานที่มีความหมาย และยังคงทำงานอยู่ตลอดช่วงหน่วงเวลาเริ่มต้น ป้ายชื่อจะอยู่ด้านบนของรายการบรรทัดความคืบหน้าที่เลื่อนต่อเนื่อง จึงเลื่อนหายไปเมื่อ มีบรรทัดงานที่เป็นรูปธรรมปรากฏมากพอ ส่วนหัวสถานะจะแสดงเฉพาะสถานะของ เอเจนต์ในภาษาธรรมดา เว้นแต่จะกำหนดป้ายชื่อไว้อย่างชัดเจน การตอบกลับที่มีแต่ ข้อความธรรมดาจะไม่แสดงร่างความคืบหน้า บรรทัดจะปรากฏเฉพาะเมื่อมีการอัปเดตงานจริง เช่น 🛠️ Bash: run tests, 🔎 Web Search: for "discord edit message" หรือ ✍️ Write: to /tmp/file

คำตอบสุดท้ายจะแทนที่ร่างในตำแหน่งเดิมเมื่อช่องทางสามารถทำเช่นนั้นได้ อย่างปลอดภัย มิฉะนั้น OpenClaw จะส่งคำตอบสุดท้ายผ่านการนำส่งตามปกติ และ ล้างหรือหยุดอัปเดตร่าง (ดู การดำเนินการขั้นสุดท้าย)

เลือกโหมด

channels.<channel>.streaming.mode ควบคุมลักษณะการทำงานระหว่างดำเนินการที่มองเห็นได้:

โหมด เหมาะที่สุดสำหรับ สิ่งที่ปรากฏในแชต
off ช่องทางที่ต้องการความเงียบ เฉพาะคำตอบสุดท้าย
partial การดูข้อความคำตอบค่อย ๆ ปรากฏ ร่างหนึ่งรายการที่แก้ไขด้วยข้อความคำตอบล่าสุด
block ส่วนตัวอย่างคำตอบขนาดใหญ่ขึ้น ตัวอย่างหนึ่งรายการที่อัปเดตหรือต่อท้ายเป็นส่วนขนาดใหญ่ขึ้น
progress รอบที่ใช้เครื่องมือมากหรือใช้เวลานาน ร่างสถานะหนึ่งรายการ ตามด้วยคำตอบสุดท้าย

เลือก progress เมื่อผู้ใช้ให้ความสำคัญกับ "กำลังเกิดอะไรขึ้น" มากกว่าการดู ข้อความคำตอบสตรีมทีละโทเค็น เลือก partial เมื่อข้อความคำตอบเองเป็น สัญญาณความคืบหน้า และเลือก block สำหรับส่วนตัวอย่างขนาดใหญ่ขึ้น บน Discord และ Telegram นั้น streaming.mode: "block" ยังคงเป็นการสตรีมตัวอย่าง ไม่ใช่การนำส่ง การตอบกลับแบบบล็อกตามปกติ — ให้ใช้ streaming.block.enabled สำหรับกรณีนั้น

กำหนดค่าป้ายชื่อ

ป้ายชื่อความคืบหน้าอยู่ภายใต้ channels.<channel>.streaming.progress ป้ายชื่อ บรรทัดเครื่องมือแบบดิบเริ่มต้นคือ "auto" ซึ่งใช้ป้ายชื่อ Working แบบธรรมดาที่มีมาในตัว ส่วนหัวสถานะจะซ่อนป้ายชื่อโดยนัยนั้น ให้ตั้งค่า label: "auto" อย่างชัดเจนหากต้องการให้มีป้ายชื่ออยู่เหนือส่วนหัวด้วย:

text
กำลังทำงาน

ใช้ป้ายชื่อแบบคงที่:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          label: "Investigating",        },      },    },  },}

ใช้กลุ่มป้ายชื่อของคุณเอง (ยังคงเลือกแบบสุ่ม/ตาม seed เมื่อเป็น label: "auto"):

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          label: "auto",          labels: ["Checking", "Reading", "Testing", "Finishing"],        },      },    },  },}

ซ่อนป้ายชื่อและแสดงเฉพาะบรรทัดความคืบหน้า:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          label: false,        },      },    },  },}

ควบคุมบรรทัดความคืบหน้า

บรรทัดความคืบหน้ามาจากเหตุการณ์การทำงานจริง ได้แก่ การเริ่มเครื่องมือ การอัปเดตรายการ แผนงาน การอนุมัติ เอาต์พุตคำสั่ง สรุปแพตช์ และกิจกรรมอื่นที่คล้ายกันของเอเจนต์ โดยเปิดใช้งานเป็นค่าเริ่มต้น (progress.toolProgress, ค่าเริ่มต้น true)

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

json
{  "content": [],  "progress": {    "text": "Fetching page content...",    "visibility": "channel",    "privacy": "public",    "id": "web_fetch:fetching"  }}

OpenClaw แสดงเฉพาะ progress.text ใน UI ความคืบหน้าของช่องทาง ผลลัพธ์ เครื่องมือตามปกติจะมาถึงภายหลังในรูปแบบ content/details และเป็นเพียงส่วนเดียว ที่ส่งคืนให้โมเดล

เมื่อเพิ่มความคืบหน้าให้เครื่องมือ ให้ส่งข้อความสั้น ๆ แบบทั่วไป และหน่วงไว้ จนกว่าการดำเนินการจะค้างอยู่นานพอที่จะมีประโยชน์ web_fetch ทำเช่นนี้โดยใช้เวลาหน่วง 5 วินาที:

typescript
const clearProgressTimer = scheduleToolProgress(  onUpdate,  { text: "Fetching page content...", id: "web_fetch:fetching" },  5_000,  { signal },); try {  return await runToolWork();} finally {  clearProgressTimer();}

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

โหมดรายละเอียด

OpenClaw ใช้ตัวจัดรูปแบบเดียวกันสำหรับร่างความคืบหน้าและ /verbose:

json5
{  agents: {    defaults: {      toolProgressDetail: "explain", // explain | raw    },  },}

"explain" เป็นค่าเริ่มต้นและช่วยให้ร่างคงที่ด้วยป้ายชื่อที่กระชับ "raw" จะต่อท้ายคำสั่งเบื้องหลังเมื่อมี ซึ่งมีประโยชน์ระหว่าง การแก้จุดบกพร่อง แต่ทำให้แชตมีข้อมูลรบกวนมากขึ้น ตัวอย่างเช่น การเรียก node --check /tmp/app.js จะแสดงแตกต่างกันตามโหมด:

โหมด บรรทัดความคืบหน้า
explain 🛠️ check js syntax for /tmp/app.js
raw 🛠️ check js syntax for /tmp/app.js · node --check /tmp/app.js

ข้อความคำสั่ง/exec

streaming.progress.commandText (ค่าเริ่มต้น "raw") ควบคุมปริมาณรายละเอียดคำสั่ง ที่แสดงถัดจากบรรทัดความคืบหน้าของ exec/bash โดยไม่ขึ้นกับโหมดรายละเอียด ด้านบน ตั้งค่าเป็น "status" เพื่อให้บรรทัดความคืบหน้าของเครื่องมือยังคงมองเห็นได้ขณะซ่อน ข้อความคำสั่งทั้งหมด:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          commandText: "status",        },      },    },  },}

ช่องทางคำบรรยาย

streaming.progress.commentary (ค่าเริ่มต้น false) จะแทรกคำบรรยาย ความคิดเห็น/คำนำก่อนใช้เครื่องมือของโมเดล (💬 เช่น "ฉันจะตรวจสอบ... จากนั้น ...") สลับกับบรรทัดเครื่องมือในร่าง ดูรูปแบบการกำหนดค่าที่ใช้ร่วมกันระหว่างช่องทางได้ที่ การสตรีมและการแบ่งส่วน

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

ส่วนหัวสถานะ

บน Discord และ Telegram ในโหมดความคืบหน้า คำนำก่อนใช้เครื่องมือแบบมีชนิดของโมเดล จะกลายเป็นส่วนหัวสถานะของร่างเมื่อมีข้อมูล ช่องทางอื่น ในโหมดความคืบหน้าจะคงพฤติกรรมสถานะเดิม ส่วนหัวเปิดใช้งาน เป็นค่าเริ่มต้นและไม่ข้ามเกณฑ์กิจกรรมตามปกติสำหรับรอบสั้น ๆ การเปิดใช้ streaming.progress.commentary จะส่งคำนำไปยัง ช่องทางคำบรรยายแบบแทรกสลับแทน

บน Discord เมื่อมีการเลือกโมเดลอรรถประโยชน์สำหรับเอเจนต์ — ไม่ว่าจะเป็น utilityModel ที่ระบุอย่างชัดเจน หรือค่าเริ่มต้น โมเดลขนาดเล็กที่ประกาศโดยผู้ให้บริการหลัก (OpenAI → gpt-5.6-luna, Anthropic → claude-haiku-4-5) — โมเดลนั้นจะสร้างข้อความเสริมสั้น ๆ ในภาษาธรรมดา เมื่อโมเดลไม่ส่งคำนำหรือเงียบไปประมาณ 20 วินาที (ปัจจุบันส่วนหัวของ Telegram ใช้เฉพาะคำนำ):

text
กำลังอัปเดตโมเดลเริ่มต้นในการกำหนดค่าของคุณ จากนั้นจะรีสตาร์ต Gateway เพื่อให้การเปลี่ยนแปลงมีผล การเรียกรายการเอเจนต์หนึ่งครั้งล้มเหลวและกำลังลองใหม่

คำบรรยายจากโมเดลอรรถประโยชน์เปิดใช้งานเป็นค่าเริ่มต้น (streaming.progress.narration, ค่าเริ่มต้น true) และจะไม่ย้อนกลับไปใช้โมเดลหลัก โดยจะทำงานเฉพาะเมื่อมี utilityModel ที่ระบุอย่างชัดเจน หรือค่าเริ่มต้นที่ผู้ให้บริการประกาศไว้สำหรับ ผู้ให้บริการหลักของเอเจนต์ ตั้งค่า utilityModel: "" เพื่อปิดใช้งานการกำหนดเส้นทาง โมเดลอรรถประโยชน์ทั้งหมด บรรทัดเครื่องมือจะยังคงสะสมอยู่ด้านล่างและกลับมาแสดง หากแหล่งสถานะทั้งสองหยุดทำงาน การแก้ไขร่างยังคงรอเกณฑ์กิจกรรมตามปกติและ การเปลี่ยนแปลงข้อความจริง ซึ่งช่วยหลีกเลี่ยงการกะพริบในรอบที่รวดเร็วและลดการแก้ไขซ้ำ ๆ ในช่องทางที่มีการใช้งานหนาแน่น ตั้งค่า narration: false เพื่อปิดใช้งานเฉพาะข้อความเสริม จากโมเดลอรรถประโยชน์ ส่วนหัวคำนำของโมเดลจะยังคงเปิดใช้งาน:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          narration: false,        },      },    },  },}

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

ขีดจำกัดบรรทัด

จำกัดจำนวนบรรทัดที่ยังคงมองเห็นได้ (ค่าเริ่มต้น 8):

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          maxLines: 4,        },      },    },  },}

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

ปรับงบประมาณต่อบรรทัด:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          maxLineChars: 160,        },      },    },  },}

การแสดงผลแบบสมบูรณ์ (Slack)

Slack สามารถแสดงบรรทัดความคืบหน้าเป็นฟิลด์ Block Kit ที่มีโครงสร้างแทน ข้อความธรรมดา:

json5
{  channels: {    slack: {      streaming: {        mode: "progress",        progress: {          render: "rich",        },      },    },  },}

การแสดงผลแบบสมบูรณ์จะส่งเนื้อหาข้อความธรรมดาชุดเดียวกันไปพร้อมกับฟิลด์ Block Kit เสมอ ดังนั้นไคลเอนต์ที่ไม่สามารถแสดงรูปแบบที่สมบูรณ์กว่ายังคงแสดงข้อความ ความคืบหน้าแบบกระชับได้

ซ่อนบรรทัดเครื่องมือ/งาน

คงร่างความคืบหน้ารายการเดียวไว้ แต่ซ่อนบรรทัดเครื่องมือและงาน:

json5
{  channels: {    discord: {      streaming: {        mode: "progress",        progress: {          toolProgress: false,        },      },    },  },}

เมื่อใช้ toolProgress: false OpenClaw จะยังคงระงับข้อความความคืบหน้าของเครื่องมือแบบแยกเดี่ยวรุ่นเก่าสำหรับรอบนั้น ช่องจึงดูเงียบจนกว่าคำตอบสุดท้ายจะปรากฏ ยกเว้นป้ายกำกับหากมีการกำหนดค่าไว้

พฤติกรรมของช่อง

ช่อง การส่งความคืบหน้า หมายเหตุ
Discord ส่งหนึ่งข้อความแล้วแก้ไขข้อความนั้น ค่าเริ่มต้นคือโหมด progress โดยคำตอบสุดท้ายจะมีใบรับรองกิจกรรม -# และฉบับร่างสถานะจะถูกลบหลังจากส่งคำตอบสำเร็จ
Matrix ส่งหนึ่งเหตุการณ์แล้วแก้ไขเหตุการณ์นั้น การกำหนดค่าสตรีมมิงระดับบัญชีควบคุมฉบับร่างระดับบัญชี
Microsoft Teams สตรีมแบบเนทีฟของ Teams ในแชตส่วนตัว streaming.mode: "block" จะถูกแมปเป็นการส่งแบบบล็อกของ Teams แทน
Slack สตรีมแบบเนทีฟหรือโพสต์ฉบับร่างที่แก้ไขได้ ต้องมีเธรดเป้าหมายสำหรับการตอบกลับ ส่วน DM ระดับบนสุดที่ไม่มีเธรดเป้าหมายจะยังคงได้รับโพสต์แสดงตัวอย่างฉบับร่างและการแก้ไข
Telegram ส่งหนึ่งข้อความแล้วแก้ไขข้อความนั้น หากมีข้อความเข้ามาระหว่างฉบับร่างความคืบหน้ากับคำตอบ ระบบจะโพสต์ฉบับร่างใหม่ไว้ด้านล่างข้อความนั้น (โพสต์ข้อความใหม่แล้วลบข้อความเก่า) แทนการทำให้หน้าจอไคลเอนต์เลื่อนข้ามตำแหน่ง
Mattermost โพสต์ฉบับร่างที่แก้ไขได้ โหมด block จะสลับระหว่างข้อความที่เสร็จสมบูรณ์กับโพสต์กิจกรรมของเครื่องมือ ส่วนโหมดอื่นจะรวมกิจกรรมของเครื่องมือไว้ในโพสต์แบบฉบับร่างเดียวกัน

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

การทำให้เสร็จสมบูรณ์

เมื่อคำตอบสุดท้ายพร้อมแล้ว OpenClaw จะพยายามรักษาความเรียบร้อยของแชต:

  • ในโหมด progress บน Discord คำตอบสุดท้ายจะถูกส่งเป็นข้อความใหม่ พร้อมแนบใบรับรองกิจกรรม -# ขนาดเล็ก (เช่น -# 🧠 2 thoughts · 🛠️ 5 tool calls · ⏱️ 12s) และฉบับร่างสถานะจะ ถูกลบเมื่อส่งคำตอบนั้นสำเร็จแล้ว ช่องที่มีข้อความหนาแน่นจะไม่มีบันทึก เครื่องมือกำพร้าค้างอยู่เหนือคำตอบ ส่วนคำตอบสุดท้ายที่เป็นข้อผิดพลาดจะเก็บฉบับร่างไว้เป็นบันทึกที่มองเห็นได้ของ รอบที่ล้มเหลว
  • หากสามารถเปลี่ยนฉบับร่างเป็นคำตอบสุดท้ายได้อย่างปลอดภัย (โหมด partial/block) OpenClaw จะแก้ไขฉบับร่างนั้นโดยตรง
  • หากช่องใช้การสตรีมความคืบหน้าแบบเนทีฟ OpenClaw จะทำให้ สตรีมนั้นเสร็จสมบูรณ์เมื่อระบบส่งแบบเนทีฟยอมรับข้อความสุดท้าย
  • ในกรณีอื่น (มีสื่อ พรอมต์ขออนุมัติ เป้าหมายการตอบกลับที่ระบุชัดเจน จำนวน ส่วนมากเกินไป หรือการแก้ไข/ส่งล้มเหลว) OpenClaw จะส่งคำตอบสุดท้ายผ่าน เส้นทางการส่งตามปกติของช่องแทนการเขียนทับฉบับร่าง

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

การแก้ไขปัญหา

ฉันเห็นเฉพาะคำตอบสุดท้าย

ตรวจสอบว่า channels.<channel>.streaming.mode เป็น progress สำหรับบัญชี หรือช่องที่จัดการข้อความ เส้นทางของกลุ่มหรือการตอบกลับแบบอ้างข้อความบางแบบจะปิดใช้ การแสดงตัวอย่างฉบับร่างสำหรับรอบนั้น เมื่อช่องไม่สามารถแก้ไขข้อความที่ถูกต้อง ได้อย่างปลอดภัย

ฉันเห็นป้ายกำกับแต่ไม่เห็นบรรทัดของเครื่องมือ

ตรวจสอบ streaming.progress.toolProgress หากเป็น false OpenClaw จะคง พฤติกรรมฉบับร่างเดียวไว้ แต่ซ่อนบรรทัดความคืบหน้าของเครื่องมือและงาน

ฉันเห็นคำตอบสุดท้ายเป็นข้อความใหม่แทนฉบับร่างที่ถูกแก้ไข

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

ฉันยังคงเห็นข้อความความคืบหน้าแบบแยกเดี่ยว

โหมดความคืบหน้าจะระงับข้อความความคืบหน้าของเครื่องมือแบบแยกเดี่ยวตามค่าเริ่มต้นทุกครั้งที่มี ฉบับร่างทำงานอยู่ หากข้อความแบบแยกเดี่ยวยังคงปรากฏ ให้ยืนยันว่ารอบนั้น กำลังใช้โหมด progress จริง ไม่ใช่ streaming.mode: "off" หรือเส้นทางของช่อง ที่ไม่สามารถสร้างฉบับร่างสำหรับข้อความนั้นได้

Teams ทำงานต่างจาก Discord หรือ Telegram

Microsoft Teams ใช้สตรีมแบบเนทีฟในแชตส่วนตัวแทนระบบส่งและแก้ไข สำหรับการแสดงตัวอย่างทั่วไป และแมป streaming.mode: "block" เป็น การส่งแบบบล็อกของ Teams เนื่องจากไม่มีโหมดบล็อกสำหรับการแสดงตัวอย่างฉบับร่างเช่นเดียวกับ Discord และ Telegram

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

Was this useful?
On this page

On this page