Void - โอเพนซอร์สทางเลือกแทน Cursor/GitHub Copilot
(github.com/voideditor)- Void เคยเป็นฟอร์กของ VS Code ที่สร้างขึ้นเพื่อให้ใช้ AI agent กับ codebase, แสดงภาพการเปลี่ยนแปลงเป็น checkpoint และนำโมเดลหรือโฮสต์แบบโลคัลมาใช้ได้ แต่ปัจจุบันอยู่ในสถานะ deprecated และไม่รับการมีส่วนร่วมเพิ่มเติมแล้ว
- โปรเจ็กต์ยังคงเป็นโอเพนซอร์สอยู่ และนักพัฒนาที่ต้องการฟอร์ก VS Code สามารถอ้างอิงลอจิกและโครงสร้างของ Void ได้
- README ระบุว่าส่วนที่ควรใช้อ้างอิงได้แก่ การรวม React + Tailwind, GitHub Actions สำหรับการแพ็กเกจ·ลงนาม·อัปเดตอัตโนมัติ, โค้ด AI provider ที่พัฒนาขึ้นเอง, และโครงสร้างสำหรับรองรับ IPC และ CSP
- Void ระบุว่าส่งข้อความไปยัง provider โดยตรงและไม่เก็บข้อมูล พร้อมรองรับไวยากรณ์การตอบกลับอย่าง autocomplete(FIM), แท็ก
<thinking>และแท็ก tool - แทนที่จะพัฒนาเวอร์ชันใหม่ ตอนนี้โปรเจ็กต์สนับสนุนการฟอร์กและการนำกลับมาใช้ผ่านเอกสารอย่าง Void Forks, Releases รุ่นเก่า, Codebase Guide, HOW_TO_CONTRIBUTE และ void-builder
สถานะโปรเจ็กต์
- Void อยู่ในสถานะ deprecated และไม่รับการมีส่วนร่วมเพิ่มเติมแล้ว
- ทีมงานขอบคุณชุมชนสำหรับโค้ดและการสนับสนุนที่ผ่านมา และระบุว่า Void จะยังคงเป็น โอเพนซอร์ส ต่อไป
- ระบุว่าโปรเจ็กต์ยังคงเป็นหนึ่งในแหล่งอ้างอิงที่ดีสำหรับผู้ที่ต้องการฟอร์ก VS Code
ดาวน์โหลดและเอกสารสำหรับการฟอร์ก
- ดูรายการฟอร์ก Void ล่าสุดได้ที่ Void Forks
- ดาวน์โหลดเวอร์ชันเก่าได้จาก Releases
- นักพัฒนาที่ทำฟอร์กของ VS Code สามารถอ้างอิง Codebase Guide และ How to Contribute
ส่วนที่น่าอ้างอิงในการทำฟอร์ก VS Code
- Void ทำการเมานต์ React + Tailwind
- ซึ่งทำไม่ได้ใน VS Code ปกติ จึงมีการขยาย build pipeline เพื่อรองรับการคอมไพล์ React และการจัดการ Tailwind scope
- การจัดการ Tailwind scope ใช้ scope
- สามารถคัดลอก GitHub Actions ไปใช้เพื่อ แพ็กเกจ ลงนาม และอัปเดตอัตโนมัติ ให้ Void ได้
- อธิบายว่า build pipeline ของ VS Code เป็นแบบปิด จึงโดยทั่วไปทำได้ยากมาก
- โค้ด AI provider ถูกพัฒนาขึ้นเองตั้งแต่ต้น
- รองรับ autocomplete(FIM) และการตอบกลับแบบกำหนดเอง
- เปิดเผยไวยากรณ์สำหรับแท็ก
<thinking>, แท็ก tool และอื่น ๆ ที่ใช้ร่วมกัน - สามารถใช้อ้างอิงสถาปัตยกรรมสำหรับการใช้ IPC และการรองรับ CSP ได้
- การแก้ไขไฟล์ใช้บริการแบบกำหนดเอง
- EditCodeService สามารถแสดง diff ได้แม้ในระดับโทเค็นขณะที่โค้ดกำลังสตรีม
- VoidModelService แก้ไขไฟล์ในเบื้องหลังและซิงก์ไฟล์ของ OS กับ text buffer
- ดูรายการรีโพซิทอรีทั้งหมดที่ประกอบเป็น Void ได้ที่ repos
คำอธิบายความสามารถของ Void
- Void ช่วยให้สามารถใช้ AI agents กับ codebase ได้
- สามารถบันทึกและแสดงภาพการเปลี่ยนแปลงเป็น checkpoint ได้
- สามารถนำโมเดลหรือโฮสต์ใด ๆ มาใช้แบบโลคัลได้
- ระบุว่าส่งข้อความไปยัง provider โดยตรงและไม่เก็บข้อมูลผู้ใช้
- รีโพซิทอรีนี้มีซอร์สโค้ดทั้งหมดของแอป Void Desktop
ลิงก์อ้างอิงและการสนับสนุน
- เว็บไซต์: Website
- โรดแมป: Roadmap
- แนวทางการมีส่วนร่วม: Contribute
- Void เป็นฟอร์กของรีโพซิทอรี vscode
- หากต้องการพัฒนา Void เวอร์ชันของตนเอง สามารถดู HOW_TO_CONTRIBUTE และ void-builder
- ช่องทางสนับสนุนคือ Discord server และอีเมล hello@voideditor.com
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เมื่อไม่นานมานี้ผมพยายาม รีแฟกเตอร์แอปโดยใช้ VSCode เหมือนเป็นแพลตฟอร์ม แล้วเจอปัญหาหนักจากการตัดสินใจออกแบบ UI บางอย่างที่ทั้งเลี่ยงก็ยากและดูแลต่อก็ยาก
Marketplace ส่วนขยายแบบปิดของ MS ก็ไม่ได้ช่วยเป้าหมายโอเพนซอร์สเช่นกัน
แต่จาก HN ผมได้รู้จัก Theia(https://theia-ide.org) และเพราะเป็นของมูลนิธิ มี Marketplace โอเพนซอร์ส และแก้ไขได้ทั้งหมด จึงดูเหมาะกับเป้าหมายโอเพนซอร์สมากกว่าเยอะ
ในทางทฤษฎียังเข้ากันได้กับ VSCode extension API ด้วย จึงแนะนำให้ลองพิจารณา Theia สำหรับแอปนี้
ช่วงนี้หลายโปรเจกต์เริ่มทำแบบนั้นกันแล้ว ถึงจะไม่ทั้งหมดแต่ก็มีค่อนข้างมาก
หรือการพูดถึง “eclipse” เป็นแค่ชื่อชนกันอย่างโชคร้ายเฉย ๆ ก็ไม่รู้
ในทางทฤษฎี Monaco editor เป็นส่วนหนึ่งของ repository ของ vscode และ “workbench” ที่เก็บการตั้งค่า/คอนฟิกอยู่ในชั้นที่อยู่เหนือขึ้นไป
อยากเห็นบทความที่อธิบายดี ๆ ว่าทำไมเครื่องมืออย่าง Cursor, Void ถึงตัดสินใจสร้าง editor ใหม่ แทนที่จะทำเป็นส่วนขยายของ editor เดิม (VSCode extension, JetBrains plugin)
สงสัยว่าเป็นเพราะข้อจำกัดทางเทคนิคของ extension API หรือเพราะ ทำการตลาด editor ใหม่ได้ง่ายกว่าส่วนขยายของ editor
สำหรับบุคคลหรือบริษัทเล็ก ๆ อาจนำมาใช้ได้ง่าย แต่สำหรับองค์กรใหญ่ที่ผสานรวมกับ IDE เดิมไว้หลายอย่างแล้ว การให้ย้ายไป IDE อีกตัวน่าจะเป็นข้อเรียกร้องที่ยาก
ฟีเจอร์ Command-K และ Copilot++ ทำเป็น extension ไม่ได้ และฟีเจอร์อีกมากที่อยากทำในอนาคตก็เช่นกัน
https://forum.cursor.com/t/why-not-a-plugin/2448/2
ผมมองว่าส่วนขยายมักมีบั๊กเยอะ หรือผสานรวมให้เป็นธรรมชาติได้ยาก เช่น Copilot ทำให้ selection กระตุก ส่วน Codeium หรือส่วนขยายโอเพนซอร์สอื่น ๆ ก็มีข้อจำกัดคล้ายกัน
หลายส่วนขยายใช้ dropdown แบบ quick pick สำหรับให้ผู้ใช้ป้อน prompt ซึ่งรู้สึกไม่เป็นธรรมชาติ
ถ้าจะหลีกเลี่ยงปัญหาเหล่านี้ การ เป็นเจ้าของ IDE เอง แบบ Cursor จึงสำคัญ และผมคิดว่านี่คือเหตุผลที่ Cursor ได้รับความนิยม
เรื่องที่การนำ IDE มาใช้ยากนั้นก็จริง ถ้าสร้างบนฐานที่ได้รับความนิยมอยู่แล้วก็เข้าถึงผู้ใช้กลุ่มเล็กได้ดีกว่า และในระยะยาวก็อยากโน้มน้าวบริษัทใหญ่ ๆ ด้วย privacy และการรวมศูนย์ฟีเจอร์ AI ที่ดี
ยังไม่เจอเหตุผลว่าทำไมต้องใช้ Cursor ทั้งที่ต้องยอมรับข้อเสียของการเป็น “fork”
แต่ช่วงนี้ส่วนใหญ่ย้ายไปใช้ Aider แล้ว
มีคนอื่นพูดถึงการหารายได้ ซึ่งนั่นอาจเป็นเหตุผลจริง ๆ ก็ได้
การมีการแข่งขันเพิ่มขึ้นเป็นเรื่องดี แต่แม้อาจฟังดูเสียมารยาทเล็กน้อย software fork ส่วนใหญ่ก็หายไป
อยากให้ช่วยโน้มน้าวว่าทำไมควรใช้สิ่งนี้แทน Continue + Claude-dev ซึ่งเป็นส่วนขยายโอเพนซอร์สที่ทำงานบน VSCode หรือ VSCodium พื้นฐานได้
แม้จะบอกว่า “Microsoft ก็ทำให้ extension marketplace เป็นแบบปิด” แต่ Open VSX Registry ก็มีอยู่
ขอแสดงความยินดีที่ทำมาถึงตรงนี้ และดูเหมือนว่าส่วนที่น่าสนุกกำลังจะเริ่มแล้ว
มีส่วนขยายและ AI editor จำนวนไม่น้อยที่ให้ tab autocomplete แบบ snippet แต่เท่าที่ผมรู้ มีเพียง Cursor ที่ทำ workflow การแก้อัตโนมัติด้วย “tab-tab-tab-tab” โดยไม่ดูทั้งไฟล์ได้อย่างจริงจัง
อาจเป็นการผสมระหว่างการแฮ็ก Monaco/VSCode กับโมเดลที่จูนเอง ไม่ใช่โมเดลภาษาขนาดใหญ่สำเร็จรูป เลยสงสัยว่าเวลาพูดว่า “ฟีเจอร์หลักทั้งหมดของ Cursor” หมายถึงจุดนี้หรือเปล่า หรือกำลังโฟกัสอย่างอื่น
Cursor “นำเข้า” ส่วนขยายที่ดาวน์โหลดไว้แล้วในโปรไฟล์ VSCode โลคัลได้ค่อนข้างดี แต่บางครั้งมีปัญหาในการใช้ marketplace API สำหรับค้นหาส่วนขยาย
ในฐานะจุดเริ่มต้น ควรพอใจกับวิธีประมาณนั้น และเพราะต้องรับมือกับ Microsoft ก็ควรใส่ใจเรื่องอย่าง brand guidelines ด้วย
ทางที่ดีอย่าบอกโลกว่ากำลัง “แฮ็ก” Microsoft API เพราะแม้จะดูเป็นเรื่องเล็ก แต่ถ้าสำเร็จขึ้นมาอาจกลายเป็นปัญหาได้
ถ้าตั้งใจจะรับสมัคร contributor ด้วย ก็ควรจัดระเบียบ GitHub workflow และ CI ให้มาก
ตอนนี้ ประวัติ commit ส่วนใหญ่เป็นการแก้เอกสารแล้ว commit เข้า branch main โดยตรงโดยไม่มี review หรือการตรวจสอบ และ commit แรก ๆ ที่เป็นอันเดียวซึ่งมีการตรวจดูเหมือนว่า Monaco check ล้มเหลวแล้วก็แค่ปิดทิ้งไป
ถ้าจะขยายโปรเจกต์หรือดึงดูด contributor ในระดับที่ต้องการ ควรกำหนด baseline ของการทดสอบและจัดระเบียบให้มากกว่านี้มาก
autocomplete ดีมาก และเวลารีแฟกเตอร์แทบเหมือนเวทมนตร์
หลังจากใช้ Cursor ตลอดทั้งเดือนแล้วลองกลับไปใช้ VSCode อีกครั้ง พอเทียบกันแล้ว Copilot แย่มากจริง ๆ
อยากใช้ Cursor ต่อไป แต่ไม่อยากซื้อ subscription ของ Claude สองรอบ Cursor ใช้ Claude อยู่ภายใน และผมชอบ Claude Sonnet มากกว่า ChatGPT
มันรวมโค้ดที่ AI สร้างเข้ากับโค้ดของผมให้เอง แล้วผมแค่อนุมัติหรือปฏิเสธ
ฟีเจอร์นี้ก็ดูเหมือนใช้ AI แบบ custom ด้วย และใช้วิธีเอา API key ของผมไปใช้ไม่ได้ ต้องมี subscription
เป็นเรื่องดีที่มีการแข่งขันเพิ่มขึ้นในพื้นที่ “AI editor” แต่สงสัยว่าทำไมไม่ทำเป็น ส่วนขยายของ VSCode
ฝั่งส่วนขยายน่าจะเข้าถึงได้ง่ายกว่ามาก
สงสัยว่ามีข้อจำกัดของ extension API ที่ทำให้การพัฒนายากหรือไม่
Void ได้รับการสนับสนุนจาก HN
ต้องคอยไล่ตามความแตกต่างระหว่าง fork กับผลิตภัณฑ์ต้นทางอยู่ตลอด และผมไม่อยากให้ workflow ของตัวเองต้องรับมือกับฟีเจอร์ที่หายไปหรือส่วนขยายที่พังระหว่างทาง
Cursor ให้ประสบการณ์ที่ค่อนข้างขัดเกลา แต่สุดท้ายก็กลับมาใช้ VSCode กับ continue.dev อยู่ดี แม้จะหยาบกว่ามาก แต่ UI ก็ทำงานได้ดีพอ
แต่ด้วยส่วนขยายอย่างเดียว ไม่มีวิธีที่ดีพอในการสร้าง native UI ตามที่ต้องการ
เช่น การแสดงก่อนและหลังการเปลี่ยนแปลงเป็นเรื่องหลัก แต่ในส่วนขยายมันไม่ให้ความรู้สึกเป็นธรรมชาติ
ส่วนขยายอย่าง Codeium ใช้วิธีตรงไปตรงมาที่สุด คือเขียนอะไรแบบ
<<<<<<< DIFF >>>>>>>>ลงไปในไฟล์เลย ทำให้ syntax highlighting พังส่วนขยายอื่น ๆ อย่าง Copilot ก็มีบั๊กเยอะ
ตอนนี้ Void สร้างอยู่บนส่วนขยาย แต่ก็แก้ไขและแทรกบางส่วนของ IDE เองด้วย เพื่อสร้างประสบการณ์ผู้ใช้ที่เป็น native มากขึ้น
ตัวอย่างเช่น ตอนนี้ AI editor อันดับหนึ่งของผมคือ Zed.dev ซึ่งตั้งค่า keymap หลายแบบรวมถึง JetBrains ได้ง่ายมาก
https://zed.dev/
มันทำให้สภาพแวดล้อม VSCode ทั้งหมดของผมพัง รวมถึงคีย์ลัด Vim ด้วย
ไม่แน่ใจว่าการทำแบบนี้จำเป็นต้อง “เป็นเจ้าของ” editor ทั้งตัวจริง ๆ หรือเปล่า
แค่รักษาให้ sync กับ upstream ก็เป็นภาระมหาศาลแล้ว และมองไม่เห็นว่าได้อะไรจากการทำแบบนั้น
อย่างที่คนอื่นพูดกัน ก็มี registry ทางเลือกอยู่ และการแนะนำให้ติดตั้งปลั๊กอินแยกต่างหากง่ายกว่าการให้ผู้ใช้ดาวน์โหลดและติดตั้ง editor ทั้งตัว
สงสัยว่าทำแค่ ส่วนขยาย Copilot ของตัวเอง แล้วเชื่อมกับ instance ของ ollama ไม่ได้หรือ
Continue ทำแบบนั้นไม่ใช่เหรอ? https://marketplace.visualstudio.com/items?itemName=Continue...
ยังอยู่ในขั้นแรกเริ่มจนยังดาวน์โหลดไม่ได้เลยหรือเปล่า? ไม่เข้าใจว่าทำไมต้องเข้า เซิร์ฟเวอร์ Discord เพื่อตัว code editor
สงสัยว่าแผนคืออะไรเมื่อ VS Code นำฟีเจอร์ทั้งหมดเข้าไปเอง
แต่ตอนนี้ยังอยู่ในระดับพื้นฐานจริง ๆ ใกล้เคียงกับ implementation ขั้นต่ำที่เรียก large language model จากหน้าต่างด้านข้าง และทำ view สำหรับ apply/reject ความแตกต่าง
ณ ตอนนี้แทบจะเป็นระดับโปรเจกต์สุดสัปดาห์
อาจเป็นเกมดูว่าใครจะถูก Microsoft ซื้อไป แล้วสุดท้ายกลายเป็นส่วนหนึ่งของ VS Code
ยังมี PearAI ด้วย เขาบอกว่าเป็น “โอเพนซอร์ส AI code editor ที่เป็น fork ของ VSCode และ Continue”
พื้นที่นี้เริ่มแออัดขึ้นเรื่อย ๆ: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI และตอนนี้ก็มี Void อีก
https://github.com/trypear/pearai-app
ผมเป็นหนึ่งในผู้สร้าง https://double.bot
อยากให้มีใครสักคน fork Omnivim2 เพื่อให้แข่งกับ VS Code ได้ดีขึ้น
ตามที่ผมเข้าใจ editor นี้หน้าตาเหมือน VS Code แต่ compile เป็น native และรองรับปลั๊กอินของ VS Code
น่าเสียดายที่โปรเจกต์ดูเหมือนถูกทิ้งไว้ และเขียนด้วย ReasonML
ผมเบื่อที่เครื่องมือพัฒนาถูกสร้างโดยมีเว็บเบราว์เซอร์เป็นศูนย์กลาง
ในยุค 90s และ 00s เราเคยมีแอป native เต็มรูปแบบที่ไม่จำเป็นต้องซับซ้อนเท่าตอนนี้
เพิ่มเติมคือมันทำงานโดยอิงกับ Vim ภายในด้วย ซึ่งในสายตาผมกลับเป็นจุดแข็ง
https://github.com/onivim/oni2
ดูเหมือนเป็น โพสต์ซ้ำ ของ Show HN อีกโพสต์จากผู้ใช้คนเดียวกันเมื่อ 4 วันก่อน
https://news.ycombinator.com/item?id=41523197
ใน FAQ ก็เขียนไว้: https://news.ycombinator.com/newsfaq.html#reposts
แค่กำลังพยายามเปิดตัวให้เร็ว