Skip to main content

개요

Web2MD CLI를 사용하면 터미널에서 바로 어떤 URL이든 깔끔한 Markdown으로 변환할 수 있습니다. 브라우저를 열지 않고도 출력을 LLM에 파이프하거나, URL 목록을 일괄 처리하거나, Obsidian vault에 콘텐츠를 가져올 수 있습니다.
CLI를 사용하려면 **Node.js 18+**가 필요합니다. node -v로 버전을 확인하세요.

설치

별도 설치는 필요 없습니다 — npx로 바로 실행하세요.
또는 더 빠른 시작을 위해 전역으로 설치할 수 있습니다.

모드

Web2MD CLI는 설정에 따라 세 가지 모드로 동작합니다.

Local

기본 모드입니다. API 키가 필요하지 않습니다. 페이지를 가져와 로컬에서 변환합니다. 대부분의 공개 웹사이트에서 작동합니다.

Server

API 키가 필요합니다. WEB2MD_API_KEY를 설정하면 Reddit, Fandom/Wikia 등 서버 측 처리가 필요한 제한된 사이트를 이용할 수 있습니다.

Bridge

--bridge 플래그를 사용합니다. Chrome 확장 프로그램을 이용해 정적 가져오기로는 접근할 수 없는 JS 렌더링 페이지나 로그인 보호 페이지를 가져옵니다.

플래그

명령어

URL 변환 외에도, CLI에는 인증과 Library 동기화를 위한 두 가지 하위 명령어가 있습니다.

login

브라우저 기반의 device authorization 흐름을 시작합니다. CLI가 https://web2md.org를 열고 승인할 코드를 표시합니다. 승인되면 API 키가 ~/.web2md/config.json에 저장됩니다 — 매 셸마다 WEB2MD_API_KEY를 export할 필요가 없습니다. MCP server도 동일한 파일을 읽으므로, 여기서 한 번 로그인하면 MCP 도구 호출도 함께 인증됩니다. 브라우저 흐름 대신 키를 직접 붙여넣고 싶다면 다음을 사용하세요.
이 명령은 표준 입력(stdin)으로 키(w2m_...)를 요청하고 동일한 방식으로 저장합니다. 대시보드에서 키를 발급받으세요.

sync

extension, 대시보드, API를 통해 저장한 모든 페이지를 담은 Library를 태그별로 정리되고 frontmatter가 포함된 Markdown 파일로 로컬 디렉터리에 동기화합니다. 로그인되어 있거나(또는 WEB2MD_API_KEY가 설정되어) 있어야 합니다. 기본적으로 동기화는 증분 방식입니다. <dir>/.web2md-sync.json에 커서를 추적해 이후 실행부터는 새 항목만 가져옵니다. 대상 디렉터리를 Obsidian(또는 Markdown을 읽을 수 있는 다른 도구)에 지정하면 Library를 노트처럼 탐색할 수 있습니다.

환경 변수

세션이 바뀌어도 유지되도록 셸 프로필(~/.zshrc 또는 ~/.bashrc)에 다음을 추가하세요.

사용 예시

기본 변환

Markdown을 표준 출력(stdout)으로 출력합니다.

LLM에 파이프하기

파일로 저장

--meta 플래그는 title, source URL, word count, token count, reading time, date가 포함된 YAML frontmatter를 앞에 추가합니다.

파일에서 일괄 처리

urls.txt 파일을 만듭니다.
그런 다음 실행합니다.
각 URL은 ./research 디렉터리에 별도의 .md 파일로 저장됩니다.

Obsidian vault로 가져오기

이 명령은 각 페이지를 ~/Documents/MyVault/raw/에 저장하고, 변환된 모든 페이지의 링크로 ~/Documents/MyVault/INDEX.md를 업데이트합니다.

API 키로 Reddit 변환하기

Reddit은 유효한 API 키가 필요합니다. 키가 없으면 Reddit의 봇 제한 정책으로 인해 Reddit URL 변환이 실패합니다.

Bridge 모드

Chrome 확장 프로그램을 이용해 JS 렌더링 페이지나 로그인 보호 페이지를 처리합니다.
Bridge 모드를 사용하려면 Web2MD Chrome 확장 프로그램이 설치되어 있고 Chrome이 실행 중이어야 합니다. CLI는 Chrome의 네이티브 메시징 프로토콜을 통해 확장 프로그램과 통신합니다.

JSON 출력

구조화된 출력을 반환합니다.
프로그래밍 방식으로 활용하거나 jq에 파이프할 때 유용합니다.

최적화된 사이트

Web2MD에는 다음 사이트를 위한 내장 어댑터가 포함되어 있어 일반 변환보다 더 깔끔한 출력을 만들어냅니다.
  • Wikipedia — 깔끔한 기사 추출, 인포박스 처리
  • arXiv — 논문 초록 및 메타데이터
  • Hacker News — 댓글이 포함된 스레드
  • GitHub — Issues 및 Pull Requests
  • Stack Overflow — 질문과 답변
  • dev.to — 블로그 게시물
  • Medium — 기사 (페이월 미리보기 우회)
  • Substack — 뉴스레터 게시물
  • OpenAI Docs — 문서 페이지
  • Mintlify 기반 문서 — Mintlify로 구축된 문서 사이트
  • Reddit — 게시물 및 댓글 (API 키 필요)

일반적인 워크플로

AI 에이전트의 컨텍스트 디렉터리를 ./context로 지정하면 근거 있는 답변을 얻을 수 있습니다.
Obsidian에 색인화되고 검색 가능한 연구용 vault를 만듭니다.
LLM에 파이프할 때 토큰 사용량을 줄이기 위해 이미지와 링크를 제거합니다.