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

การปรับให้เข้ากับรูปแบบของโมเดล
ระบบจะแปลงรูปแบบอินพุตโดยอัตโนมัติตามผู้ให้บริการ LLM ที่กำลังใช้งานอยู่:
| ผู้ให้บริการ | รูปภาพ | เอกสาร | เสียง |
|---|---|---|---|
| Anthropic | บล็อก base64 image ดั้งเดิม | บล็อก base64 document ดั้งเดิม | ไม่รองรับ |
| OpenAI | image_url (data URI) | ลดระดับเป็นคำอธิบายข้อความ | บล็อก audio ดั้งเดิม |
| DeepSeek | ไม่รองรับ | ไม่รองรับ | ไม่รองรับ |
ระบบจะตรวจจับความสามารถหลายรูปแบบของโมเดลปัจจุบัน (vision / document / audio) โดยอัตโนมัติผ่านฟังก์ชัน resolveCapabilities โดยประเภทที่ไม่รองรับจะแจ้งเตือนผู้ใช้หรือดำเนินการแบบลดระดับ
เอาต์พุตหลายรูปแบบและการแสดงตัวอย่าง
การแสดงตัวอย่าง 9 ประเภท
ไฟล์ที่ Agent ส่งออกจะถูกระบุประเภทโดยอัตโนมัติและเรนเดอร์เป็นคอมโพเนนต์แสดงตัวอย่างที่สอดคล้องกัน:
| ประเภทไฟล์ | คอมโพเนนต์แสดงตัวอย่าง | ปุ่มฟังก์ชัน |
|---|---|---|
| PdfPreviewWindow | ซูม (ขยาย/ย่อ/พอดีความกว้าง) เปลี่ยนหน้า แสดงเลขหน้า | |
| PPT | PptPreviewWindow | นำทางสไลด์ (หน้าก่อนหน้า/หน้าถัดไป) ซูม |
| Excel / Word | OfficePreviewWindow | ซูม เปลี่ยนหน้า |
| โค้ด | CodePreviewWindow | เน้นไวยากรณ์ (หลายภาษา) คัดลอกไปยังคลิปบอร์ด |
| Markdown | MarkdownPreviewWindow | การแสดงตัวอย่างการเรนเดอร์ Markdown |
| HTML | HtmlPreviewWindow | การเรนเดอร์ iframe แบบฝัง |
| รูปภาพ | MediaPreviewWindow | ซูม ลากเพื่อเลื่อน |
| วิดีโอ | MediaPreviewWindow | เล่น/หยุดชั่วคราว แถบความคืบหน้า ควบคุมระดับเสียง |
| เสียง | MediaPreviewWindow | เล่น/หยุดชั่วคราว แถบความคืบหน้า |
การ์ดแสดงตัวอย่างแบบอินไลน์
ไฟล์ที่ Agent ส่งออกจะปรากฏในสตรีมการสนทนาในรูปแบบ การ์ดแสดงตัวอย่างแบบอินไลน์ (InlinePreviewCard) ก่อนเป็นอันดับแรก:

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

แถบเครื่องมือแสดงตัวอย่าง (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
- อัปโหลดด้วยการลากวาง: ลากไฟล์จากเดสก์ท็อปหรือตัวจัดการไฟล์ไปวางที่พื้นที่อินพุตของ Work โดยตรง
- อัปโหลดด้วยการคลิก: คลิกปุ่มไฟล์แนบ 📎 ทางด้านซ้ายของพื้นที่อินพุต แล้วเลือกไฟล์
- วางรูปภาพ: คัดลอกรูปภาพแล้ววางด้วย Ctrl+V / Cmd+V ในพื้นที่อินพุต
- ไฟล์แนบจะปรากฏในแถบแสดงตัวอย่างด้านบนของพื้นที่อินพุต
- พิมพ์ข้อความอธิบายสิ่งที่คุณต้องการให้ Agent ทำ (เช่น "วิเคราะห์รูปภาพนี้") แล้วกด Enter เพื่อส่ง
ข้อจำกัดขนาดไฟล์: เครื่องมือ Read File รองรับไฟล์ขนาดสูงสุด 5MB สำหรับไฟล์ที่ใหญ่กว่านั้น แนะนำให้อัปโหลดไปยังที่จัดเก็บบนคลาวด์ก่อนแล้วจึงให้ลิงก์
วิธีใช้การแสดงตัวอย่างไฟล์
- เมื่อเอาต์พุตของ Agent มีไฟล์อยู่ การ์ดแสดงตัวอย่างแบบอินไลน์ จะปรากฏในสตรีมการสนทนา
- เลื่อนเมาส์ ไปที่การ์ดเพื่อดูข้อมูลเพิ่มเติม
- คลิกปุ่ม ขยาย เพื่อเข้าสู่การแสดงตัวอย่างเต็มจอ
- ใช้แถบเครื่องมือในการแสดงตัวอย่างเต็มจอเพื่อดำเนินการ (ซูม เปลี่ยนหน้า ฯลฯ)
- กด Esc หรือคลิกปุ่มปิดเพื่อออกจากการแสดงตัวอย่าง
คำถามที่พบบ่อย
ทำไมส่งรูปภาพแล้ว Agent ไม่วิเคราะห์?
- โมเดลปัจจุบันอาจไม่รองรับความสามารถ vision ตรวจสอบว่าโมเดลในการกำหนดค่าโมเดล มีการทำเครื่องหมายว่ารองรับ vision หรือไม่ โมเดลตระกูล DeepSeek ไม่รองรับอินพุตรูปภาพ
- แนะนำให้สลับไปใช้ Claude Sonnet 4 หรือ GPT-4o
ทำไมส่ง PDF แล้วได้กลับมาแค่ "ไม่รองรับ"?
- ความสามารถ document ปัจจุบันรองรับแบบดั้งเดิมเฉพาะโมเดลตระกูล Anthropic (Claude) เท่านั้น เมื่อใช้โมเดล OpenAI ระบบจะดำเนินการกับ PDF แบบลดระดับ
- ทางเลือก: ให้ Agent ใช้เครื่องมือ Read File เพื่ออ่านพาธไฟล์ PDF
ไฟล์แสดงผลผิดปกติในหน้าต่างแสดงตัวอย่าง
- ยืนยันว่ารูปแบบไฟล์ถูกต้อง (เช่น ไฟล์ .xlsx ต้องไม่ใช้นามสกุล .csv)
- ไฟล์ขนาดใหญ่มากอาจโหลดช้า กรุณารอให้โหลดเสร็จ
- ไฟล์ Office บางรูปแบบพิเศษอาจต้องเปิดในแอปพลิเคชันภายนอก
เอกสารที่เกี่ยวข้อง
- ภาพรวมการสนทนา Work — เลย์เอาต์อินเทอร์เฟซและจุดเข้าใช้งาน
- การโต้ตอบการสนทนา — สตรีมข้อความและการจัดการเซสชัน
- การจัดการเครื่องมือ — ความสามารถในการส่งออกไฟล์ของเครื่องมือ
