Messages and delivery
ฉบับร่างความคืบหน้า
ร่างความคืบหน้าเปลี่ยนข้อความหนึ่งข้อความในช่องทางให้เป็นบรรทัดสถานะแบบสดขณะที่
เอเจนต์กำลังทำงาน แทนที่จะเป็นชุดข้อความตอบกลับชั่วคราวว่า "ยังทำงานอยู่" ตั้งค่า
channels.<channel>.streaming.mode: "progress" แล้ว OpenClaw จะสร้าง
ข้อความเมื่อเริ่มงานจริง แก้ไขข้อความเมื่อเอเจนต์อ่าน วางแผน เรียกใช้
เครื่องมือ หรือรอการอนุมัติ จากนั้นเปลี่ยนข้อความนั้นเป็นคำตอบสุดท้าย
กำลังทำงาน...📖 จาก docs/concepts/progress-drafts.md🔎 Web Search: สำหรับ "discord edit message"🛠️ Bash: เรียกใช้การทดสอบเริ่มต้นอย่างรวดเร็ว
{ 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" อย่างชัดเจนหากต้องการให้มีป้ายชื่ออยู่เหนือส่วนหัวด้วย:
กำลังทำงานใช้ป้ายชื่อแบบคงที่:
{ channels: { discord: { streaming: { mode: "progress", progress: { label: "Investigating", }, }, }, },}ใช้กลุ่มป้ายชื่อของคุณเอง (ยังคงเลือกแบบสุ่ม/ตาม seed เมื่อเป็น label: "auto"):
{ channels: { discord: { streaming: { mode: "progress", progress: { label: "auto", labels: ["Checking", "Reading", "Testing", "Finishing"], }, }, }, },}ซ่อนป้ายชื่อและแสดงเฉพาะบรรทัดความคืบหน้า:
{ channels: { discord: { streaming: { mode: "progress", progress: { label: false, }, }, }, },}ควบคุมบรรทัดความคืบหน้า
บรรทัดความคืบหน้ามาจากเหตุการณ์การทำงานจริง ได้แก่ การเริ่มเครื่องมือ การอัปเดตรายการ แผนงาน
การอนุมัติ เอาต์พุตคำสั่ง สรุปแพตช์ และกิจกรรมอื่นที่คล้ายกันของเอเจนต์
โดยเปิดใช้งานเป็นค่าเริ่มต้น (progress.toolProgress, ค่าเริ่มต้น true)
เครื่องมือยังสามารถส่งความคืบหน้าแบบมีชนิดได้ขณะที่การเรียกครั้งเดียวยังคงทำงานอยู่ นี่คือวิธีที่การดึงข้อมูลหรือการค้นหาที่ช้าอัปเดตร่างที่มองเห็นได้ก่อนเครื่องมือ ส่งคืนผลลัพธ์สุดท้าย การอัปเดตความคืบหน้าคือผลลัพธ์เครื่องมือบางส่วนที่มี เนื้อหาโมเดลว่างและข้อมูลเมตาของช่องทางสาธารณะที่ระบุไว้อย่างชัดเจน:
{ "content": [], "progress": { "text": "Fetching page content...", "visibility": "channel", "privacy": "public", "id": "web_fetch:fetching" }}OpenClaw แสดงเฉพาะ progress.text ใน UI ความคืบหน้าของช่องทาง ผลลัพธ์
เครื่องมือตามปกติจะมาถึงภายหลังในรูปแบบ content/details และเป็นเพียงส่วนเดียว
ที่ส่งคืนให้โมเดล
เมื่อเพิ่มความคืบหน้าให้เครื่องมือ ให้ส่งข้อความสั้น ๆ แบบทั่วไป และหน่วงไว้
จนกว่าการดำเนินการจะค้างอยู่นานพอที่จะมีประโยชน์ web_fetch
ทำเช่นนี้โดยใช้เวลาหน่วง 5 วินาที:
const clearProgressTimer = scheduleToolProgress( onUpdate, { text: "Fetching page content...", id: "web_fetch:fetching" }, 5_000, { signal },); try { return await runToolWork();} finally { clearProgressTimer();}การเรียกที่รวดเร็วจะไม่แสดงบรรทัดความคืบหน้า การเรียกที่ใช้เวลานานจะแสดงหนึ่งบรรทัดขณะที่ยังค้างอยู่ ส่วนการเรียกที่ถูกยกเลิกจะล้างตัวจับเวลาก่อนที่ความคืบหน้าที่ล้าสมัยจะปรากฏ ข้อความความคืบหน้า เป็นช่องทางเสริมของ UI สาธารณะ ดังนั้นต้องไม่มีข้อมูลลับ อาร์กิวเมนต์ดิบ เนื้อหาที่ดึงมา เอาต์พุตคำสั่ง หรือข้อความจากหน้าเว็บโดยเด็ดขาด
โหมดรายละเอียด
OpenClaw ใช้ตัวจัดรูปแบบเดียวกันสำหรับร่างความคืบหน้าและ /verbose:
{ 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" เพื่อให้บรรทัดความคืบหน้าของเครื่องมือยังคงมองเห็นได้ขณะซ่อน
ข้อความคำสั่งทั้งหมด:
{ 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 ใช้เฉพาะคำนำ):
กำลังอัปเดตโมเดลเริ่มต้นในการกำหนดค่าของคุณ จากนั้นจะรีสตาร์ต Gateway เพื่อให้การเปลี่ยนแปลงมีผล การเรียกรายการเอเจนต์หนึ่งครั้งล้มเหลวและกำลังลองใหม่คำบรรยายจากโมเดลอรรถประโยชน์เปิดใช้งานเป็นค่าเริ่มต้น (streaming.progress.narration, ค่าเริ่มต้น
true) และจะไม่ย้อนกลับไปใช้โมเดลหลัก โดยจะทำงานเฉพาะเมื่อมี
utilityModel ที่ระบุอย่างชัดเจน หรือค่าเริ่มต้นที่ผู้ให้บริการประกาศไว้สำหรับ
ผู้ให้บริการหลักของเอเจนต์ ตั้งค่า utilityModel: "" เพื่อปิดใช้งานการกำหนดเส้นทาง
โมเดลอรรถประโยชน์ทั้งหมด บรรทัดเครื่องมือจะยังคงสะสมอยู่ด้านล่างและกลับมาแสดง
หากแหล่งสถานะทั้งสองหยุดทำงาน การแก้ไขร่างยังคงรอเกณฑ์กิจกรรมตามปกติและ
การเปลี่ยนแปลงข้อความจริง ซึ่งช่วยหลีกเลี่ยงการกะพริบในรอบที่รวดเร็วและลดการแก้ไขซ้ำ ๆ
ในช่องทางที่มีการใช้งานหนาแน่น ตั้งค่า narration: false เพื่อปิดใช้งานเฉพาะข้อความเสริม
จากโมเดลอรรถประโยชน์ ส่วนหัวคำนำของโมเดลจะยังคงเปิดใช้งาน:
{ channels: { discord: { streaming: { mode: "progress", progress: { narration: false, }, }, }, },}อินพุตคำบรรยายมีขอบเขตจำกัดและผ่านการปกปิดข้อมูล โมเดลอรรถประโยชน์จะได้รับ
ข้อความคำขอขาเข้า พร้อมกับสรุปเครื่องมือแบบกระชับและปกปิดข้อมูลชุดเดียวกับที่ร่าง
จะแสดง — ไม่ได้รับเอาต์พุตคำสั่งดิบหรือผลลัพธ์เครื่องมือโดยเด็ดขาด เมื่อใช้
commandText: "status" อินพุตคำบรรยายจะละข้อความคำสั่ง exec/bash ด้วย
ให้ตรงกับสิ่งที่ร่างแสดง
ขีดจำกัดบรรทัด
จำกัดจำนวนบรรทัดที่ยังคงมองเห็นได้ (ค่าเริ่มต้น 8):
{ channels: { discord: { streaming: { mode: "progress", progress: { maxLines: 4, }, }, }, },}บรรทัดความคืบหน้าจะถูกย่อโดยอัตโนมัติเพื่อลดการจัดวางกรอบข้อความแชตใหม่ขณะ แก้ไขร่าง และ OpenClaw จะตัดบรรทัดที่ยาวเพื่อให้การแก้ไขร่างซ้ำ ๆ ไม่ตัดบรรทัดต่างกันในทุกการอัปเดต งบประมาณเริ่มต้นต่อบรรทัดคือ 120 อักขระ ข้อความร้อยแก้วจะตัดที่ขอบเขตคำ ส่วนรายละเอียดที่ยาว เช่น พาธหรือ คำสั่งดิบ จะย่อด้วยจุดไข่ปลาตรงกลางเพื่อให้ส่วนท้ายยังคงมองเห็นได้
ปรับงบประมาณต่อบรรทัด:
{ channels: { discord: { streaming: { mode: "progress", progress: { maxLineChars: 160, }, }, }, },}การแสดงผลแบบสมบูรณ์ (Slack)
Slack สามารถแสดงบรรทัดความคืบหน้าเป็นฟิลด์ Block Kit ที่มีโครงสร้างแทน ข้อความธรรมดา:
{ channels: { slack: { streaming: { mode: "progress", progress: { render: "rich", }, }, }, },}การแสดงผลแบบสมบูรณ์จะส่งเนื้อหาข้อความธรรมดาชุดเดียวกันไปพร้อมกับฟิลด์ Block Kit เสมอ ดังนั้นไคลเอนต์ที่ไม่สามารถแสดงรูปแบบที่สมบูรณ์กว่ายังคงแสดงข้อความ ความคืบหน้าแบบกระชับได้
ซ่อนบรรทัดเครื่องมือ/งาน
คงร่างความคืบหน้ารายการเดียวไว้ แต่ซ่อนบรรทัดเครื่องมือและงาน:
{ 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