4P by GN⁺ | ★ favorite | 댓글 1개
  • Void는 코드베이스에서 AI 에이전트를 사용하고 변경사항을 체크포인트로 시각화하며 로컬 모델이나 호스트를 가져올 수 있게 만든 VS Code 포크였지만, 현재는 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를 포크할 때 참고할 수 있는 좋은 레퍼런스 중 하나로 남아 있다고 밝힘

다운로드와 포크 자료

VS Code 포크 구현에서 참고할 부분

  • Void는 React + Tailwind를 마운트함
    • 일반 VS Code에서는 불가능해, React 컴파일과 Tailwind 스코프 처리를 위해 빌드 파이프라인을 확장함
    • Tailwind 스코프 처리는 scope를 사용함
  • GitHub Actions를 복사해 Void를 패키징, 서명, 자동 업데이트할 수 있음
    • VS Code의 빌드 파이프라인은 비공개라 일반적으로 매우 어렵다고 설명함
  • AI provider 코드는 처음부터 직접 구현됨
    • autocomplete(FIM)과 커스텀 응답을 지원함
    • 공통 <thinking> 태그, tool 태그 등을 위한 문법을 노출함
    • IPC 사용과 CSP 충족을 위한 아키텍처를 참고할 수 있음
  • 파일 편집에는 커스텀 서비스를 사용함
    • EditCodeService는 코드가 스트리밍될 때 토큰 단위로도 diff를 보여줄 수 있음
    • VoidModelService는 백그라운드에서 파일을 편집하고 OS 파일과 텍스트 버퍼를 동기화함
  • Void를 구성하는 전체 저장소 목록은 repos에서 확인할 수 있음

Void의 기능 설명

  • Void는 코드베이스에서 AI agents를 사용할 수 있게 함
  • 변경사항을 체크포인트로 저장하고 시각화할 수 있음
  • 어떤 모델이나 호스트도 로컬로 가져올 수 있음
  • 메시지를 provider에 직접 보내며 사용자 데이터를 보관하지 않는다고 밝힘
  • 이 저장소는 Void Desktop 앱의 전체 소스코드를 포함함

참고 링크와 지원

댓글과 토론

