- Spegel은 HTML 웹페이지를 LLM 프롬프트로 변환해, 터미널에서 마크다운 형태로 보여주는 브라우저
- 사용자 프롬프트를 기반으로 페이지를 실시간 맞춤 변환할 수 있어, 중요한 정보만 간결하게 표시하도록 설정할 수 있음
- 핵심 동작 방식은 HTML 크롤링 → LLM 프롬프트 처리 → 마크다운 변환 및 출력
- Textual 기반 TUI로 직관적이고 가벼운 터미널 UI 제공하며, 뷰와 프롬프트는 설정 파일로 쉽게 관리 및 실시간 변경 가능
- Lynx, Links2, Browsh 등 기존 터미널 브라우저와 달리 LLM을 활용한 사용자 맞춤 콘텐츠 최적화에 특화되어 있음
pip install spegel로 간단 설치 가능, 오픈소스로 다양한 실험 및 확장에 적합
프로젝트 개요 및 특징
- Spegel은 터미널에서 동작하는 웹 브라우저의 일종으로, HTML을 LLM에 전달하여 사용자 정의 프롬프트로 페이지를 재구성함
- 출력은 마크다운으로 변환되어 Textual 기반 터미널 UI에서 직관적으로 표시
- JS 미지원, GET 요청만 처리하는 미니멀 설계
- LLM 프롬프트 커스텀으로 다양한 변환 뷰 지원 (예: 레시피 요약, 주요 액션 강조 등)
개인화와 활용 예시
- 프롬프트와 뷰를 사용자 설정(
~/.spegel.toml)으로 자유롭게 관리 - 예시:
- 레시피에서 재료와 핵심 단계만 추출
- 복잡한 설명을 ELI5 스타일로 간단하게 변환
- 필요시 여러 개의 뷰를 동시에 등록하여 빠르게 전환 가능
동작 방식
- Spegel은 HTML을 가져와 설정 파일의 프롬프트와 함께 LLM에 전달
- LLM 결과를 마크다운으로 변환, Textual을 통해 터미널에 렌더링
- 프롬프트·뷰는 탐색 중에도 실시간으로 조정 가능
- 결과를 줄 단위로 스트리밍하며, 마크다운 포맷 오류를 방지하는 버퍼 처리 구현
기존 터미널 브라우저와의 차별점
- Lynx, Links2, Browsh 등은 HTML 구조 자체만 터미널에 표시
- Spegel은 LLM 기반 변환으로 불필요한 정보 제거·최적화 뷰 제공에 특화
- 현대 웹사이트는 CSS·JS 의존도가 높아 터미널 환경에서 번잡함, Spegel은 핵심 콘텐츠만 추출해 집중도와 접근성 개선
설치 및 사용법
- pip로 간단 설치:
pip install spegel - 실행:
spegel <URL> - 설정 파일(~/.spegel.toml) 커스텀 필요, 예제는 GitHub 참고
- 소스코드 및 기여: https://github.com/simedw/spegel
참고 사항
- 아직 Proof-of-Concept 단계라 일부 미완성 기능과 거친 부분 존재
- POST 요청 미지원, 폼 입력 등 향후 확장 아이디어 구상 중
- 기존 터미널 브라우저의 대체라기보다는, LLM+TUI 기반 콘텐츠 개인화 탐구 실험 성격이 강함