X Post
실제 Chrome 인스턴스를 Chrome DevTools Protocol (CDP)로 제어하는 X (Twitter)용 자동화된, 안티봇 내성 게시 도구 모음입니다.
런타임 요구 사항 (사전 점검)
스크립트를 실행하기 전에 환경 의존성을 확인하세요 → references/runtime-setup.md.
필수 체크리스트:
- Bun 런타임 설치됨 (
bun --version) - Google Chrome 또는 Chromium 설치됨 (또는
X_BROWSER_CHROME_PATH설정됨) - 첫 실행: 열린 Chrome 창에서 X에 로그인 인증 (세션은
~/.local/share/x-browser-profile에 저장됨) - 동영상 번역용:
yt-dlp,ffmpeg,whisper-cli설치됨
필수 도구가 누락된 경우 중단하고 즉시 사용자에게 알립니다.
기능 및 탐색 맵
게시 작업에 적합한 워크플로우를 선택하세요:
| 콘텐츠 유형 | 스크립트 경로 | 세부 사항 및 참조 |
|---|---|---|
| 텍스트 및 이미지 | scripts/x-browser.ts | 단일/다중 이미지 게시물 및 스레드 체인 → references/regular-posts.md |
| 동영상 게시물 | scripts/x-video.ts | 트랜스코딩 모니터링을 포함한 동영상 업로드 → references/video-posts.md |
| 인용 트윗 | scripts/x-quote.ts | 기존 트윗을 인용하고 코멘트 추가 → references/quote-tweets.md |
| 장문 아티클 | scripts/x-article.ts | 인라인 이미지가 포함된 Markdown 아티클 → references/articles.md |
| 동영상 번역 | scripts/x-translate-video.ts | 자막 추출, 번역 및 자막 삽입 → references/video-translation.md |
| 범용 배포 | bin/x-post.js | Claude, Marketplace, npx, Skills.sh 및 모든 에이전트 → references/distribution.md |
| 문제 해결 | 해당 없음 | 일반적인 오류 해결 방법 → references/troubleshooting.md |
1. 일반 게시물 (텍스트, 이미지 및 스레드)
최대 4개의 이미지와 스레드 답글이 포함된 표준 트윗을 게시합니다.
# 미리보기 모드 (작성 상자를 확인하고 30초 동안 창을 유지)
bun scripts/x-browser.ts "Antigravity로 에이전틱 자동화 탐구하기!" --image ./screenshot.png
# 이미지와 스레드 답글로 게시
bun scripts/x-browser.ts "새로운 오픈소스 릴리스를 발표합니다!" \
--image ./banner.png \
--reply "여기에서 저장소를 확인하세요: https://github.com/org/repo" \
--submit
- 세부 사항, 이미지 사양 및 멀티 스레드 체인 →
references/regular-posts.md
2. 동영상 게시물
자동 업로드 및 트랜스코딩 폴링과 함께 동영상(MP4, MOV, WebM)을 게시합니다.
# 동영상 업로드 미리보기
bun scripts/x-video.ts --video ./demo.mp4 "전체 아키텍처 워크스루를 시청하세요"
# 답글 스레드에 출처 인용과 함께 동영상 게시
bun scripts/x-video.ts --video ./demo.mp4 \
"자율 코딩 루프 벤치마크" \
--reply "SWE-bench 검증 데이터셋에서 벤치마크됨." \
--submit
- 지속 시간 제한, 형식 및 업로드 상태 →
references/video-posts.md
3. 인용 트윗
출처 속성을 유지하면서 사용자 정의 코멘트와 함께 기존 공개 트윗을 인용합니다.
# 인용 트윗 미리보기
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "LLM 에이전트에 대한 중요한 관점!"
# 인용 트윗 직접 게시
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "이 분석에 강력히 동의합니다." --submit
- URL 정규화 및 메뉴 선택기 →
references/quote-tweets.md
4. 장문 X 아티클 (Markdown)
제목, 목록, 인용문, 표지 이미지 및 인라인 이미지가 포함된 Markdown 문서를 X 아티클로 변환합니다 (X Premium 필요).
# 포맷된 아티클 초안 미리보기
bun scripts/x-article.ts ./article.md --cover ./cover.png
# 아티클 직접 게시
bun scripts/x-article.ts ./article.md --submit
- 프론트매터 구문 및 이미지 플레이스홀더 메커니즘 →
references/articles.md
5. 동영상 번역 및 자막 워크플로우
외국어 동영상 트윗을 다운로드하고, Whisper를 통해 오디오를 텍스트로 변환하고, 편집 가능한 번역 파일을 생성하고, 스타일이 지정된 자막을 삽입하고, 출처 속성과 함께 게시합니다.
# 1단계: URL 수집 및 번역 초안 생성 (/tmp/x-translate/<id>/translation.md)
bun scripts/x-translate-video.ts https://x.com/username/status/1234567890 --target-lang Korean
# 2단계: /tmp/x-translate/<id>/translation.md 를 번역된 텍스트 및 SRT로 편집
# 3단계: 자막 삽입 및 미리보기
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md
# 4단계: 자막 삽입 및 게시
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md --submit
- 전체 파이프라인 및 FFmpeg 자막 스타일링 →
references/video-translation.md
실행 원칙 및 안전
- 항상 미리보기 먼저: 개발 또는 수동 검토 중에는
--submit없이 명령어를 실행하세요. - 영구 프로필: 모든 스크립트가
~/.local/share/x-browser-profile을 공유하므로 인증은 한 번만 필요합니다. - 네이티브 키스트로크 전달: 미디어 자산은 CDP 합성 이벤트 차단을 피하기 위해 하드웨어 수준의 붙여넣기 시뮬레이션(
copy-to-clipboard.ts+paste-from-clipboard.ts)을 사용합니다. - 문제 해결: 로그인 시간 초과, 클립보드 권한 또는 CDP 연결 오류의 경우 →
references/troubleshooting.md.