Void - Mã nguồn mở thay thế Cursor/GitHub Copilot
(github.com/voideditor)- Void từng là một fork của VS Code cho phép sử dụng AI agent trong codebase, trực quan hóa các thay đổi dưới dạng checkpoint và đưa mô hình hoặc host cục bộ vào, nhưng hiện đang ở trạng thái deprecated và không còn nhận đóng góp
- Dự án vẫn là mã nguồn mở, và các nhà phát triển muốn fork VS Code có thể tham khảo logic và cấu trúc của Void
- README giới thiệu các phần có thể tham khảo như tích hợp React + Tailwind, GitHub Actions cho đóng gói, ký và tự động cập nhật, mã AI provider tự triển khai, cùng cấu trúc xử lý IPC và CSP
- Void cho biết họ gửi tin nhắn trực tiếp tới provider và không lưu trữ dữ liệu; hỗ trợ cú pháp phản hồi như autocomplete(FIM), thẻ
<thinking>và thẻ tool - Thay vì phát triển phiên bản mới, dự án hiện đang hỗ trợ việc fork và tái sử dụng thông qua các tài liệu như Void Forks, các bản Releases cũ, Codebase Guide, HOW_TO_CONTRIBUTE và void-builder
Trạng thái dự án
- Void đang ở trạng thái deprecated và không còn nhận đóng góp
- Dự án bày tỏ lời cảm ơn tới các đóng góp mã nguồn và sự hỗ trợ từ cộng đồng, đồng thời Void vẫn tiếp tục là mã nguồn mở
- Dự án cho biết Void vẫn là một trong những tham chiếu tốt khi fork VS Code
Tải xuống và tài liệu fork
- Có thể xem danh sách các fork Void mới nhất tại Void Forks
- Có thể tải các phiên bản cũ tại Releases
- Nhà phát triển fork VS Code có thể tham khảo Codebase Guide và How to Contribute
Các phần đáng tham khảo khi triển khai fork VS Code
- Void mount React + Tailwind
- Điều này không khả thi trong VS Code thông thường, nên Void đã mở rộng pipeline build để xử lý biên dịch React và phạm vi Tailwind
- Việc xử lý phạm vi Tailwind sử dụng scope
- Có thể sao chép GitHub Actions để đóng gói, ký và tự động cập nhật Void
- Dự án giải thích rằng pipeline build của VS Code là riêng tư nên nhìn chung việc này rất khó
- Mã AI provider được triển khai trực tiếp từ đầu
- Hỗ trợ autocomplete(FIM) và phản hồi tùy chỉnh
- Cung cấp cú pháp cho các thẻ phổ biến như
<thinking>và thẻ tool - Có thể tham khảo kiến trúc sử dụng IPC và đáp ứng CSP
- Việc chỉnh sửa tệp sử dụng các dịch vụ tùy chỉnh
- EditCodeService có thể hiển thị diff theo từng token khi mã được stream
- VoidModelService chỉnh sửa tệp ở nền và đồng bộ hóa tệp OS với text buffer
- Có thể xem danh sách toàn bộ repository cấu thành Void tại repos
Mô tả tính năng của Void
- Void cho phép sử dụng AI agents trong codebase
- Có thể lưu và trực quan hóa các thay đổi dưới dạng checkpoint
- Có thể đưa bất kỳ mô hình hoặc host nào về cục bộ
- Void cho biết họ gửi tin nhắn trực tiếp tới provider và không lưu trữ dữ liệu người dùng
- Repository này chứa toàn bộ mã nguồn của ứng dụng Void Desktop
Liên kết tham khảo và hỗ trợ
- Website: Website
- Lộ trình: Roadmap
- Hướng dẫn đóng góp: Contribute
- Void là một fork của repository vscode
- Nếu muốn phát triển phiên bản Void riêng, có thể tham khảo HOW_TO_CONTRIBUTE và void-builder
- Các kênh hỗ trợ là Discord server và email hello@voideditor.com
1 bình luận
Ý kiến trên Hacker News
Gần đây tôi đã thử dùng VSCode như một nền tảng để refactor ứng dụng, nhưng bị vấp nặng bởi các quyết định thiết kế UI không dễ lách qua cũng khó bảo trì
Marketplace tiện ích mở rộng không công khai của MS cũng không giúp gì cho mục tiêu mã nguồn mở
Thay vào đó, trên HN tôi biết đến Theia(https://theia-ide.org), và vì nó thuộc sở hữu của một foundation, có marketplace mã nguồn mở, có khả năng chỉnh sửa toàn bộ, nên có vẻ phù hợp hơn nhiều với mục tiêu mã nguồn mở
Về lý thuyết nó cũng tương thích với API extension của VSCode, nên khuyên ứng dụng này cũng nên cân nhắc Theia
Dạo này nhiều dự án bắt đầu làm như vậy; không phải tất cả, nhưng cũng khá nhiều
Hay việc nhắc đến “eclipse” chỉ là một vụ trùng tên không may
Trình soạn thảo Monaco về lý thuyết là một phần của repo vscode, còn “workbench” chứa thiết lập/cấu hình nằm ở tầng phía trên
Sẽ hay nếu có một bài viết tóm tắt rõ vì sao các công cụ như Cursor, Void lại quyết định tạo trình soạn thảo mới thay vì extension cho editor hiện có (extension VSCode, plugin JetBrains)
Tôi tò mò đó là do giới hạn kỹ thuật của extension API, hay vì marketing một editor mới dễ hơn một extension cho editor
Với cá nhân hoặc công ty nhỏ thì có thể dễ đưa vào sử dụng, nhưng các tổ chức lớn vốn đã tích hợp nhiều thứ với IDE hiện có, nên việc khiến họ chuyển sang thêm một IDE nữa có vẻ là yêu cầu khó
Các tính năng Command-K và Copilot++ không thể làm bằng extension, và nhiều tính năng họ muốn xây trong tương lai cũng vậy
https://forum.cursor.com/t/why-not-a-plugin/2448/2
Tôi cho rằng extension thường nhiều lỗi hoặc khó tích hợp một cách tự nhiên. Ví dụ Copilot làm vùng chọn bị nhảy lung tung, Codeium hay các extension mã nguồn mở khác cũng có các hạn chế tương tự
Nhiều extension dùng dropdown chọn nhanh cho phần nhập prompt của người dùng, điều này tạo cảm giác thiếu tự nhiên
Để tránh các vấn đề như vậy, việc sở hữu trực tiếp IDE như Cursor là quan trọng, và tôi nghĩ đó cũng là lý do Cursor phổ biến
Đúng là việc đưa một IDE vào sử dụng không dễ. Nếu xây trên một nền tảng đã phổ biến thì có thể tiếp cận nhóm người dùng nhỏ tốt hơn, và về dài hạn họ muốn thuyết phục cả các công ty lớn bằng quyền riêng tư cùng sự tập trung hóa các tính năng AI tốt
Tôi vẫn chưa tìm được lý do phải dùng Cursor trong khi chấp nhận nhược điểm là “fork”
Tuy vậy gần đây tôi đã chuyển phần lớn sang Aider
Có người khác nhắc đến việc kiếm tiền, và đó có thể là lý do thật sự
Việc cạnh tranh tăng lên là tốt, nhưng dù nghe có thể hơi thô lỗ, phần lớn fork phần mềm đều biến mất
Tôi muốn được thuyết phục vì sao nên dùng cái này thay vì Continue + Claude-dev, vốn là các extension mã nguồn mở chạy trên VSCode gốc hoặc VSCodium
Họ nói “Microsoft cũng đã biến marketplace extension thành không công khai”, nhưng Open VSX Registry vẫn tồn tại
Làm được đến đây là điều đáng chúc mừng, và có vẻ phần thú vị giờ mới bắt đầu
Có khá nhiều extension cung cấp tự động hoàn thành bằng tab kiểu snippet và các trình soạn thảo AI, nhưng theo tôi biết, chỉ Cursor triển khai tử tế workflow tự động sửa bằng “tab-tab-tab-tab” mà không cần xem toàn bộ file
Có lẽ đó là sự kết hợp giữa hack Monaco/VSCode và model tự tinh chỉnh, tức không phải một mô hình ngôn ngữ lớn có sẵn; tôi tò mò khi nói “toàn bộ tính năng cốt lõi của Cursor” thì đây có phải là phần đang nhắm tới hay không, hay họ tập trung vào chỗ khác
Cursor từng có thể “import” khá tốt các extension đã tải sẵn trong profile VSCode cục bộ, nhưng đôi khi gặp khó với việc dùng API marketplace để tìm extension
Là điểm khởi đầu thì nên hài lòng với cách ở mức đó, và vì đang đối mặt với Microsoft nên cũng phải chú ý tới những thứ như brand guidelines
Tốt nhất nên tránh nói với cả thế giới rằng mình đang “hack” API của Microsoft. Dù chuyện có vẻ nhỏ, nếu thành công thì có thể trở thành vấn đề
Nếu mục tiêu cũng là tuyển người đóng góp thì cần dọn dẹp nhiều GitHub workflow và CI
Hiện lịch sử commit phần lớn là các commit chỉnh tài liệu rồi đẩy thẳng lên nhánh main mà không có review hay kiểm tra, còn commit ban đầu duy nhất có kiểm tra đi kèm thì trông như sau khi kiểm tra Monaco thất bại, họ chỉ đơn giản tắt nó đi
Nếu muốn phát triển dự án hoặc thu hút contributor ở mức cần thiết, phải thiết lập baseline kiểm thử và sắp xếp mọi thứ ngăn nắp hơn rất nhiều
Autocomplete quá tốt, và khi refactor thì gần như có phép thuật
Tôi dùng Cursor suốt một tháng rồi thử quay lại VSCode, và khi so sánh thì Copilot thật sự rất tệ
Tôi muốn tiếp tục dùng Cursor nhưng không muốn mua hai gói đăng ký Claude. Cursor đang dùng Claude ở bên trong, và tôi thích Claude Sonnet hơn ChatGPT
Nó tự hợp nhất code do AI tạo ra với code của tôi, còn tôi chỉ việc chấp nhận hoặc từ chối
Tính năng này cũng có vẻ dùng AI tùy chỉnh, không hoạt động theo kiểu mang API key của tôi vào dùng, mà cần đăng ký trả phí
Việc cạnh tranh trong mảng “trình biên tập AI” tăng lên là điều tốt, nhưng tôi thắc mắc tại sao không làm dưới dạng extension của VSCode
Phía extension trông có vẻ dễ tiếp cận hơn nhiều
Không biết có giới hạn nào của API extension khiến việc triển khai trở nên khó không
Void được HN hậu thuẫn
Phải liên tục theo kịp khác biệt giữa bản fork và sản phẩm gốc, rồi trong quá trình đó có tính năng bị thiếu hoặc extension bị hỏng, là điều tôi không muốn phải chịu trong quy trình làm việc của mình
Cursor mang lại trải nghiệm khá trau chuốt, nhưng cuối cùng tôi vẫn quay về VSCode và dùng continue.dev. Dù thô hơn nhiều, UI của nó vẫn hoạt động đủ tốt
Tuy nhiên, chỉ với extension thì không có cách tốt để tạo UI native như mong muốn
Ví dụ, việc hiển thị trước/sau thay đổi là phần cốt lõi, nhưng trong extension thì không cảm thấy tự nhiên
Các extension như Codeium dùng cách đơn giản nhất là ghi thẳng những thứ như
<<<<<<< DIFF >>>>>>>>vào trong file, làm hỏng tô sáng cú phápNhững extension khác như Copilot thì nhiều lỗi
Hiện Void được xây trên extension, nhưng cũng đang chỉnh sửa và chèn thêm vào một phần IDE để tạo trải nghiệm người dùng native hơn
Ví dụ, trình biên tập AI số 1 hiện tại của tôi là Zed.dev, và có thể thiết lập rất dễ nhiều keymap, kể cả JetBrains
https://zed.dev/
Nó phá hỏng toàn bộ môi trường VSCode của tôi, kể cả phím tắt Vim
Tôi không rõ để làm việc này có thật sự cần “sở hữu” toàn bộ trình biên tập hay không
Chỉ riêng việc giữ đồng bộ với upstream đã là gánh nặng khổng lồ, và tôi không thấy qua đó thu được gì
Như những người khác đã nói, cũng có registry thay thế, và hướng dẫn cài plugin độc lập còn dễ hơn việc bắt người dùng tải xuống và cài cả trình biên tập
Tôi tự hỏi sao không chỉ làm extension Copilot riêng rồi kết nối với một instance ollama
Continue chẳng phải đang làm việc đó sao? https://marketplace.visualstudio.com/items?itemName=Continue...
Đây có phải vẫn ở giai đoạn rất sớm đến mức chưa tải xuống được không? Tôi không hiểu vì sao lại phải vào server Discord vì một trình biên tập mã
Tôi thắc mắc kế hoạch là gì nếu VS Code đưa tất cả tính năng này vào
Tuy nhiên hiện giờ nó thật sự chỉ ở mức cơ bản. Gần như là bản triển khai tối thiểu: gọi mô hình ngôn ngữ lớn trong cửa sổ bên và tạo view để áp dụng/từ chối khác biệt
Hiện tại gần như chỉ ở mức dự án cuối tuần
Có thể đây là trò chơi xem ai sẽ được Microsoft mua lại và cuối cùng trở thành một phần của VS Code
Cũng có PearAI. Họ nói đó là “trình biên tập mã AI mã nguồn mở fork từ VSCode và Continue”
Lĩnh vực này ngày càng đông đúc: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI, và giờ có thêm Void
https://github.com/trypear/pearai-app
Tôi là một trong những người tạo ra https://double.bot
Tôi mong ai đó fork Omnivim2 để nó có thể cạnh tranh tốt hơn với VS Code
Theo tôi hiểu, trình biên tập này trông giống VS Code nhưng được biên dịch native và hỗ trợ plugin VS Code
Đáng tiếc là dự án có vẻ đã bị bỏ bê, và được viết bằng ReasonML
Tôi chán việc công cụ phát triển được xây dựng xoay quanh trình duyệt web rồi
Trong thập niên 90 và 00, chúng ta từng có các ứng dụng native hoàn chỉnh mà không cần phức tạp như bây giờ
Nói thêm, bên trong nó hoạt động dựa trên Vim, điều này trong mắt tôi lại là điểm mạnh
https://github.com/onivim/oni2
Trông giống bài đăng trùng lặp với một bài Show HN khác do cùng người dùng đăng 4 ngày trước
https://news.ycombinator.com/item?id=41523197
FAQ cũng có nói: https://news.ycombinator.com/newsfaq.html#reposts
Chúng tôi chỉ đang cố ra mắt thật nhanh thôi