อินพุตเอาต์พุตหลายรูปแบบและการแสดงตัวอย่างไฟล์

อินพุตเอาต์พุตหลายรูปแบบและการแสดงตัวอย่างไฟล์

ภาพรวม

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


อินพุตหลายรูปแบบ

ประเภทอินพุตที่รองรับ

ประเภทบล็อกเนื้อหา คำอธิบาย ตัวอย่าง
text ข้อความล้วน ข้อความของผู้ใช้ ส่วนย่อยของโค้ด
image รูปภาพ PNG, JPEG, GIF, WebP (เข้ารหัส base64)
document เอกสาร เอกสาร PDF (เข้ารหัส base64)
audio เสียง ไฟล์เสียง
file_ref การอ้างอิงไฟล์ การอ้างอิงพาธไฟล์ในเครื่อง

วิธีการอัปโหลด

  1. อัปโหลดด้วยการลากวาง — ลากไฟล์ไปวางที่พื้นที่อินพุตโดยตรง
  2. อัปโหลดด้วยการคลิก — คลิกปุ่มไฟล์แนบในพื้นที่อินพุตเพื่อเลือกไฟล์
  3. การวาง — วางรูปภาพจากคลิปบอร์ด

อินพุตหลายรูปแบบ-CN

การปรับให้เข้ากับรูปแบบของโมเดล

ระบบจะแปลงรูปแบบอินพุตโดยอัตโนมัติตามผู้ให้บริการ LLM ที่กำลังใช้งานอยู่:

ผู้ให้บริการ รูปภาพ เอกสาร เสียง
Anthropic บล็อก base64 image ดั้งเดิม บล็อก base64 document ดั้งเดิม ไม่รองรับ
OpenAI image_url (data URI) ลดระดับเป็นคำอธิบายข้อความ บล็อก audio ดั้งเดิม
DeepSeek ไม่รองรับ ไม่รองรับ ไม่รองรับ

ระบบจะตรวจจับความสามารถหลายรูปแบบของโมเดลปัจจุบัน (vision / document / audio) โดยอัตโนมัติผ่านฟังก์ชัน resolveCapabilities โดยประเภทที่ไม่รองรับจะแจ้งเตือนผู้ใช้หรือดำเนินการแบบลดระดับ


เอาต์พุตหลายรูปแบบและการแสดงตัวอย่าง

การแสดงตัวอย่าง 9 ประเภท

ไฟล์ที่ Agent ส่งออกจะถูกระบุประเภทโดยอัตโนมัติและเรนเดอร์เป็นคอมโพเนนต์แสดงตัวอย่างที่สอดคล้องกัน:

ประเภทไฟล์ คอมโพเนนต์แสดงตัวอย่าง ปุ่มฟังก์ชัน
PDF PdfPreviewWindow ซูม (ขยาย/ย่อ/พอดีความกว้าง) เปลี่ยนหน้า แสดงเลขหน้า
PPT PptPreviewWindow นำทางสไลด์ (หน้าก่อนหน้า/หน้าถัดไป) ซูม
Excel / Word OfficePreviewWindow ซูม เปลี่ยนหน้า
โค้ด CodePreviewWindow เน้นไวยากรณ์ (หลายภาษา) คัดลอกไปยังคลิปบอร์ด
Markdown MarkdownPreviewWindow การแสดงตัวอย่างการเรนเดอร์ Markdown
HTML HtmlPreviewWindow การเรนเดอร์ iframe แบบฝัง
รูปภาพ MediaPreviewWindow ซูม ลากเพื่อเลื่อน
วิดีโอ MediaPreviewWindow เล่น/หยุดชั่วคราว แถบความคืบหน้า ควบคุมระดับเสียง
เสียง MediaPreviewWindow เล่น/หยุดชั่วคราว แถบความคืบหน้า

การ์ดแสดงตัวอย่างแบบอินไลน์

ไฟล์ที่ Agent ส่งออกจะปรากฏในสตรีมการสนทนาในรูปแบบ การ์ดแสดงตัวอย่างแบบอินไลน์ (InlinePreviewCard) ก่อนเป็นอันดับแรก:

การ์ดแสดงตัวอย่างแบบอินไลน์-CN

องค์ประกอบ คำอธิบาย
แถบชื่อเรื่อง ชื่อไฟล์ ตราสัญลักษณ์ประเภท ปุ่มดำเนินการ
เนื้อหาย่อ การแสดงตัวอย่างเนื้อหาไฟล์ (สถานะพับ ไล่ระดับสีด้านล่าง + คำแนะนำ "แสดงเพิ่มเติม")
เอฟเฟกต์เมื่อเลื่อนเมาส์ เส้นขอบเน้น + เงายกระดับ

ปุ่มดำเนินการ (ไอคอน + คำแนะนำเครื่องมือ):

ปุ่ม ฟังก์ชัน
ขยาย หน้าต่างแสดงตัวอย่างเต็มจอ
คัดลอก คัดลอกเนื้อหาไปยังคลิปบอร์ด
ตัวจัดการไฟล์ แสดงในตัวจัดการไฟล์ของระบบ (เฉพาะ APP)
เปิดภายนอก เปิดด้วยแอปพลิเคชันเริ่มต้น (ไฟล์ในเครื่อง) หรือเปิดในเบราว์เซอร์ (URL)

หน้าต่างแสดงตัวอย่างเต็มจอ

คลิกปุ่ม "ขยาย" เพื่อเข้าสู่หน้าต่างแสดงตัวอย่างเต็มจอ:

หน้าต่างแสดงตัวอย่างเต็มจอ-CN