Hacker News 의견들
  • 최근 VSCode를 플랫폼처럼 써서 앱을 리팩터링하려다, 우회하기도 유지하기도 쉽지 않은 UI 설계 결정 때문에 크게 데였음
    MS의 비공개 확장 마켓플레이스도 오픈소스 목표에는 도움이 되지 않았음
    대신 HN에서 Theia(https://theia-ide.org)를 알게 됐고, 재단 소유·오픈소스 마켓플레이스·전체 수정 가능성 때문에 오픈소스 목표에는 훨씬 잘 맞아 보였음
    이론상 VSCode 확장 API와도 호환되니, 이 앱에서도 Theia를 검토해보길 권함

    • 참고로 확장은 OpenVSX에 배포할 수 있음
      요즘 많은 프로젝트가 그렇게 하기 시작했고, 전부는 아니어도 꽤 많음
    • Theia가 기존 Java IDE인 Eclipse와 관련이 있는지 궁금함
      아니면 “eclipse”라는 언급은 그냥 불운한 이름 충돌인지 모르겠음
    • Theia가 Monaco 위에 만들어졌다면, 원클릭 전환 같은 방식도 가능할지 궁금함
      Monaco 편집기는 이론상 vscode 저장소의 일부이고, 설정/구성을 담은 “workbench”는 그 위 계층에 있음
  • Cursor, Void 같은 도구들이 기존 편집기 확장(VSCode 확장, JetBrains 플러그인) 대신 새 편집기를 만들기로 한 이유가 잘 정리된 글이 있으면 좋겠음
    확장 API의 기술적 한계 때문인지, 아니면 편집기 확장보다 새 편집기를 마케팅하기 쉬워서인지 궁금함
    개인이나 작은 회사에는 도입이 쉬울 수 있지만, 큰 조직은 이미 기존 IDE와 여러 통합을 해놨기 때문에 또 다른 IDE로 갈아타게 하기는 어려운 요구일 듯함

    • Cursor 팀의 답변을 보면, VSCode 확장은 편집기 UI를 제어하는 능력이 매우 제한적이라고 함
      Command-K와 Copilot++ 기능은 확장으로는 불가능하고, 앞으로 만들고 싶은 많은 기능도 마찬가지라고 함
      https://forum.cursor.com/t/why-not-a-plugin/2448/2
    • 좋은 질문임
      확장은 종종 버그가 많거나, 자연스럽게 통합되기 어렵다고 봄. 예를 들어 Copilot은 선택 영역이 튀고, Codeium이나 다른 오픈소스 확장들도 비슷한 한계가 있음
      많은 확장이 사용자의 프롬프트 입력에 빠른 선택 드롭다운을 쓰는데, 이게 부자연스럽게 느껴짐
      이런 문제를 피하려면 Cursor처럼 IDE를 직접 소유하는 게 중요하고, Cursor가 인기 있는 이유도 거기에 있다고 봄
      IDE 도입이 어렵다는 점은 맞음. 이미 인기 있는 기반 위에 만들면 작은 사용자층에 더 잘 닿을 수 있고, 장기적으로는 프라이버시와 좋은 AI 기능의 중앙화로 큰 회사도 설득하고 싶음
    • Cody는 정확히 말한 방식대로 확장으로 구현했고 Cursor와 경쟁력이 있음
      “포크”라는 단점을 감수하면서 Cursor를 써야 할 이유를 아직 찾지 못했음
      다만 요즘은 대부분 Aider로 넘어갔음
      다른 사람이 수익화를 언급했는데, 그게 진짜 이유일 수도 있음
  • 경쟁이 늘어나는 건 좋지만, 약간 무례하게 들릴 수 있어도 대부분의 소프트웨어 포크는 사라짐
    기본 VSCode나 VSCodium에서 동작하는 오픈소스 확장인 Continue + Claude-dev 대신 이걸 써야 할 이유를 설득해줬으면 함
    “Microsoft도 확장 마켓플레이스를 비공개로 만들었다”고 했지만, Open VSX Registry가 존재함

    • Continue와 함께 로컬 모델을 쓰고 있는지 궁금함
  • 여기까지 만든 건 축하할 만하고, 이제 재미있는 부분이 시작되는 듯함
    스니펫 같은 탭 자동완성을 제공하는 확장과 AI 편집기는 꽤 많지만, 내가 알기로 전체 파일을 보지 않고 “tab-tab-tab-tab”으로 자동 수정하는 워크플로를 제대로 구현한 건 Cursor뿐임
    아마 Monaco/VSCode 해킹과 자체 튜닝 모델, 즉 기성 대규모 언어 모델이 아닌 조합일 텐데, “Cursor의 핵심 기능 전부”라고 할 때 노리는 부분이 이것인지, 아니면 다른 데 집중하는지 궁금함
    Cursor는 로컬 VSCode 프로필에 이미 내려받은 확장을 꽤 잘 “가져오기” 할 수 있었지만, 확장 검색용 마켓플레이스 API를 쓰는 데는 가끔 어려움이 있었음
    시작점으로는 그 정도 방식에 만족하는 편이 좋고, Microsoft를 상대하는 만큼 브랜드 가이드라인 같은 것도 신경 써야 함
    Microsoft API를 “해킹하고 있다”고 세상에 말하는 건 피하는 게 좋음. 작아 보이는 일이라도 성공하면 문제가 될 수 있음
    기여자를 모집하려는 목적도 있다면 GitHub 워크플로와 CI를 많이 정리해야 함
    현재 커밋 기록은 문서 수정 후 리뷰나 검사 없이 main 브랜치에 바로 커밋하는 내용이 대부분이고, 유일하게 검사가 붙은 초기 커밋은 Monaco 검사가 실패한 뒤 그냥 비활성화한 것처럼 보임
    프로젝트를 키우거나 필요한 수준의 기여자를 끌어들이려면 테스트 기준선을 세우고 훨씬 더 많이 정돈해야 함

    • 내가 Cursor를 쓰는 유일한 이유도 그 기능임
      자동완성이 너무 좋고, 리팩터링할 때는 거의 마법 같음
      한 달 내내 Cursor를 쓰다가 VSCode를 다시 써봤는데, 비교하면 Copilot은 정말 형편없었음
      Cursor를 계속 쓰고 싶지만 Claude 구독을 두 번 사고 싶지는 않음. Cursor가 내부적으로 Claude를 쓰고 있고, 나는 ChatGPT보다 Claude Sonnet을 선호함
    • Cursor에서 매우 유용한 기능은 apply
      AI가 생성한 코드를 내 코드와 알아서 병합해주고, 나는 승인하거나 거절하기만 하면 됨
      이 기능에도 커스텀 AI를 쓰는 것 같고, 내 API 키를 가져오는 방식으로는 동작하지 않으며 구독이 필요함
  • “AI 편집기” 영역에 경쟁이 늘어나는 건 좋지만, 왜 VSCode 확장으로 만들지 않는지 궁금함
    확장 쪽이 훨씬 접근성이 좋아 보임
    구현을 어렵게 만드는 확장 API 한계가 있는지 궁금함

    • 확장은 수익화가 어렵고, 큰 VC 밸류에이션을 정당화하기도 어렵기 때문일 듯함
      Void는 HN의 지원을 받음
    • 동의함. 완벽하진 않아도 VSCode는 꽤 풍부한 생태계임
      포크와 원본 제품 사이의 차이를 계속 따라가야 하고, 그 과정에서 빠지는 기능이나 깨지는 확장이 생기는 건 내 작업 흐름에서 감당하고 싶지 않음
      Cursor는 꽤 다듬어진 경험을 제공하지만, 결국 VSCode로 돌아와 continue.dev를 쓰게 됨. 훨씬 거칠긴 해도 UI가 충분히 잘 동작하기 때문임
    • 좋은 질문이고, 확장이 더 접근하기 쉽다는 말은 맞음
      다만 확장만으로는 원하는 네이티브 UI를 만들 좋은 방법이 없음
      예를 들어 변경 전후를 보여주는 건 핵심인데, 확장 안에서는 자연스럽게 느껴지지 않음
      Codeium 같은 확장은 파일 안에 <<<<<<< DIFF >>>>>>>> 같은 걸 그대로 써넣는 가장 단순한 방식을 써서 문법 강조를 깨뜨림
      Copilot 같은 다른 확장들은 버그가 많음
      현재 Void는 확장 위에 만들어져 있지만, 더 네이티브한 사용자 경험을 만들기 위해 IDE 일부도 수정하고 끼워 넣고 있음
    • 많은 사람은 VSC보다 JetBrains를 선호함
      예를 들어 지금 내 1순위 AI 편집기는 Zed.dev인데, JetBrains를 포함한 여러 키맵을 아주 쉽게 설정할 수 있음
      https://zed.dev/
    • 잘 모르겠지만, 현재 continue는 정말 별로임
      Vim 단축키까지 포함해 내 VSCode 환경 전체를 망가뜨림
  • 이걸 하려면 정말 편집기 전체를 “소유”해야 하는지 모르겠음
    업스트림과 동기화를 유지하는 것만으로도 엄청난 부담이고, 그걸 통해 무엇을 얻는지 보이지 않음
    다른 사람들이 말했듯 대체 레지스트리도 있고, 사용자가 편집기 전체를 내려받아 설치하는 것보다 독립 플러그인 설치 안내가 더 쉽다
    그냥 자체 Copilot 확장을 만들고 ollama 인스턴스에 연결하면 안 되는지 궁금함
    Continue가 하는 일이 그거 아닌가? https://marketplace.visualstudio.com/items?itemName=Continue...

  • 아직 내려받을 수도 없을 정도의 초기 단계인가? 코드 편집기 때문에 왜 Discord 서버에 들어가야 하는지 모르겠음
    VS Code가 모든 기능을 도입하면 계획이 무엇인지 궁금함

    • 코드는 여기 있음: https://github.com/voideditor/void/tree/main/extensions/void
      다만 지금은 정말 기본 수준임. 사이드 창에서 대규모 언어 모델 호출을 하고 차이점을 적용/거절하는 뷰를 만든 최소 구현에 가까움
      현재로서는 거의 주말 프로젝트 수준임
    • 그게 핵심일 수도 있음
      누가 Microsoft에 인수돼서 결국 VS Code 일부가 될지 보는 게임일 수도 있음
  • PearAI도 있음. “VSCode와 Continue의 포크인 오픈소스 AI 코드 편집기”라고 함
    이 영역은 점점 붐비고 있음: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI, 그리고 이제 Void까지 있음
    https://github.com/trypear/pearai-app

    • 다른 것들을 써봤다면, 구체적으로 마음에 들지 않았던 점이 있는지 알고 싶음
      나는 https://double.bot 제작자 중 한 명임
  • 누군가 VS Code와 더 잘 경쟁할 수 있게 Omnivim2를 포크했으면 좋겠음
    내가 이해하기로 이 편집기는 VS Code처럼 보이지만 네이티브로 컴파일되고 VS Code 플러그인을 지원함
    안타깝게도 프로젝트는 방치된 듯하고, ReasonML로 작성됐음
    개발 도구가 웹브라우저를 중심으로 만들어지는 데 질렸음
    90년대와 00년대에는 지금처럼 복잡하지 않아도 되는 완전한 네이티브 앱이 있었음
    덧붙이면 내부적으로 Vim을 기반으로 동작한다는 점도 있는데, 내 눈에는 오히려 강점임
    https://github.com/onivim/oni2

  • 같은 사용자가 4일 전에 올린 다른 Show HN 글의 중복 게시물처럼 보임
    https://news.ycombinator.com/item?id=41523197

    • 글이 아직 충분한 관심을 받지 못했다면 소수의 재게시물은 괜찮음
      FAQ에도 나와 있음: https://news.ycombinator.com/newsfaq.html#reposts
    • 며칠 전에 더 작은 출시를 했지만, 그 피드백을 바탕으로 GitHub 기여 페이지, 웹사이트, 로고를 꽤 많이 바꿨음
      그냥 빠르게 출시하려는 중임
    • 두 번 출시한 건가? 경쟁이 치열한 판에서는 가능한 많이 출시해야 함
    • 아주 적절한 관행으로 여겨짐