Files

8.5 KiB

🦞 OpenClaw DeepReader

OpenClaw 에이전트의 기본 웹 콘텐츠 게이트웨이. X (Twitter), Reddit, YouTube 및 모든 웹페이지 읽기 — 제로 설정, 제로 API 키.

DeepReader는 OpenClaw 에이전트 프레임워크의 내장 콘텐츠 리더입니다. 대화에 URL을 붙여넣으면 DeepReader가 자동으로 가져오고, 파싱하고, 고품질 Markdown을 에이전트의 장기 메모리에 저장합니다. 소셜 미디어와 현대 웹을 위해 설계되었습니다.

🌍 번역: English · 中文 · Español · 日本語 · العربية · Français


설치

npx clawhub@latest install deepreader

또는 수동 설치:

git clone https://github.com/astonysh/OpenClaw-DeepReeder.git
cd OpenClaw-DeepReeder
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

🎯 사용 시나리오

  • 트윗, 스레드 또는 X 아티클을 읽어서 OpenClaw 메모리에 추가해야 할 때
  • Reddit 게시물을 인기 댓글과 토론 컨텍스트와 함께 수집해야 할 때
  • YouTube 자막을 나중에 참조하거나 분석하기 위해 저장하고 싶을 때
  • 블로그, 기사 또는 문서 페이지를 깔끔한 Markdown으로 클리핑하고 싶을 때
  • 에이전트에 기본 웹 리더가 필요할 때 — API 키 없이, 설정 없이 바로 작동

지원 소스

파서 소스 방법 API 키?
🐦 Twitter / X 트윗, 스레드, X 아티클 FxTwitter API + Nitter 대체 없음
🟠 Reddit 게시물 + 댓글 스레드 Reddit .json API 없음
🎬 YouTube 동영상 자막 youtube-transcript-api 없음
🌐 모든 URL 블로그, 기사, 문서 Trafilatura + BeautifulSoup 없음

API 키 제로. 로그인 제로. 속도 제한 제로. 붙여넣기만 하면 읽기.


🐦 Twitter / X — 심층 통합

FxTwitter API 기반. x-tweet-fetcher에서 영감을 받았습니다.

콘텐츠 유형 지원
일반 트윗 전체 텍스트 + 참여 통계
긴 트윗 (Twitter Blue) 전체 텍스트
X 아티클 (장문) 전체 기사 + 단어 수
인용 트윗 중첩 콘텐츠 포함
미디어 (이미지, 동영상, GIF) URL 추출
답글 스레드 Nitter 대체를 통해 (처음 5개)
참여 통계 ❤️ 좋아요, 🔁 리트윗, 👁️ 조회, 🔖 북마크

🟠 Reddit — 네이티브 JSON 통합

Reddit의 내장 .json URL 접미사 사용 — API 키 불필요, OAuth 불필요, 등록 불필요.

콘텐츠 유형 지원
셀프 포스트 (텍스트) 전체 Markdown 본문
링크 포스트 URL + 메타데이터
인기 댓글 (점수순 정렬) 최대 15개 댓글
중첩 답글 스레드 최대 3단계 깊이
미디어 (이미지, 갤러리, 동영상) URL 추출
게시물 통계 ⬆️ 점수, 💬 댓글 수, 추천 비율
Flair 태그 포함

🚀 빠른 시작

from deepreader_skill import run

# 트윗 읽기 → 에이전트 메모리에 저장
result = run("이 트윗을 확인하세요: https://x.com/elonmusk/status/123456")

# Reddit 토론 읽기 → 게시물 + 인기 댓글 캡처
result = run("좋은 토론: https://www.reddit.com/r/python/comments/abc123/my_post/")

# YouTube 비디오 읽기 → 전체 자막 저장
result = run("이것을 보세요: https://youtube.com/watch?v=dQw4w9WgXcQ")

# 모든 기사 읽기 → 깨끗한 콘텐츠 추출
result = run("흥미로운 글: https://example.com/blog/ai-agents-2026")

