ScreenTranslate - แอปเมนูบาร์ macOS แบบ on-device ที่แคปหน้าจอแล้วแปลได้ทันที (โอเพนซอร์ส)
(github.com/hcmhcs)สวัสดีครับ ผมเป็นนักพัฒนานักศึกษาคนหนึ่ง!
ช่วงนี้ผมเริ่มสนใจด้าน AI agent เลยลองแกะ system prompt ที่อยู่บน OpenClaw มาศึกษา ว่าทำไม agent ถึงให้ผลลัพธ์ที่ดีกว่าการให้ LLM ให้เหตุผลแบบธรรมดามาก และมันประกอบด้วย system prompt กับโครงสร้างแบบไหนบ้าง (ผมอยากสร้าง AI agent ที่เหมาะกับงานของตัวเองเพื่อเพิ่ม productivity น่ะครับ 555) แต่พอ system prompt ในโค้ดบน vscode เป็นภาษาอังกฤษทั้งหมด แถมเอกสารที่เกี่ยวข้องก็เป็นภาษาอังกฤษทั้งหมดเหมือนกัน การต้องเปิดแท็บนักแปลทิ้งไว้แล้วสลับไปมา คอยคัดลอกวางเพื่ออ่าน ทำให้บริบทขาดเป็นช่วงๆ จนไม่มีสมาธิเลยครับ ยิ่งในกรณีที่คัดลอกข้อความไม่ได้อย่างรูปภาพหรือ PDF ก็ยิ่งอึดอัดเข้าไปอีก
ระหว่างนั้นผมก็มองแอปที่ใช้ประจำอย่าง ScreenHint (แอปที่ตรึงภาพแคปเจอร์ไว้บนหน้าจอ) แล้วคิดว่า “ถ้า UX แบบนี้สามารถแปลพื้นที่ที่แคปไว้ได้ทันทีคงดี” ผมยังเป็นนักศึกษาอยู่ การต้องจ่ายค่า API แปลทุกครั้งก็เป็นภาระพอสมควร เลยตั้งต้นให้มันทำงานแบบ on-device เป็นหลัก พอดีกับที่ Claude Code ช่วยให้ผมนำไอเดียนี้มาสร้างได้อย่างรวดเร็ว และนี่ก็เลยกลายเป็นโปรเจกต์โอเพนซอร์สตัวแรกของผม
ScreenTranslate — เป็นแอป macOS ที่เมื่อแคปหน้าจอแล้วจะทำ OCR → แปลทันที ทำงานอยู่บนเมนูบาร์และเรียกใช้ได้ทันทีด้วยคีย์ลัด
มีฟีเจอร์หลักอยู่ 2 อย่าง:
- แปลจากการแคปหน้าจอ — กดคีย์ลัด → ลากเลือกพื้นที่ → OCR ตรวจจับข้อความแล้วแสดงป๊อปอัปคำแปล
- แปลข้อความ — เลือกข้อความ → กดคีย์ลัด → แปลได้ทันที (ไม่ต้องใช้ OCR)
ฟรีและเป็นโอเพนซอร์ส (GPL v3) ครับ ทำงานแบบ on-device ดังนั้นข้อมูลการแปลจะไม่ถูกส่งออกไปยังเซิร์ฟเวอร์เลย
จุดเด่น:
- ใช้ Apple Vision OCR + Apple Translation ทำงานได้แม้ไม่มีอินเทอร์เน็ต
- เร็วกว่าแอปหลักของ DeepL แบบรู้สึกได้ ตั้งแต่แคปหน้าจอจนถึงป๊อปอัปคำแปลใช้เวลาประมาณ 1 วินาที
- ถ้าต้องการใช้ cloud engine ก็รองรับ DeepL, Google Cloud, Azure แบบ BYOK (ใส่ API key เอง)
- บันทึกประวัติการแปล, คัดลอกลงคลิปบอร์ดอัตโนมัติ
- รองรับ 20 ภาษา
เทคสแตก:
- macOS 15+ / Swift 6 / SwiftUI / SwiftData
- โฟลว์ภายใน: Vision(VNRecognizeTextRequest) → ประมวลผลล่วงหน้าเรื่องการขึ้นบรรทัดใหม่ → Translation or API → ป๊อปอัป
- ไม่มี dependency ภายนอก ใช้เฉพาะ Apple native framework เท่านั้น (ข้อกำหนด: macos 15+ ขึ้นไป - รองรับทั้ง Apple Silicon/Intel)
GitHub: https://github.com/hcmhcs/screenTranslate
เดโมวิดีโอ: https://www.youtube.com/watch?v=ItYNAyue7eo
ดาวน์โหลด: รับไฟล์ DMG จาก GitHub Releases หรือจะ build เองก็ได้ (ดูไฟล์ README.md)
ตอนแรกผมทำแบบง่ายๆ ไว้ใช้คนเดียวเลยแอบเขินเหมือนกัน แต่ผมก็รู้สึกว่าผลงานออกมาค่อนข้างดี เลยลองเปิดตัวบน Product Hunt เป็นครั้งแรกด้วย พร้อมทั้งเริ่มรับผู้ใช้จริงและอัปเดตต่อเนื่องจากฟีดแบ็กที่ได้รับครับ!
นี่เป็นโปรเจกต์โอเพนซอร์สเดี่ยวโปรเจกต์แรกของผม อาจยังมีหลายจุดที่ไม่สมบูรณ์ ถ้ามีฟีดแบ็กหรือ PR ก็จะขอบคุณมากครับ :)
2 ความคิดเห็น
ใช้งานได้ดีมากครับ!
ขอบคุณสำหรับคอมเมนต์ที่อบอุ่นนะครับ! ช่วงนี้ผมก็กำลังค่อย ๆ ปรับแต่งนู่นนี่เพื่อให้ใช้งานสะดวกขึ้นอยู่พอดีเลย คำบอกว่าคุณใช้งานได้ดีนี่เป็นแรงผลักดันที่ยิ่งใหญ่มากจริง ๆ ครับ 555 ถ้าระหว่างใช้งานมีจุดไหนที่ไม่สะดวก ก็พูดบอกได้สบาย ๆ ได้ทุกเมื่อเลยนะครับ :)