สถาปัตยกรรม

Clew คือผู้ช่วยเขียนโค้ด AI บนเทอร์มินัล — React/Ink TUI, CLI Commander.js, เครื่องยนต์ AI หลายผู้ให้บริการ, และรันไทม์เครื่องมือ/ปลั๊กอินที่ขยายได้ในกระบวนการเดียว

การออกแบบแบบชั้น

แอปพลิเคชันถูกจัดโครงสร้างเป็นสี่ชั้นที่ทำงานร่วมกัน:

1. Terminal UI (React 19 + Ink 6)

แสดง REPL แบบโต้ตอบ: อินพุต prompt, ผลลัพธ์ markdown แบบสตรีม, แถบสถานะพร้อมมาตรวัดบริบท, สไปนเนอร์, กล่องโต้ตอบสิทธิ์, ตัวสำรวจไฟล์, และโหมดเต็มหน้าจอ

2. CLI และชั้นคำสั่ง (Commander.js 13)

จุดเข้าที่ src/main.tsx — แยกวิเคราะห์ CLI flags, โหลดการตั้งค่า, เริ่มต้นผู้ให้บริการและ telemetry, แล้วเปิด REPL หรือโหมดพิมพ์

3. ชั้นผู้ให้บริการ AI และ Adapter

ProviderManager (src/services/ai/ProviderManager.ts) จัดการการแก้ไขคีย์ API, เลือกโมเดล, และจัดการการตั้งค่าผู้ให้บริการ ขณะนี้มี 27 ผู้ให้บริการ

4. การดำเนินการเครื่องมือและ Query Loop

เครื่องมือใช้ Zod schemas และดำเนินการโดย StreamingToolExecutor (src/services/tools/StreamingToolExecutor.ts)

ระบบย่อยหลัก

MCP (Model Context Protocol)

src/services/mcp/ — จัดการการเชื่อมต่อเซิร์ฟเวอร์ MCP ภายนอก, การค้นพบเครื่องมือ, การเข้าถึงทรัพยากร ดู MCP สำหรับรายละเอียด

ปลั๊กอินและฮุค

src/services/plugins/ — การโหลดปลั๊กอิน, การติดตั้ง, การรวม marketplace, และการส่งฮุค

โหมด Bridge

src/bridge/bridgeMain.ts — การควบคุมระยะไกลและการทำงานร่วมกันผ่าน WebSocket

รันไทม์เอเจนต์

src/agentRuntime/ — จัดการการจัดระเบียบหลายเอเจนต์

อัตโนมัติ / Daemon

src/services/autonomous/ — เปิดใช้งานการดำเนินการพื้นหลัง 24/7 คิวงาน, วนซ้ำเอเจนต์, โหมด daemon ดู โหมด Daemon

พาธซอร์สที่สำคัญ

พาธบทบาท
src/main.tsxจุดเข้า CLI, โปรแกรม Commander, การแยกวิเคราะห์ตัวเลือก, การเปิด REPL
src/query.tsการประมวลผลคำถามหลัก, การสร้างข้อความ, วนซ้ำการเรียกใช้เครื่องมือ
src/commands.tsทะเบียนคำสั่ง slash (80+ คำสั่ง)
src/tools.tsทะเบียนเครื่องมือ (40+ เครื่องมือในตัว)
src/services/ai/ProviderManager.tsการเลือกผู้ให้บริการ, การแก้ไขคีย์ API
src/services/ai/providers.jsonการตั้งค่าผู้ให้บริการ (27 ผู้ให้บริการ)