แถบเครื่องมือแสดงตัวอย่าง (PreviewToolbar):

  • การควบคุมการซูม: ขยาย / ย่อ / พอดีความกว้าง
  • การนำทางหน้า: หน้าก่อนหน้า / หน้าถัดไป (เอกสารหลายหน้า)
  • สถานะเลขหน้า: หน้าปัจจุบัน / จำนวนหน้าทั้งหมด

ปุ่มลัด:

ปุ่มลัด ฟังก์ชัน
+ หรือ = ขยาย
- ย่อ
0 รีเซ็ตการซูม
Esc ปิดหน้าต่างแสดงตัวอย่าง

โหมดเลย์เอาต์การแสดงตัวอย่าง

โหมด ฝั่ง คำอธิบาย
Overlay (เลเยอร์ลอย) ค่าเริ่มต้นฝั่ง APP หน้าต่างเลเยอร์ลอยแบบตำแหน่งคงที่
Docked (เทียบท่า) ฝั่ง Web ฝังในแผงด้านขวาของ WorkPage

การแบ่งปันความสามารถระหว่าง Web และ APP

คอมโพเนนต์หลักของการแสดงตัวอย่างหลายรูปแบบถูกพัฒนาในชั้น claw-shared โดย Web และ APP ใช้โค้ดชุดเดียวกันร่วมกัน:

  • DocumentPreviewModal — คอนเทนเนอร์หน้าต่างแสดงตัวอย่าง
  • InlinePreviewCard — การ์ดแสดงตัวอย่างแบบอินไลน์
  • PreviewToolbar — แถบเครื่องมือแสดงตัวอย่าง
  • previewUtils.ts — เครื่องมือระบุประเภทไฟล์และโหลดไฟล์

ทั้งสองฝั่งใช้อินเทอร์เฟซ FileAccess เพื่อจัดโครงสร้างวิธีการอ่านไฟล์แบบนามธรรม:

  • ฝั่ง APP: อ่านผ่าน API ไฟล์ในเครื่องของ Tauri
  • ฝั่ง Web: โหลดผ่าน HTTP URL หรือ data URL


คู่มือการใช้งาน

วิธีส่งรูปภาพ/เอกสารให้กับ Agent

  1. อัปโหลดด้วยการลากวาง: ลากไฟล์จากเดสก์ท็อปหรือตัวจัดการไฟล์ไปวางที่พื้นที่อินพุตของ Work โดยตรง
  2. อัปโหลดด้วยการคลิก: คลิกปุ่มไฟล์แนบ 📎 ทางด้านซ้ายของพื้นที่อินพุต แล้วเลือกไฟล์
  3. วางรูปภาพ: คัดลอกรูปภาพแล้ววางด้วย Ctrl+V / Cmd+V ในพื้นที่อินพุต
  4. ไฟล์แนบจะปรากฏในแถบแสดงตัวอย่างด้านบนของพื้นที่อินพุต
  5. พิมพ์ข้อความอธิบายสิ่งที่คุณต้องการให้ Agent ทำ (เช่น "วิเคราะห์รูปภาพนี้") แล้วกด Enter เพื่อส่ง

ข้อจำกัดขนาดไฟล์: เครื่องมือ Read File รองรับไฟล์ขนาดสูงสุด 5MB สำหรับไฟล์ที่ใหญ่กว่านั้น แนะนำให้อัปโหลดไปยังที่จัดเก็บบนคลาวด์ก่อนแล้วจึงให้ลิงก์

วิธีใช้การแสดงตัวอย่างไฟล์

  1. เมื่อเอาต์พุตของ Agent มีไฟล์อยู่ การ์ดแสดงตัวอย่างแบบอินไลน์ จะปรากฏในสตรีมการสนทนา
  2. เลื่อนเมาส์ ไปที่การ์ดเพื่อดูข้อมูลเพิ่มเติม
  3. คลิกปุ่ม ขยาย เพื่อเข้าสู่การแสดงตัวอย่างเต็มจอ
  4. ใช้แถบเครื่องมือในการแสดงตัวอย่างเต็มจอเพื่อดำเนินการ (ซูม เปลี่ยนหน้า ฯลฯ)
  5. กด Esc หรือคลิกปุ่มปิดเพื่อออกจากการแสดงตัวอย่าง

คำถามที่พบบ่อย

ทำไมส่งรูปภาพแล้ว Agent ไม่วิเคราะห์?

  • โมเดลปัจจุบันอาจไม่รองรับความสามารถ vision ตรวจสอบว่าโมเดลในการกำหนดค่าโมเดล มีการทำเครื่องหมายว่ารองรับ vision หรือไม่ โมเดลตระกูล DeepSeek ไม่รองรับอินพุตรูปภาพ
  • แนะนำให้สลับไปใช้ Claude Sonnet 4 หรือ GPT-4o

ทำไมส่ง PDF แล้วได้กลับมาแค่ "ไม่รองรับ"?

  • ความสามารถ document ปัจจุบันรองรับแบบดั้งเดิมเฉพาะโมเดลตระกูล Anthropic (Claude) เท่านั้น เมื่อใช้โมเดล OpenAI ระบบจะดำเนินการกับ PDF แบบลดระดับ
  • ทางเลือก: ให้ Agent ใช้เครื่องมือ Read File เพื่ออ่านพาธไฟล์ PDF

ไฟล์แสดงผลผิดปกติในหน้าต่างแสดงตัวอย่าง

  • ยืนยันว่ารูปแบบไฟล์ถูกต้อง (เช่น ไฟล์ .xlsx ต้องไม่ใช้นามสกุล .csv)
  • ไฟล์ขนาดใหญ่มากอาจโหลดช้า กรุณารอให้โหลดเสร็จ
  • ไฟล์ Office บางรูปแบบพิเศษอาจต้องเปิดในแอปพลิเคชันภายนอก

เอกสารที่เกี่ยวข้อง