# 여러 URL 일괄 처리
result = run("""
  여기 몇 가지 링크가 있습니다:
  https://x.com/user/status/123456
  https://www.reddit.com/r/MachineLearning/comments/xyz789/new_paper/
  https://youtube.com/watch?v=dQw4w9WgXcQ
  https://example.com/article
""")

📓 NotebookLM & 오디오 통합

이제 DeepReader는 Google NotebookLM과 완벽하게 통합됩니다.

메시지에 notebooklm, audio 또는 podcast와 같은 키워드가 포함 된 경우 DeepReader는 자동으로 다음을 수행합니다:

  1. 요청된 URL을 Markdown으로 파싱합니다.
  2. Google NotebookLM 계정에 새 노트를 만듭니다.
  3. 깔끔한 Markdown 콘텐츠를 소스로 업로드합니다.
  4. (선택 사항) 매력적인 오디오 개요(팟캐스트 형식)를 생성하고 에이전트의 메모리 폴더에 직접 다운로드합니다.

지원되는 NotebookLM 아티팩트 생성: 오디오 개요와 함께 이 통합을 쉽게 확장하여 다음을 자동으로 생성하고 저장할 수 있습니다:

  • 🎙️ Audio Overview (오디오 팟캐스트)
  • 🎥 Video Overview (비디오 개요)
  • 🧠 Mind Map (마인드맵)
  • 📄 Reports (보고서)
  • 📇 Flashcards (플래시카드)
  • Quiz (퀴즈)
  • 📊 Infographic (인포그래픽)
  • 🖥️ Slide Deck (슬라이드 덱)
  • 📈 Data Table (데이터 테이블)

⚠️ 참고: 인증 필요 NotebookLM 통합을 사용하기 전에 터미널에서 인증해야 합니다(이 작업은 한 번만 수행하면 됩니다):

notebooklm login

🏗️ 아키텍처

deepreader_skill/
├── __init__.py          # 진입점 — run() 함수
├── manifest.json        # 스킬 메타데이터 및 트리거 설정
├── SKILL.md             # ClawHub 스킬 설명
├── requirements.txt     # 의존성 목록
├── core/
│   ├── router.py        # URL → 파서 라우팅 로직
│   ├── storage.py       # Markdown 파일 생성 및 저장
│   └── utils.py         # URL 추출 및 유틸리티 함수
└── parsers/
    ├── base.py          # 추상 기본 파서 및 ParseResult 모델
    ├── generic.py       # 범용 기사/블로그 파서
    ├── twitter.py       # Twitter/X 파서 (FxTwitter + Nitter)
    ├── reddit.py        # Reddit 파서 (.json API)
    └── youtube.py       # YouTube 자막 파서

🔧 설정

변수 기본값 설명
DEEPREEDER_MEMORY_PATH ../../memory/inbox/ 콘텐츠 저장 경로
DEEPREEDER_LOG_LEVEL INFO 로깅 상세 수준
FIRECRAWL_API_KEY "" 선택 사항. 설정 시 차단/유료 콘텐츠를 우회 스크래핑하는 Firecrawl의 폴백으로 사용됩니다.

💡 왜 DeepReader인가?

기능 DeepReader 수동 스크래핑 브라우저 도구
트리거 URL 자동 트리거 코드 작성 필요 수동 작업
Twitter/X 완전 지원 차단됨 ⚠️ 부분적
Reddit 스레드 + 댓글 ⚠️ 복잡 ⚠️ 느림
YouTube 자막 내장 별도 도구 불가
API 키 불필요 자주 필요 때때로
출력 형식 깔끔한 Markdown 원시 HTML 스크린샷
메모리 통합 자동 저장 수동 수동

🙏 크레딧


🤝 기여

기여를 환영합니다!

  1. 저장소를 Fork 합니다
  2. 기능 브랜치를 생성합니다 (git checkout -b feature/amazing-parser)
  3. 변경 사항을 커밋합니다 (git commit -m '놀라운 파서 추가')
  4. 브랜치를 푸시합니다 (git push origin feature/amazing-parser)
  5. Pull Request를 엽니다

📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 — 자세한 내용은 LICENSE 파일을 참조하세요.


OpenClaw에서 🦞 로 만들었습니다