เครื่องมือ

Clew มีเครื่องมือในตัว 50+ รายการ พร้อมเครื่องมือ MCP ที่โหลดแบบไดนามิก เครื่องมือถูกเรียกโดยโมเดล AI ผ่านบล็อก tool_use

วิธีการทำงานของเครื่องมือ

เครื่องมือถูกกำหนดด้วย Zod schemas ใน src/Tool.ts ผ่านตัวช่วย buildTool() และลงทะเบียนใน src/tools.ts

โมเดลส่ง tool_use
  ปรับมาตรฐานการเรียกใช้เครื่องมือ (toolCallParser.ts)
  ตรวจสอบสิทธิ์ (permissions.ts)
  ฮุค PreToolUse (ปลั๊กอิน)
  ดำเนินการเครื่องมือ (StreamingToolExecutor)
  ฮุค PostToolUse (ปลั๊กอิน)
  ส่งคืนผลลัพธ์เป็น tool_result
  วนซ้ำคำถามต่อไป

การดำเนินการไฟล์และโค้ด

เครื่องมือคำอธิบาย
Readอ่านไฟล์พร้อมหมายเลขบรรทัด, รองรับรูปภาพ, PDF, Jupyter notebooks
Writeสร้างไฟล์ใหม่พร้อมเนื้อหาเต็ม
Editแก้ไขแบบแทนที่สตริงที่แน่นอน
Globค้นหาไฟล์ด้วย pattern, เรียงตามเวลาแก้ไข
Grepค้นหาเนื้อหาด้วย regex พร้อมบรรทัดบริบท
NotebookEditแก้ไขเซลล์ Jupyter notebook

เชลล์และระบบ

เครื่องมือคำอธิบาย
Bashรันคำสั่ง shell พร้อม timeout, background, sandbox
Monitorสตรีม stdout/stderr จากงานพื้นหลังแบบเรียลไทม์
TaskOutputรับผลลัพธ์จากงานที่กำลังรันหรือเสร็จแล้ว

ค้นหาและเว็บ

เครื่องมือคำอธิบาย
WebSearchค้นหาเว็บหลายผู้ให้บริการ (Tavily, Brave, Serper, SearXNG, DuckDuckGo)
WebFetchดึงและวิเคราะห์เนื้อหาจาก URL
SessionSearchค้นหาข้อความเต็มในประวัติเซสชันที่ผ่านมา

ความปลอดภัยและสิทธิ์ของเครื่องมือ

แต่ละเครื่องมือประกาศ:

  • isEnabled() — พร้อมใช้งานใน build ปัจจุบันหรือไม่
  • isConcurrencySafe() — รันพร้อมกับเครื่องมืออื่นได้หรือไม่
  • isReadOnly() — ไม่แก้ไขระบบไฟล์
  • isDestructive() — ดำเนินการที่ไม่สามารถย้อนกลับ