AI로 직접 만든 마크다운 편집기 오픈소스 공개
로컬 우선 마크다운 데스크톱 편집기로 Markdown·HTML·JSON 편집, 문서 변환, 여러 AI 비서 연동, Git 관리 기능을 담아 오픈소스로 공개했다.
중국어 원문을 AI로 번역했습니다. 고유명사와 수치는 원문 표기를 우선하며, 중요한 판단에는 아래 출처 원문을 함께 확인하세요.
먼저 한 가지 사실부터 말하자면: XJ-Editor의 코드는 전부 AI가 작성했습니다.
저는 프런트엔드 개발자가 아니고, 몇 달씩 Electron 문서와 씨름한 것도 아닙니다. 제 역할은 오히려 기획자 겸 테스터에 가깝습니다. 요구사항을 던지고, 써 보고, 어딘가 어색하면 AI에게 알려줍니다. AI가 아이디어를 돌아가는 코드로 바꾸는 일을 맡습니다. 최종적으로 만들어진 것은 로컬 우선(local-first) Markdown 데스크톱 편집기로, "Markdown 렌더링이 예쁘냐" 같은 문제가 아니라 제가 매일 글을 쓸 때 실제로 짜증이 나는 것들을 해결합니다.
局部截取_20261103_212814.png
직접 만들기로 한 이유: 시판 도구들은 뭔가 하나씩 늘 부족해서
Markdown 편집기는 정말 많습니다. Typora, Obsidian, VS Code에 플러그인 한 트럭, 이것저것 다 쓸 만합니다. 그런데 오래 쓰다 보면 공통적인 어색함이 하나 보입니다. 바로 당신이 늘 전환하고 있다는 것입니다.
Markdown을 쓸 때 한 창, PDF를 볼 때 또 한 창, Word로 변환할 때 또 하나, AI로 문단 하나를 다듬고 싶으면 또 웹페이지에 복사해 붙여넣어야 합니다. Git 커밋하려면 터미널로 전환하고, JSON 하나 고치려면 또 다른 도구를 열어야 합니다. 이런 전환은 하나하나 따로 보면 치명적이지 않지만, 하루에 수십 번씩 쌓이면 인내심은 그렇게 갈려 나갑니다.
XJ-Editor의 출발점은 아주 단순합니다. 한 창에서 일을 끝낼 수는 없을까.
프로젝트 주소: github.com/xiuji008/xj…
이것은 편집기 하나가 아니라, 로컬 파일을 둘러싼 워크플로 세트입니다
이 정체성이 모든 선택을 결정합니다.
편집, 미리보기, 변환이 모두 같은 창 안에 있습니다. Markdown / HTML / JSON / 일반 텍스트 모두 편집, 분할 화면, 미리보기를 원클릭으로 전환할 수 있습니다. 이미지, PDF, Word, Excel, PPT, 압축 파일은 바로 인라인으로 볼 수 있고, 구버전 .doc도 화면에 맞춰 자동으로 확대·축소됩니다. 가장 실용적인 것은 변환입니다. Word / PPT / Excel / PDF / EPUB를 로컬에서 원클릭으로 Markdown으로 변환하며, anydoc의 WASM을 기반으로 해서 파일이 본 pc를 벗어나지 않고, 변환이 끝나면 자동으로 열려 편집됩니다.
AI는 내장되어 있고, 외부 부착이 아닙니다. OpenAI, Claude, Gemini, DeepSeek, Kimi, 千问(Qwen), 智谱, Ollama 여덟 곳이 프리셋되어 있어, 텍스트를 선택하면 다듬기, 확장, 번역, 교정을 하거나 차트를 생성하게 할 수 있습니다. 다중 세션, 스트리밍 응답, 파일을 인용해 컨텍스트로 쓰는 기능도 있습니다. 웹페이지로 전환할 필요도, 복사해 붙여넣을 필요도 없습니다. 현재 AI 기능은 단순 연동 수준으로 깊이 활용되지는 않았고, 추후 Agent 능력을 점차 추가할 예정입니다.
글쓰기에 꼭 필요한 것은 하나도 빠뜨리지 않았습니다. Mermaid, PlantUML, Chart.js 직접 렌더링, KaTeX 수식, GitHub 스타일 경고 블록, YAML Front Matter 정보 카드.
이것들을 따로 떼어 보면 모두 "플러그인으로 해결 가능한" 것들이지만, XJ-Editor는 이것들을 기본으로 갖추게 만들었습니다. 이제 VS Code의 settings.json을 설정하느라 주말을 보낼 필요가 없습니다.
- md 편집
局部截取_20261103_210636.png
- html 편집 미리보기 !
- word 미리보기
局部截取_20261103_210136.png
- execl 미리보기
PDF 마킹: 자료를 보고 노트를 적는 일은 원래 두 가지가 아니었습니다
문서를 쓰는 사람은 자주 PDF를 읽어야 합니다. 논문, 규격, 남의 기술 매뉴얼 같은 것들입니다. 전통적인 방식은 PDF 리더를 한 창 띄우고, 노트 앱을 또 하나 띄워서, 중요한 부분을 보면 전환해서 손으로 발췌하거나 스크린샷을 찍어 저장합니다. 몇 번 오가다 보면 어디까지 읽었는지도 잊어버립니다.
XJ-Editor는 PDF를 Markdown과 똑같은 일등 시민으로 대우해, 바로 인라인으로 열고, PDF 위에 마킹하는 것도 지원합니다:
- 하이라이트와 주석: PDF 페이지에서 중요한 부분을 긋고 주석을 달며, 다른 소프트웨어로 내보낼 필요가 없습니다;
- 마킹은 파일을 따라다닌다: 마킹은 문서와 함께 저장되고 로컬 저장소를 쓰며, 클라우드 계정에 의존하지 않아 다른 기기로 복사해도 쓸 수 있습니다;
- 읽으면서 쓰기: 왼쪽에서 PDF로 자료를 보고, 분할 화면의 Markdown에서 발췌하고 정리하며, 읽는 대로 쓰면 되고 창을 전환할 필요가 없습니다;
- 변환과 연동: PDF 전체를 편집 가능한 Markdown으로 바꿔야 할 때 로컬에서 원클릭 변환하고, 변환이 끝나면 자동으로 열려 편집됩니다.
저에게 이 부분의 가치는 아주 직접적입니다. 자료를 읽는 컨텍스트와 노트를 쓰는 컨텍스트가 같은 창 안에 있습니다. 중요한 부분을 긋고 나서 곧바로 노트로 정리하는 것이 "스크린샷 → 소프트웨어 전환 → 붙여넣기 → 왜 찍었는지 잊어버림"이라는 흐름보다 훨씬 짧습니다.
局部截取_20261103_211543.png
내장 Git 패널: 버전 관리 때문에 편집기를 떠날 필요가 없습니다
문서를 쓰는 사람에게 Git은 흔히 어정쩡한 존재입니다. 써야 하는 건 알지만, 변경 하나를 커밋하려고 터미널을 열고 git add와 git commit을 두드리는 건 가성비가 너무 낮아서, 결국 커밋을 안 하고 "문서_v2_최종_진짜최종.docx" 같은 파일명으로 사는 경우가 많습니다.
XJ-Editor는 Git을 사이드바의 한 패널로 만들었고, 자주 쓰는 작업이 모두 들어 있습니다:
- 변경과 diff: 수정된 파일이 한눈에 보이고, 클릭하면 줄 단위 diff를 볼 수 있어 터미널로 전환해 git diff를 돌릴 필요가 없습니다;
- 커밋 기록과 브랜치: 기록 탐색, 브랜치 전환, 브랜치 생성 모두 패널 안에서 완료됩니다;
- 스태시(stash): 쓰다가 잠깐 다른 것을 고치러 가고 싶으면, 현재 변경을 일단 스태시해 두고 돌아와서 복원합니다;
- 저장소 클론: 원격 주소에서 저장소를 바로 당겨와, 먼저 터미널을 열고 돌아오는 단계를 생략합니다;
- AI 커밋 메시지 생성: 제가 가장 손에 익은 기능입니다. 파일을 잔뜩 고치고 나면 commit message를 생각하기 귀찮을 때, 한 번 클릭해 AI가 diff를 바탕으로 한 줄 생성하게 하고, 한 번 읽고 두 글자 고친 뒤 커밋합니다.
그 의미는 "기능이 명령줄보다 더 완전하다"는 데 있지 않습니다. 명령줄이야 당연히 더 완전합니다. 의미는 커밋이라는 일의 마찰을 충분히 낮춰, 정말로 커밋하게 만드는 데 있습니다. 글쓰기와 버전 관리가 같은 창 안에 있다는 것 자체가 습관을 바꿉니다.
내장 터미널: 명령을 두드려야 할 때, 밖으로 나갈 필요가 없습니다
어떤 일은 GUI로 안 되거나 오히려 더 느립니다. 빌드 스크립트를 돌리거나, npm install, 일괄 이름 변경, git log --graph 한번 보기, 로컬 서비스 띄우기 같은 것들입니다. 예전에는 이게 Alt+Tab으로 터미널 창에 갔다가 다시 Alt+Tab으로 돌아오는 일이었고, 생각의 흐름이 두 번 끊겼습니다.
XJ-Editor는 터미널을 내장했고, Ctrl+`로 불러오며, 쓰는 느낌은 시스템 터미널과 기본적으로 같습니다:
- 다중 탭: 여러 세션을 동시에 열어 하나는 서비스, 하나는 git, 하나는 예비용으로 두고 서로 간섭하지 않습니다;
- 높이 조절: 테두리를 드래그하면 높낮이를 조절할 수 있어, 코드를 쓸 때는 키우고 글을 쓸 때는 최소로 줄입니다;
- 전체 화면 프로그램 실행: 시스템 shell에 연결되어 있기 때문에 vim, tmux 같은 전체 화면 TUI 프로그램도 정상적으로 실행되며, 렌더링이 깨지는 일이 없습니다;
- 편집기와 같은 창: 파일을 수정한 뒤 아래 터미널에서 바로 커밋하거나 스크립트를 실행할 수 있어, 컨텍스트를 이리저리 옮길 필요가 없습니다.
Git 패널과 함께 쓰면 일상적인 버전 관리 흐름은 대략 이렇습니다: 문서 수정 → 아래 터미널에서 스크립트나 테스트 실행 → 사이드바에서 diff 확인 → AI가 커밋 메시지 생성 → 커밋. 전 과정에서 이 창을 벗어나지 않습니다.
누구에게 적합한가
- 기술 문서, 블로그, 노트를 자주 쓰면서 도구 사이를 오가는 것을 싫어하는 사람
- 소프트웨어와 플러그인 설치를 줄이고, 한 창에서 모든 것을 끝내고 싶은 사람
- 오프라인 환경에서 글을 써야 하거나, 데이터 로컬성에 요구가 있는 사람
- 문서를 쓰면서 버전 관리도 하고 싶지만 매일 터미널을 열기는 귀찮은 사람
현재 소프트웨어는 자주 사용하는 기능을 먼저 추가하는 데 초점을 두고 있으며, 이후 사용 과정에서 점차 최적화할 예정입니다
사용 방법
이 프로젝트는 현재 Windows 데스크톱 버전만 있으며, github release 페이지에서 exe 파일을 다운로드해 바로 설치하여 사용할 수 있습니다
github.com/xiuji008/xj…
局部截取_20261103_212525.png
마지막으로
이것은 누군가를 대체하려는 것이 아닙니다. 이것은 하나의 증명일 뿐입니다: 당신이 사용자이자 작성자일 때, AI가 "뭔가 만들어보고 싶다"는 문턱을 얼마나 낮출 수 있는지를. 도구 사이를 오가는 것에 지치셨다면, 한번 써보셔도 좋습니다.
修己xj
java 개발 엔지니어 @修己
310
글
353k
조회수
315
팬