Skip to main content
Glama
README-th.md62.9 kB
# 🦐 Shrimp Task Manager Viewer อินเทอร์เฟซเว็บแบบโมเดิร์นที่ใช้ React สำหรับดูและจัดการงานของ [Shrimp Task Manager](https://github.com/cjo4m06/mcp-shrimp-task-manager) ที่สร้างผ่านเครื่องมือ MCP (Model Context Protocol) อินเทอร์เฟซแบบภาพนี้ช่วยให้คุณสามารถดูข้อมูลงานรายละเอียด ติดตามความคืบหน้าในโปรเจกต์หลายโปรเจกต์ และคัดลอก UUID ของงานเพื่อใช้กับ AI agent ได้อย่างง่ายดาย ## ทำไมต้องใช้ Shrimp Task Viewer? เมื่อใช้ Shrimp Task Manager เป็น MCP server กับ AI agent เช่น Claude ตัวแสดงผลนี้จะให้มุมมองที่จำเป็นสำหรับระบบงานของคุณ: - **ภาพรวมงานแบบภาพ**: ดูงานทั้งหมด สถานะ การพึ่งพา และความคืบหน้าในอินเทอร์เฟซแท็บที่สะอาด - **การจัดการ UUID**: คลิกที่ป้ายงานเพื่อคัดลอก UUID ทันทีสำหรับคำสั่งเช่น `"ใช้ตัวจัดการงานเพื่อทำงาน shrimp นี้ให้เสร็จ: [UUID]"` - **การดำเนินการแบบขนาน**: เปิดหลายเทอร์มินัลและใช้คอลัมน์การดำเนินการ AI (🤖) เพื่อคัดลอกคำแนะนำงานสำหรับการดำเนินการ AI agent แบบขนาน - **อัปเดตสด**: การอ่านไฟล์โดยตรงช่วยให้คุณมองเห็นสถานะงานปัจจุบันเสมอ - **การสนับสนุนหลายโปรเจกต์**: จัดการงานในโปรเจกต์ต่างๆ ด้วยแท็บโปรไฟล์ที่ลากได้ สำหรับข้อมูลการตั้งค่า Shrimp Task Manager เป็น MCP server ดู [repository หลัก](https://github.com/cjo4m06/mcp-shrimp-task-manager) ## 📖 เอกสารหน้าโดยละเอียด ### 📋 หน้างาน หน้างานหลักเป็นศูนย์กลางการควบคุมสำหรับการจัดการงาน จัดหามุมมองครอบคลุมของงานทั้งหมดในโปรไฟล์ที่เลือกพร้อมคุณสมบัติที่ทรงพลังสำหรับการจัดระเบียบและการดำเนินการ ![ภาพรวมหน้างาน](task-viewer-interface.png) **คุณสมบัติหลัก:** - **ตารางงาน**: แสดงงานทั้งหมดพร้อมคอลัมน์ที่เรียงได้ ได้แก่ หมายเลขงาน สถานะ เอเจนต์ วันที่สร้าง ชื่อ การพึ่งพา และการดำเนินการ - **ป้ายสถานะ**: ป้ายสีต่างๆ (🟡 รอดำเนินการ 🔵 กำลังดำเนินการ 🟢 เสร็จสิ้น 🔴 ถูกบล็อก) - **การมอบหมายเอเจนต์**: เซเลคเตอร์ดรอปดาวน์เพื่อกำหนด AI agent เฉพาะให้งาน - **ป็อปอัปตัวแสดงเอเจนต์**: คลิกไอคอนตา (👁️) เพื่อเปิดป็อปอัปที่คุณสามารถเรียกดูและเลือกเอเจนต์ - **คอลัมน์การพึ่งพา**: แสดง ID งานที่เชื่อมโยงพร้อมฟังก์ชันคลิกเพื่อนำทาง - **คอลัมน์การดำเนินการ**: ประกอบด้วยอิโมจิหุ่นยนต์ที่ทรงพลัง (🤖) สำหรับการดำเนินการงาน AI - **การนำทางรายละเอียดงาน**: เมื่อดูรายละเอียดงาน ใช้ปุ่ม ← ก่อนหน้า และ ถัดไป → เพื่อนำทางระหว่างงานอย่างรวดเร็ว #### 🤖 อิโมจิหุ่นยนต์ - การดำเนินการงาน AI อิโมจิหุ่นยนต์ในคอลัมน์การดำเนินการเป็นคุณสมบัติที่ทรงพลังสำหรับการดำเนินการงานด้วย AI: ![คำแนะนำอิโมจิหุ่นยนต์](releases/agent-copy-instruction-tooltip.png) **วิธีการทำงาน:** 1. **คลิก 🤖 อิโมจิ** เพื่อคัดลอกคำแนะนำการดำเนินการงานไปยังคลิปบอร์ด 2. **สำหรับงานที่มีเอเจนต์**: คัดลอก `ใช้ subagent ที่มีอยู่ในตัวที่อยู่ใน ./claude/agents/[agent-name] เพื่อทำงาน shrimp นี้ให้เสร็จ: [task-id] โปรดเมื่อคุณเริ่มทำงาน ให้ทำเครื่องหมายงาน shrimp เป็นกำลังดำเนินการ` 3. **สำหรับงานที่ไม่มีเอเจนต์**: คัดลอก `ใช้ตัวจัดการงานเพื่อทำงาน shrimp นี้ให้เสร็จ: [task-id] โปรดเมื่อคุณเริ่มทำงาน ให้ทำเครื่องหมายงาน shrimp เป็นกำลังดำเนินการ` 4. **ฟีดแบ็กแบบภาพ**: อิโมจิเปลี่ยนเป็น ✓ ชั่วขณะเพื่อยืนยันการดำเนินการคัดลอก **กรณีการใช้งาน:** - **การดำเนินการแบบขนาน**: เปิดหลายหน้าต่างเทอร์มินัลพร้อม AI agent ต่างๆ และวางคำแนะนำสำหรับการประมวลผลงานพร้อมกัน - **ความเชี่ยวชาญเอเจนต์**: กำหนดเอเจนต์เฉพาะทาง (เช่น `react-components.md`, `database-specialist.md`) ให้งานที่เหมาะสม - **การส่งมอบอย่างรวดเร็ว**: มอบหมายงานให้ AI agent อย่างรวดเร็วโดยไม่ต้องพิมพ์คำสั่งที่ซับซ้อน #### 🤖 การมอบหมายเอเจนต์แบบชุดด้วย AI หน้างานตอนนี้รวมการมอบหมายเอเจนต์แบบชุดด้วย AI โดยใช้ GPT-4 ของ OpenAI: **วิธีใช้:** 1. **เลือกงาน**: ใช้ช่องทำเครื่องหมายเพื่อเลือกงานหลายงานที่ต้องการการมอบหมายเอเจนต์ 2. **แถบการดำเนินการแบบชุด**: แถบสีน้ำเงินปรากฏขึ้นแสดง "🤖 มอบหมายเอเจนต์ AI (เลือก X งาน)" 3. **การมอบหมายแบบคลิกเดียว**: คลิกปุ่มเพื่อให้ GPT-4 วิเคราะห์งานและมอบหมายเอเจนต์ที่เหมาะสม 4. **การจับคู่อัตโนมัติ**: AI พิจารณาคำอธิบายงาน การพึ่งพา และความสามารถของเอเจนต์ **ความต้องการการตั้งค่า:** 1. **กำหนดค่า API Key**: ไปยัง การตั้งค่า → การตั้งค่าส่วนกลาง 2. **ป้อน OpenAI Key**: วางคีย์ OpenAI API ในช่อง (แสดงเป็น ✓ กำหนดค่าแล้ว เมื่อตั้งค่า) 3. **วิธีทางเลือก**: ตั้งค่าตัวแปรสภาพแวดล้อม `OPENAI_API_KEY` หรือ `OPEN_AI_KEY_SHRIMP_TASK_VIEWER` 4. **รับ API Key**: เยี่ยมชม [OpenAI Platform](https://platform.openai.com/api-keys) เพื่อสร้างคีย์ ![การตั้งค่าส่วนกลาง OpenAI Key](releases/global-settings-openai-key.png) *หน้าการตั้งค่าส่วนกลางมีช่องปลอดภัยเพื่อกำหนดค่าคีย์ OpenAI API ของคุณ* #### 📝 มุมมองรายละเอียดงาน คลิกที่แถวงานเพื่อเปิดมุมมองรายละเอียดงานพร้อมข้อมูลครอบคลุม: **คุณสมบัติ:** - **ข้อมูลงานเต็ม**: ดูคำอธิบายทั้งหมด หมายเหตุ คำแนะนำการดำเนินการ และเกณฑ์การตรวจสอบ - **การนำทางงาน**: ใช้ปุ่ม ← ก่อนหน้า และ ถัดไป → เพื่อเคลื่อนไหวระหว่างงานโดยไม่กลับไปยังรายชื่อ - **ไฟล์ที่เกี่ยวข้อง**: ดูไฟล์ทั้งหมดที่เชื่อมโยงกับงานพร้อมหมายเลขบรรทัด - **กราฟการพึ่งพา**: การแสดงภาพการพึ่งพางาน - **โหมดแก้ไข**: คลิกแก้ไขเพื่อเปลี่ยนรายละเอียดงาน (สำหรับงานที่ไม่เสร็จสิ้น) - **การดำเนินการด่วน**: คัดลอก ID งาน ดู JSON ดิบ หรือลบงาน **ประโยชน์ของการนำทาง:** - **การตรวจสอบที่มีประสิทธิภาพ**: ตรวจสอบงานหลายๆ งานตามลำดับอย่างรวดเร็ว - **การรักษาบริบท**: อยู่ในมุมมองรายละเอียดขณะเคลื่อนไหวระหว่างงาน - **การสนับสนุนคีย์บอร์ด**: ใช้ปุ่มลูกศรเพื่อการนำทางที่เร็วยิ่งขึ้น ### 📜 หน้าประวัติโปรเจกต์ หน้าประวัติโปรเจกต์ให้ข้อมูลเชิงลึกที่มีค่าเกี่ยวกับวิวัฒนาการของโปรเจกต์ของคุณโดยแสดงสแนปช็อตของงานที่เสร็จสิ้นที่บันทึกโดย Shrimp Task Manager ![ภาพรวมประวัติโปรเจกต์](releases/project-history-view.png) **คุณสมบัติ:** - **มุมมองไทม์ไลน์**: เรียกดูสแนปช็อตประวัติของสถานะงานโปรเจกต์ - **ไฟล์หน่วยความจำ**: บันทึกอัตโนมัติโดย Shrimp Task Manager เมื่อเริ่มเซสชันใหม่ - **วิวัฒนาการงาน**: ติดตามงานที่ก้าวหน้าจากการสร้างสู่การเสร็จสิ้น - **ระบบหมายเหตุ**: เพิ่มคำอธิบายส่วนตัวไปยังรายการประวัติ ![รายละเอียดประวัติโปรเจกต์](releases/project-history-detail-view.png) **การนำทาง:** - คลิกที่รายการประวัติเพื่อดูสถานะงานรายละเอียดในเวลานั้น - ใช้ปุ่มนำทางเพื่อเคลื่อนไหวระหว่างสแนปช็อตต่างๆ - ค้นหาและกรองงานประวัติเหมือนในมุมมองงานหลัก ### 🤖 หน้าซับเอเจนต์ หน้าซับเอเจนต์ให้คุณจัดการเอเจนต์ AI เฉพาะทางที่สามารถมอบหมายให้งานเพื่อการดำเนินการที่เหมาะสม ![มุมมองรายชื่อเอเจนต์พร้อมคำแนะนำ AI](releases/agent-list-view-with-ai-instruction.png) **คุณสมบัติ:** - **ไลบรารีเอเจนต์**: ดูเอเจนต์ที่พร้อมใช้งานทั้งหมดจากโฟลเดอร์ `.claude/agents` - **คอลัมน์คำแนะนำ AI**: คลิกอิโมจิหุ่นยนต์ (🤖) เพื่อคัดลอกคำแนะนำการใช้งานเอเจนต์ทันที - ตัวอย่าง: `ใช้ subagent debugger.md ที่อยู่ใน ./claude/agents เพื่อดำเนินการ:` - ไม่ต้องพิมพ์เส้นทางเอเจนต์ด้วยตนเองหรือจดจำไวยากรณ์ - ฟีดแบ็กแบบภาพยืนยันการคัดลอกสำเร็จไปยังคลิปบอร์ด - **เครื่องมือแก้ไขเอเจนต์**: เครื่องมือแก้ไข markdown ในตัวสำหรับสร้างและแก้ไขเอเจนต์ - **การเข้ารหัสสี**: กำหนดสีให้เอเจนต์เพื่อการจัดระเบียบแบบภาพ - **การมอบหมายเอเจนต์**: มอบหมายเอเจนต์ให้งานได้ง่ายผ่านดรอปดาวน์ในตารางงาน - **ป็อปอัปตัวแสดงเอเจนต์**: คลิกไอคอนตา (👁️) เพื่อเรียกดูและเลือกเอเจนต์ ![เครื่องมือแก้ไขเอเจนต์](releases/agent-editor-color-selection.png) **เวิร์กโฟลว์การมอบหมายเอเจนต์:** ![ดรอปดาวน์เอเจนต์](releases/agent-dropdown-task-table.png) 1. **เลือกเอเจนต์** จากดรอปดาวน์ในตารางงาน 2. **หรือคลิกไอคอนตา (👁️)** เพื่อเปิดป็อปอัปตัวแสดงเอเจนต์ 3. **เรียกดูเอเจนต์** ในป็อปอัปเพื่อหาเอเจนต์ที่เหมาะสำหรับงาน 4. **บันทึกอัตโนมัติ** อัปเดตข้อมูลเมตาของงาน 5. **ใช้อิโมจิหุ่นยนต์** เพื่อคัดลอกคำแนะนำการดำเนินการเฉพาะเอเจนต์ ![ป็อปอัปตัวแสดงเอเจนต์](releases/agent-viewer-popup.png) *ป็อปอัปตัวแสดงเอเจนต์ช่วยให้คุณเรียกดูเอเจนต์ที่พร้อมใช้งานทั้งหมดและเลือกเอเจนต์ที่ดีที่สุดสำหรับแต่ละงาน* ### 🎨 หน้าเทมเพลต จัดการเทมเพลตคำแนะนำ AI ที่แนะนำว่า Shrimp Task Manager ควรวิเคราะห์และดำเนินการประเภทต่างๆ อย่างไร ![การจัดการเทมเพลต](releases/template-management-system.png) **ความสามารถ:** - **เครื่องมือแก้ไขเทมเพลต**: เครื่องมือแก้ไข markdown แบบเต็มพร้อม syntax highlighting - **ประเภทเทมเพลต**: สถานะเริ่มต้น กำหนดเอง และ กำหนดเอง+เพิ่ม - **ตัวอย่างสด**: ดูผลกระทบของเทมเพลตก่อนเปิดใช้งาน - **ส่งออก/นำเข้า**: แชร์เทมเพลตกับสมาชิกทีม ### ⚙️ การตั้งค่าส่วนกลาง กำหนดค่าการตั้งค่าทั้งระบบรวมถึงเส้นทางโฟลเดอร์ Claude เพื่อเข้าถึงเอเจนต์ส่วนกลาง **การตั้งค่ารวม:** - **เส้นทางโฟลเดอร์ Claude**: ตั้งค่าเส้นทางไปยังโฟลเดอร์ `.claude` ส่วนกลาง - **การกำหนดค่า API Key**: จัดการตัวแปรสภาพแวดล้อมสำหรับบริการ AI - **ค่ากำหนดภาษา**: เปลี่ยนระหว่างภาษาที่รองรับ ## 🌟 คุณสมบัติ ### 🏷️ อินเทอร์เฟซแท็บแบบโมเดิร์น - **แท็บลากได้**: จัดลำดับโปรไฟล์ใหม่โดยการลากแท็บ - **การออกแบบระดับมืออาชีพ**: แท็บสไตล์เบราว์เซอร์ที่เชื่อมต่อกับเนื้อหาอย่างไร้รอยต่อ - **ฟีดแบ็กแบบภาพ**: การระบุแท็บที่ใช้งานที่ชัดเจนและเอฟเฟกต์ hover - **เพิ่มโปรไฟล์ใหม่**: ปุ่ม "+ เพิ่มแท็บ" ที่ผสานรวมกับการออกแบบอินเทอร์เฟซ ### 🔍 การค้นหาและการกรองขั้นสูง - **การค้นหาแบบเรียลไทม์**: การกรองงานทันทีตามชื่อ คำอธิบาย สถานะ หรือ ID - **คอลัมน์เรียงได้**: คลิกหัวคอลัมน์เพื่อเรียงตามฟิลด์ใดก็ได้ - **TanStack Table**: คอมโปเนนต์ตารางที่ทรงพลังพร้อมการแบ่งหน้าและการกรอง - **การออกแบบตอบสนอง**: ทำงานได้อย่างสมบูรณ์แบบบนเดสก์ท็อป แท็บเล็ต และมือถือ ### 🔄 การรีเฟรชอัตโนมัติอย่างชาญฉลาด - **ช่วงเวลาที่กำหนดได้**: เลือกจาก 5 วินาที 10 วินาที 15 วินาที 30 วินาที 1 นาที 2 นาที หรือ 5 นาที - **การควบคุมอัจฉริยะ**: การเปิด/ปิดการรีเฟรชอัตโนมัติพร้อมการเลือกช่วงเวลา - **ตัวบ่งชี้แบบภาพ**: สถานะการโหลดและการรีเฟรช - **การรีเฟรชด้วยตนเอง**: ปุ่มรีเฟรชแบบเฉพาะสำหรับการอัปเดตตามต้องการ ### 📊 การจัดการงานแบบครอบคลุม - **สถิติงาน**: จำนวนงานแบบสด สำหรับรวม เสร็จสิ้น กำลังดำเนินการ และรอดำเนินการ - **การจัดการโปรไฟล์**: เพิ่ม/ลบ/จัดลำดับใหม่โปรไฟล์ผ่านอินเทอร์เฟซที่ใช้งานง่าย - **การตั้งค่าแบบถาวร**: การกำหนดค่าโปรไฟล์บันทึกข้ามเซสชัน - **Hot Reload**: โหมดการพัฒนาพร้อมการอัปเดตทันที ### 🤖 คุณสมบัติที่ขับเคลื่อนด้วย AI - **การมอบหมายเอเจนต์แบบชุด**: เลือกงานหลายงานและใช้ GPT-4 เพื่อมอบหมายเอเจนต์ที่เหมาะสมโดยอัตโนมัติ - **การรวม OpenAI**: กำหนดค่า API key ในการตั้งค่าส่วนกลางหรือผ่านตัวแปรสภาพแวดล้อม - **การจับคู่อัจฉริยะ**: AI วิเคราะห์คำอธิบายงานและความสามารถของเอเจนต์เพื่อการมอบหมายที่เหมาะสม - **การแนะนำข้อผิดพลาด**: คำแนะนำที่ชัดเจนหาก API key ไม่ได้กำหนดค่า ### 📚 การควบคุมเวอร์ชันและประวัติ - **การรวม Git**: การคอมมิต Git อัตโนมัติติดตามการเปลี่ยนแปลงทุกรายการไปยัง tasks.json พร้อมข้อความพร้อมเวลาประทับ - **การตรวจสอบครบถ้วน**: ตรวจสอบประวัติเต็มของการแก้ไขงานโดยใช้เครื่องมือ Git มาตรฐาน - **การดำเนินการที่ไม่บล็อก**: ความล้มเหลวของ Git ไม่ได้ขัดขวางการจัดการงาน - **Repository แยก**: ประวัติงานถูกติดตามแยกจาก repository โปรเจกต์ของคุณ ### 🎨 UI/UX ระดับมืออาชีพ - **ธีมมืด**: เหมาะสมสำหรับสภาพแวดล้อมการพัฒนา - **เลย์เอาต์ตอบสนอง**: ปรับให้เข้ากับขนาดหน้าจอทั้งหมด - **การเข้าถึง**: การนำทางด้วยคีย์บอร์ดและการรองรับเครื่องอ่านหน้าจออย่างครบถ้วน - **องค์ประกอบแบบโต้ตอบ**: tooltip แบบ hover และฟีดแบ็กแบบภาพตลอดทั้งใช้งาน ## 🚀 เริ่มต้นอย่างรวดเร็ว ### การติดตั้งและการตั้งค่า 1. **โคลนและนำทางไปยังไดเรกทอรี task viewer** ```bash cd path/to/mcp-shrimp-task-manager/tools/task-viewer ``` 2. **ติดตั้งการพึ่งพา** ```bash npm install ``` 3. **สร้างแอปพลิเคชัน React** ```bash npm run build ``` 4. **เริ่มเซิร์ฟเวอร์** ```bash npm start ``` ตัวแสดงผลจะพร้อมใช้งานที่ `http://localhost:9998` ### โหมดการพัฒนา สำหรับการพัฒนาพร้อม hot reload: ```bash # เริ่มทั้งเซิร์ฟเวอร์ API และเซิร์ฟเวอร์การพัฒนา npm run start:all # หรือเรียกใช้แยกต่างหาก: npm start # เซิร์ฟเวอร์ API บนพอร์ต 9998 npm run dev # เซิร์ฟเวอร์การพัฒนา Vite บนพอร์ต 3000 ``` แอปจะพร้อมใช้งานที่ `http://localhost:3000` พร้อมการสร้างใหม่อัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์ ### การนำไปใช้งานจริง #### การนำไปใช้งานมาตรฐาน ```bash # สร้างสำหรับการใช้งานจริง npm run build # เริ่มเซิร์ฟเวอร์การใช้งานจริง npm start ``` #### บริการ Systemd (Linux) สำหรับการเริ่มต้นอัตโนมัติและการจัดการกระบวนการ: 1. **ติดตั้งเป็นบริการ** ```bash sudo ./install-service.sh ``` 2. **จัดการบริการ** ```bash # ตรวจสอบสถานะ systemctl status shrimp-task-viewer # เริ่ม/หยุด/รีสตาร์ท sudo systemctl start shrimp-task-viewer sudo systemctl stop shrimp-task-viewer sudo systemctl restart shrimp-task-viewer # ดูล็อก journalctl -u shrimp-task-viewer -f # ปิด/เปิดการเริ่มต้นอัตโนมัติ sudo systemctl disable shrimp-task-viewer sudo systemctl enable shrimp-task-viewer ``` 3. **ถอนการติดตั้งบริการ** ```bash sudo ./uninstall-service.sh ``` ## 🖥️ การใช้งาน ### เริ่มต้นใช้งาน 1. **เริ่มเซิร์ฟเวอร์**: ```bash npm start ``` **หมายเหตุ**: หากคุณยังไม่ได้สร้างแอปหรือต้องการใช้โหมดการพัฒนาพร้อม hot reload ใช้ `npm run start:all` แทน 2. **เปิดเบราว์เซอร์**: ไปยัง `http://127.0.0.1:9998` (การใช้งานจริง) หรือ `http://localhost:3000` (การพัฒนา) 3. **เพิ่มโปรไฟล์แรกของคุณ**: - คลิกปุ่ม "**+ เพิ่มแท็บ**" - ป้อนชื่อโปรไฟล์ที่อธิบายได้ (เช่น "งานทีม Alpha") - ป้อนเส้นทางไปยังโฟลเดอร์ข้อมูล shrimp ที่มี tasks.json - **เคล็ดลับ:** นำทางไปยังโฟลเดอร์ของคุณในเทอร์มินัลและพิมพ์ `pwd` เพื่อรับเส้นทางเต็ม - คลิก "**เพิ่มโปรไฟล์**" 4. **จัดการงานของคุณ**: - เปลี่ยนระหว่างโปรไฟล์โดยใช้แท็บ - ค้นหางานโดยใช้ช่องค้นหา - เรียงคอลัมน์โดยคลิกหัวข้อ - กำหนดค่าการรีเฟรชอัตโนมัติตามความจำเป็น ### การจัดการแท็บ - **เปลี่ยนโปรไฟล์**: คลิกแท็บใดก็ได้เพื่อเปลี่ยนไปยังโปรไฟล์นั้น - **จัดลำดับแท็บใหม่**: ลากแท็บเพื่อจัดเรียงในลำดับที่คุณต้องการ - **เพิ่มโปรไฟล์ใหม่**: คลิกปุ่ม "**+ เพิ่มแท็บ**" - **ลบโปรไฟล์**: คลิก × บนแท็บใดก็ได้ (พร้อมการยืนยัน) ### การค้นหาและการกรอง - **การค้นหาทั่วไป**: พิมพ์ในช่องค้นหาเพื่อกรองข้ามฟิลด์งานทั้งหมด - **การเรียงคอลัมน์**: คลิกหัวคอลัมน์เพื่อเรียง (คลิกอีกครั้งเพื่อย้อนกลับ) - **การแบ่งหน้า**: นำทางรายชื่องานขนาดใหญ่ด้วยการควบคุมการแบ่งหน้าในตัว - **การอัปเดตแบบเรียลไทม์**: การค้นหาและการเรียงอัปเดตทันทีขณะพิมพ์ ### การกำหนดค่าการรีเฟรชอัตโนมัติ 1. **เปิดใช้งานการรีเฟรชอัตโนมัติ**: ทำเครื่องหมายที่ช่อง "การรีเฟรชอัตโนมัติ" 2. **ตั้งค่าช่วงเวลา**: เลือกจากดรอปดาวน์ (5 วินาที ถึง 5 นาที) 3. **การรีเฟรชด้วยตนเอง**: คลิกปุ่ม 🔄 ทุกเมื่อเพื่อรีเฟรชทันที 4. **ฟีดแบ็กแบบภาพ**: สปินเนอร์แสดงระหว่างการดำเนินการรีเฟรช ## 🔧 การกำหนดค่า ### ตัวแปรสภาพแวดล้อม เพื่อทำให้ตัวแปรสภาพแวดล้อมคงอยู่ข้ามเซสชันเทอร์มินัล เพิ่มเข้าไปในไฟล์การกำหนดค่า shell: **สำหรับ macOS/Linux พร้อม Zsh** (ค่าเริ่มต้นบน macOS สมัยใหม่): ```bash # เพิ่มไปยัง ~/.zshrc echo 'export SHRIMP_VIEWER_PORT=9998' >> ~/.zshrc echo 'export SHRIMP_VIEWER_HOST=127.0.0.1' >> ~/.zshrc # โหลดการกำหนดค่าใหม่ source ~/.zshrc ``` **สำหรับ Linux/Unix พร้อม Bash**: ```bash # เพิ่มไปยัง ~/.bashrc echo 'export SHRIMP_VIEWER_PORT=9998' >> ~/.bashrc echo 'export SHRIMP_VIEWER_HOST=127.0.0.1' >> ~/.bashrc # โหลดการกำหนดค่าใหม่ source ~/.bashrc ``` **ทำไมต้องเพิ่มลงในการกำหนดค่า shell?** - **ความคงอยู่**: ตัวแปรที่ตั้งค่าด้วย `export` ในเทอร์มินัลมีอายุเฉพาะเซสชันนั้น - **ความสม่ำเสมอ**: หน้าต่างเทอร์มินัลใหม่ทั้งหมดจะมีการตั้งค่าเหล่านี้ - **ความสะดวก**: ไม่ต้องตั้งค่าตัวแปรทุกครั้งที่เริ่มเซิร์ฟเวอร์ **ตัวแปรที่พร้อมใช้งาน**: ```bash SHRIMP_VIEWER_PORT=9998 # พอร์ตเซิร์ฟเวอร์ (ค่าเริ่มต้น: 9998) SHRIMP_VIEWER_HOST=127.0.0.1 # โฮสต์เซิร์ฟเวอร์ (localhost เท่านั้น) OPENAI_API_KEY=sk-... # คีย์ OpenAI API สำหรับการมอบหมายเอเจนต์ AI OPEN_AI_KEY_SHRIMP_TASK_VIEWER=sk-... # ตัวแปรทางเลือกสำหรับคีย์ OpenAI ``` ### การกำหนดค่าการพัฒนา - **การพัฒนาพร้อม hot reload (แนะนำสำหรับการพัฒนา)**: ```bash npm run start:all # เรียกใช้เซิร์ฟเวอร์ API (9998) + เซิร์ฟเวอร์การพัฒนา Vite (3000) ``` **ทำไมใช้ start:all?** คำสั่งนี้เรียกใช้ทั้งเซิร์ฟเวอร์ API และเซิร์ฟเวอร์การพัฒนา Vite พร้อมกัน คุณจะได้การแทนที่โมดูลร้อนทันที (HMR) สำหรับการเปลี่ยนแปลง UI ขณะมีฟังก์ชัน API แบบเต็ม การเปลี่ยนแปลงของคุณจะปรากฏทันทีในเบราว์เซอร์ที่ `http://localhost:3000` โดยไม่ต้องรีเฟรชด้วยตนเอง - **เฉพาะเซิร์ฟเวอร์ API (สำหรับการใช้งานจริงหรือการทดสอบ API)**: ```bash npm start # เรียกใช้บนพอร์ต 9998 ``` **ทำไมใช้เฉพาะเซิร์ฟเวอร์ API?** ใช้นี้เมื่อคุณได้สร้างไฟล์การใช้งานจริงและต้องการทดสอบแอปเต็มในรูปแบบที่จะเรียกใช้ในการใช้งานจริง หรือเมื่อคุณต้องการเฉพาะ API endpoints - **สร้างและให้บริการสำหรับการใช้งานจริง**: ```bash npm run build && npm start # สร้างแล้วให้บริการบนพอร์ต 9998 ``` **ทำไมต้องสร้างสำหรับการใช้งานจริง?** การสร้างการใช้งานจริงเพิ่มประสิทธิภาพโค้ดโดยการย่อ JavaScript ลบโค้ดที่ตาย และรวม assets อย่างมีประสิทธิภาพ ส่งผลให้เวลาโหลดเร็วขึ้นและประสิทธิภาพที่ดีขึ้นสำหรับผู้ใช้ปลายทาง ใช้การสร้างการใช้งานจริงเสมอเมื่อนำไปใช้งาน ### การจัดเก็บข้อมูลโปรไฟล์ **ทำความเข้าใจการจัดการข้อมูลโปรไฟล์**: Task Viewer ใช้วิธีการผสมผสานในการจัดเก็บข้อมูลที่ให้ความสำคัญกับทั้งความคงอยู่และความแม่นยำแบบเรียลไทม์ การกำหนดค่าโปรไฟล์ (เช่น ชื่อแท็บ เส้นทางโฟลเดอร์ และลำดับแท็บ) ถูกเก็บในท้องถิ่นในไฟล์การตั้งค่า JSON ในไดเรกทอรี home ขณะที่ข้อมูลงานถูกอ่านจากโฟลเดอร์โปรเจกต์โดยตรงแบบเรียลไทม์ - **ไฟล์การตั้งค่า**: `~/.shrimp-task-viewer-settings.json` ไฟล์ซ่อนนี้ในไดเรกทอรี home เก็บการกำหนดค่าโปรไฟล์ทั้งหมดรวมถึงชื่อแท็บ เส้นทางโฟลเดอร์ การเรียงลำดับแท็บ และค่ากำหนดอื่นๆ มันถูกสร้างอัตโนมัติเมื่อคุณเพิ่มโปรไฟล์แรกและอัปเดตเมื่อคุณทำการเปลี่ยนแปลง คุณสามารถแก้ไขไฟล์นี้ด้วยตนเองหากจำเป็น แต่ระมัดระวังในการรักษาการจัดรูปแบบ JSON ที่ถูกต้อง - **ไฟล์งาน**: อ่านโดยตรงจากเส้นทางโฟลเดอร์ที่ระบุ (ไม่มีการอัปโหลด) ไม่เหมือนแอปพลิเคชันเว็บดั้งเดิมที่อัปโหลดและเก็บสำเนาไฟล์ Task Viewer อ่านไฟล์ `tasks.json` โดยตรงจากเส้นทางโฟลเดอร์ที่คุณระบุ สิ่งนี้ช่วยให้คุณเห็นสถานะปัจจุบันของงานเสมอโดยไม่ต้องอัปโหลดใหม่หรือซิงค์ เมื่อคุณเพิ่มโปรไฟล์ คุณเพียงแค่บอกตัวแสดงผลว่าให้มองหาไฟล์ tasks.json ที่ไหน - **Hot Reload**: การเปลี่ยนแปลงการพัฒนาสร้างใหม่อัตโนมัติ เมื่อเรียกใช้ในโหมดการพัฒนา (`npm run dev`) การเปลี่ยนแปลงใดๆ ในโค้ดต้นฉบับจะทริกเกอร์การสร้างใหม่อัตโนมัติและการรีเฟรชเบราว์เซอร์ สิ่งนี้ใช้กับคอมโปเนนต์ React สไตล์ และโค้ดเซิร์ฟเวอร์ ทำให้การพัฒนาเร็วขึ้นและมีประสิทธิภาพมากขึ้น ### ประวัติงาน Git **การควบคุมเวอร์ชันอัตโนมัติ**: เริ่มต้นด้วย v3.0 Shrimp Task Manager ติดตามการเปลี่ยนแปลงงานทั้งหมดโดยใช้ Git โดยอัตโนมัติ สิ่งนี้ให้การตรวจสอบที่สมบูรณ์โดยไม่ต้องการการกำหนดค่าด้วยตนเอง - **ตำแหน่ง Repository**: `<shrimp-data-directory>/.git` แต่ละโปรเจกต์จะได้ Git repository ของตัวเองในไดเรกทอรีข้อมูลที่กำหนดค่าในไฟล์ `.mcp.json` ของคุณ สิ่งนี้แยกโดยสมบูรณ์จาก Git repository หลักของโปรเจกต์ ป้องกันความขัดแย้งหรือการรบกวนใดๆ - **การดูประวัติ**: ใช้คำสั่ง Git มาตรฐานเพื่อสำรวจประวัติงาน ```bash cd <shrimp-data-directory> git log --oneline # ดูประวัติการคอมมิต git show <commit-hash> # ดูการเปลี่ยนแปลงเฉพาะ git diff HEAD~5 # เปรียบเทียบกับ 5 การคอมมิตก่อน ``` - **รูปแบบการคอมมิต**: การคอมมิตทั้งหมดรวมเวลาประทับและข้อความอธิบาย ``` [2025-08-07T13:45:23-07:00] เพิ่มงานใหม่: Implement user authentication [2025-08-07T14:12:10-07:00] อัปเดตงาน: Fix login validation [2025-08-07T14:45:55-07:00] การดำเนินการงานแบบชุด: โหมด append, 6 งาน ``` - **การกู้คืน**: คืนค่าสถานะงานก่อนหน้าหากจำเป็น ```bash cd <shrimp-data-directory> git checkout <commit-hash> -- tasks.json # คืนค่าเวอร์ชันเฉพาะ git reset --hard <commit-hash> # รีเซ็ตเต็มไปยังสถานะก่อนหน้า ``` ## 🏗️ สถาปัตยกรรมทางเทคนิค ### เทคโนโลยีสแต็ค - **Frontend**: React 19 + Vite สำหรับการพัฒนา hot reload - **คอมโปเนนต์ตาราง**: TanStack React Table สำหรับคุณสมบัติตารางขั้นสูง - **การจัดสไตล์**: CSS กำหนดเองพร้อมธีมมืดและการออกแบบตอบสนอง - **Backend**: เซิร์ฟเวอร์ HTTP Node.js พร้อม RESTful API - **ระบบสร้าง**: Vite สำหรับการพัฒนาที่รวดเร็วและการสร้างการใช้งานจริงที่เหมาะสม ### โครงสร้างไฟล์ **องค์กรโปรเจกต์**: Task Viewer ปฏิบัติตามโครงสร้างแบบโมดูลาร์ที่สะอาดซึ่งแยกความกังวลและทำให้ codebase ง่ายต่อการนำทางและขยาย แต่ละไดเรกทอรีและไฟล์มีวัตถุประสงค์เฉพาะในสถาปัตยกรรมแอปพลิเคชัน ``` task-viewer/ ├── src/ # โค้ดต้นฉบับแอปพลิเคชัน React │ ├── App.jsx # คอมโปเนนต์ React หลัก - จัดการสถานะ โปรไฟล์ และแท็บ │ ├── components/ # คอมโปเนนต์ React ที่ใช้ซ้ำได้ │ │ ├── TaskTable.jsx # ตาราง TanStack สำหรับแสดงและเรียงงาน │ │ ├── Help.jsx # ตัวแสดงผล README พร้อมการเรนเดอร์ markdown │ │ └── ReleaseNotes.jsx # ประวัติเวอร์ชันพร้อม syntax highlighting │ ├── data/ # ข้อมูลคงที่และการกำหนดค่า │ │ └── releases.js # ข้อมูลเมตาการเผยแพร่และข้อมูลเวอร์ชัน │ └── index.css # ระบบการจัดสไตล์สมบูรณ์พร้อมธีมมืด ├── releases/ # ไฟล์ markdown และรูปภาพบันทึกการเผยแพร่ │ ├── v*.md # ไฟล์บันทึกการเผยแพร่แต่ละเวอร์ชัน │ └── *.png # ภาพหน้าจอและรูปภาพสำหรับการเผยแพร่ ├── dist/ # เอาต์พุตการสร้างการใช้งานจริง (สร้างอัตโนมัติ) │ ├── index.html # จุดเข้าใช้งาน HTML ที่เหมาะสม │ └── assets/ # JS, CSS และ assets อื่นๆ ที่รวมกัน ├── server.js # เซิร์ฟเวอร์ Node.js API แบบ Express ├── cli.js # อินเทอร์เฟซบรรทัดคำสั่งสำหรับการจัดการบริการ ├── vite.config.js # การกำหนดค่าเครื่องมือสร้างสำหรับการพัฒนา/การใช้งานจริง ├── package.json # ข้อมูลเมตาโปรเจกต์ การพึ่งพา และสคริปต์ npm ├── install-service.sh # ตัวติดตั้งบริการ systemd Linux └── README.md # เอกสารครอบคลุม (ไฟล์นี้) ``` **ไดเรกทอรีหลักที่อธิบายแล้ว**: - **`src/`**: มีโค้ดต้นฉบับ React ทั้งหมด นี่คือที่ที่คุณจะทำการเปลี่ยนแปลง UI ส่วนใหญ่ - **`dist/`**: การสร้างการใช้งานจริงที่สร้างอัตโนมัติ ไม่ต้องแก้ไขไฟล์เหล่านี้โดยตรง - **`releases/`**: เก็บบันทึกการเผยแพร่ในรูปแบบ markdown พร้อมรูปภาพที่เกี่ยวข้อง - **ไฟล์รูท**: การกำหนดค่าและไฟล์เซิร์ฟเวอร์ที่จัดการการสร้าง การให้บริการ และการนำไปใช้งาน ### API Endpoints - `GET /` - ให้บริการแอปพลิเคชัน React - `GET /api/agents` - แสดงรายชื่อโปรไฟล์ที่กำหนดค่าทั้งหมด - `GET /api/tasks/{profileId}` - ส่งคืนงานสำหรับโปรไฟล์เฉพาะ - `POST /api/add-profile` - เพิ่มโปรไฟล์ใหม่พร้อมเส้นทางโฟลเดอร์ - `DELETE /api/remove-profile/{profileId}` - ลบโปรไฟล์ - `PUT /api/rename-profile/{profileId}` - เปลี่ยนชื่อโปรไฟล์ - `PUT /api/update-profile/{profileId}` - อัปเดตการตั้งค่าโปรไฟล์ - `GET /api/readme` - ส่งคืนเนื้อหา README สำหรับแท็บช่วยเหลือ - `GET /releases/*.md` - ให้บริการไฟล์ markdown บันทึกการเผยแพร่ - `GET /releases/*.png` - ให้บริการรูปภาพบันทึกการเผยแพร่ ## 🛠️ การพัฒนา ### การตั้งค่าสภาพแวดล้อมการพัฒนา ```bash # ติดตั้งการพึ่งพา npm install # เริ่มเซิร์ฟเวอร์การพัฒนาพร้อม hot reload npm run dev # เซิร์ฟเวอร์การพัฒนาเรียกใช้บน http://localhost:3000 # เซิร์ฟเวอร์ backend API เรียกใช้บน http://localhost:9998 ``` ### การสร้างสำหรับการใช้งานจริง ```bash # สร้างบันเดิลการใช้งานจริงที่เหมาะสม npm run build # ไฟล์ถูกสร้างในไดเรกทอรี dist/ # เริ่มเซิร์ฟเวอร์การใช้งานจริง npm start ``` ### การขยายอินเทอร์เฟซ สถาปัตยกรรม React แบบโมดูลาร์ทำให้ง่ายต่อการขยาย: 1. **เพิ่มคอมโปเนนต์ใหม่**: สร้างใน `src/components/` 2. **แก้ไขการจัดสไตล์**: แก้ไข `src/index.css` พร้อม CSS custom properties 3. **เพิ่มคุณสมบัติ**: ขยาย `App.jsx` ด้วยสถานะและฟังก์ชันใหม่ 4. **การรวม API**: เพิ่ม endpoints ใน `server.js` ## 🔒 ความปลอดภัยและประสิทธิภาพ ### คุณสมบัติความปลอดภัย - **การผูก Localhost**: เซิร์ฟเวอร์เข้าถึงได้เฉพาะจากเครื่องในท้องถิ่น - **การเข้าถึงไฟล์โดยตรง**: อ่านไฟล์งานโดยตรงจากเส้นทางระบบไฟล์ - **ไม่มีการพึ่งพาภายนอก**: แบบครบชุดพร้อมพื้นผิวการโจมตีที่น้อยที่สุด - **การป้องกัน CORS**: API endpoints ป้องกันด้วยส่วนหัว CORS ### การปรับปรุงประสิทธิภาพ - **การแทนที่โมดูลร้อน**: การอัปเดตการพัฒนาทันที - **การแบ่ง Code**: การโหลดบันเดิลที่เหมาะสม - **การเรนเดอร์ที่มีประสิทธิภาพ**: รูปแบบการปรับปรุง React - **การแคช**: การแคช static asset เพื่อการโหลดที่เร็วขึ้น - **รูปภาพตอบสนอง**: เหมาะสมสำหรับขนาดอุปกรณ์ทั้งหมด ## 🐛 การแก้ไขปัญหา ### ปัญหาทั่วไป **เซิร์ฟเวอร์ไม่เริ่มต้น** ```bash # ตรวจสอบว่าพอร์ตถูกใช้งาน lsof -i :9998 # ฆ่ากระบวนการที่มีอยู่ pkill -f "node.*server.js" # ลองพอร์ตอื่น SHRIMP_VIEWER_PORT=8080 node server.js ``` **แท็บช่วยเหลือ/Readme แสดง HTML** หากแท็บช่วยเหลือแสดง HTML แทนเนื้อหา README เซิร์ฟเวอร์ต้องรีสตาร์ทเพื่อโหลด API endpoints ใหม่: ```bash # หยุดเซิร์ฟเวอร์ (Ctrl+C) แล้วรีสตาร์ท npm start ``` **Hot Reload ไม่ทำงาน** ```bash # ตรวจสอบให้แน่ใจว่าการพึ่งพาการพัฒนาได้รับการติดตั้งแล้ว npm install # รีสตาร์ทเซิร์ฟเวอร์การพัฒนา npm run dev ``` **งานไม่โหลด** 1. ตรวจสอบว่าไฟล์ `tasks.json` มี JSON ที่ถูกต้อง 2. ตรวจสอบสิทธิ์ไฟล์ที่อ่านได้ 3. ตรวจสอบคอนโซลเบราว์เซอร์สำหรับข้อความข้อผิดพลาด 4. ใช้ปุ่มรีเฟรชด้วยตนเองเพื่อโหลดข้อมูลใหม่ **ข้อผิดพลาดการสร้าง** ```bash # ล้าง node_modules และติดตั้งใหม่ rm -rf node_modules package-lock.json npm install # ล้างแคช Vite rm -rf dist/ npm run build ``` ## 📋 Changelog ### Version 2.1.0 (ล่าสุด) - 2025-07-29 #### 🚀 คุณสมบัติหลัก - **การสนับสนุนเส้นทางไฟล์โดยตรง**: แทนที่การอัปโหลดไฟล์ด้วยการป้อนเส้นทางโฟลเดอร์โดยตรงสำหรับการอัปเดตสด - **แท็บช่วยเหลือ/Readme**: เพิ่มแท็บเอกสารพร้อมการเรนเดอร์ markdown - **แท็บบันทึกการเผยแพร่**: ตัวแสดงผลบันทึกการเผยแพร่ในแอปพร้อมการรองรับรูปภาพ - **การพึ่งพาที่คลิกได้**: นำทางระหว่างงานที่พึ่งพาได้อย่างง่ายดาย - **คอลัมน์การดำเนินการ AI**: คัดลอกคำแนะนำ AI เพื่อทำงานให้เสร็จ - **การจัดการ UUID ที่ปรับปรุง**: คลิกป้ายงานเพื่อคัดลอก UUID - **การแก้ไขโปรไฟล์**: เปลี่ยนชื่อโปรไฟล์และกำหนดค่า project roots - **การสนับสนุน ES Module**: แปลงเป็น ES modules เพื่อความเข้ากันได้ที่ดีขึ้น #### 🐛 การแก้ไขที่สำคัญ - **แก้ไขปัญหาการคัดลอกไฟล์คงที่**: ตอนนี้ไฟล์ถูกอ่านโดยตรงจากเส้นทางที่ระบุแทนการสร้างสำเนาคงที่ใน `/tmp/` ### Version 1.0.3 - 2025-07-26 #### 🧪 การทดสอบและความน่าเชื่อถือ - **ชุดทดสอบครอบคลุม**: เพิ่มการครอบคลุมการทดสอบแบบเต็มด้วย Vitest - **การทดสอบคอมโปเนนต์**: การทดสอบ React Testing Library สำหรับคอมโปเนนต์ทั้งหมด - **การทดสอบการรวม**: การทดสอบ end-to-end ของเซิร์ฟเวอร์และ API endpoints - **การแก้ไขข้อบกพร่อง**: แก้ไขการจัดการข้อมูลฟอร์ม multipart ในการจัดการโปรไฟล์ ### Version 1.0.2 - 2025-07-26 #### 🎨 มุมมองรายละเอียดงาน - **การนำทางในแท็บ**: แทนที่ modal ด้วยรายละเอียดงานในแท็บที่ไร้รอยต่อ - **ปุ่มย้อนกลับ**: การนำทางง่ายๆ กลับไปยังรายชื่องาน - **UX ที่ปรับปรุง**: เวิร์กโฟลว์ที่ดีขึ้นโดยไม่มีการขัดจังหวะป็อปอัป ### Version 1.0.1 - 2025-07-13 #### 🎨 การปรับปรุง UI ครั้งใหญ่ - **อินเทอร์เฟซแท็บแบบโมเดิร์น**: แท็บสไตล์เบราว์เซอร์แบบมืออาชีพพร้อมการเรียงลำดับแบบ drag & drop - **การออกแบบที่เชื่อมต่อ**: การเชื่อมต่อแบบภาพที่ไร้รอยต่อระหว่างแท็บและเนื้อหา - **เลย์เอาต์ที่ปรับปรุง**: การค้นหาและการควบคุมจัดตำแหน่งใหม่สำหรับเวิร์กโฟลว์ที่ดีขึ้น #### ⚡ ฟังก์ชันที่ปรับปรุง - **การรีเฟรชอัตโนมัติที่กำหนดได้**: เลือกช่วงเวลาจาก 5 วินาทีถึง 5 นาที - **การค้นหาขั้นสูง**: การกรองแบบเรียลไทม์ข้ามฟิลด์งานทั้งหมด - **คอลัมน์เรียงได้**: คลิกหัวข้อเพื่อเรียงตามคอลัมน์ใดก็ได้ - **Hot Reload การพัฒนา**: การอัปเดตทันทีระหว่างการพัฒนา #### 🔧 การปรับปรุงทางเทคนิค - **สถาปัตยกรรม React**: เขียนใหม่ครบถ้วนโดยใช้ React 19 + Vite - **TanStack Table**: คอมโปเนนต์ตารางแบบมืออาชีพพร้อมการแบ่งหน้า - **การออกแบบตอบสนอง**: แนวทาง mobile-first พร้อมการปรับปรุง breakpoint - **ประสิทธิภาพ**: การเรนเดอร์ที่เหมาะสมและการจัดการสถานะที่มีประสิทธิภาพ ### Version 1.0.0 - 2025-07-01 #### 🚀 การเผยแพร่เริ่มต้น - **ตัวแสดงผลพื้นฐาน**: การดำเนินการเริ่มต้นพร้อมอินเทอร์เฟซเว็บพื้นฐาน - **การจัดการโปรไฟล์**: เพิ่มและลบโปรไฟล์งาน - **Server API**: RESTful endpoints สำหรับข้อมูลงาน - **การแสดงงาน**: ดูงานจากโปรเจกต์หลายโปรเจกต์ ## 📄 ใบอนุญาต ใบอนุญาต MIT - ดูรายละเอียดในใบอนุญาตโปรเจกต์หลัก ## 🤝 การมีส่วนร่วม เครื่องมือนี้เป็นส่วนหนึ่งของโปรเจกต์ MCP Shrimp Task Manager ยินดีต้อนรับการมีส่วนร่วม! 1. Fork repository 2. สร้าง feature branch (`git checkout -b feature/amazing-feature`) 3. ทำการเปลี่ยนแปลงพร้อมการทดสอบที่เหมาะสม 4. คอมมิตการเปลี่ยนแปลง (`git commit -m 'Add amazing feature'`) 5. Push ไปยัง branch (`git push origin feature/amazing-feature`) 6. ส่ง pull request ### แนวทางการพัฒนา - ปฏิบัติตาม React best practices และรูปแบบ hooks - รักษาหลักการออกแบบตอบสนอง - เพิ่มประเภท TypeScript ที่เหมาะสมตามที่ใช้ - ทดสอบข้ามเบราว์เซอร์และอุปกรณ์ต่างๆ - อัปเดตเอกสารสำหรับคุณสมบัติใหม่ --- **การจัดการงานที่มีความสุข! 🦐✨** สร้างด้วย ❤️ โดยใช้ React, Vite และเทคโนโลยีเว็บสมัยใหม่

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cjo4m06/mcp-shrimp-task-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server