Tistory Publish
티스토리 블로그 자동 발행을 위한 범용 자동화 스입니다. 2024년 2월 티스토리 Open API 종료 이후 유일하게 남은 자동화 경로인 브라우저 자동화(Playwright CDP)를 활용합니다.
핵심 기능
- 에디터 자동 조작: TinyMCE 에디터에 HTML 직접 삽입, 한글 처리(base64 디코딩), 문 길이 검증
- 메타데이터 설정: 카테고리 선택(ARIA combobox), 태그 등록, 대표이미지 설정
- 미디어 처리: 배너 이미지 자동 업로드, OG 카드 삽입 및 렌더링 확인
- 템플릿 시스템:
mk-review(신문 리뷰),simple-post(단순 글) 프리셋 제공, 커스텀 템플릿 추가 가능 - 로그인 세션 관리: 카카오 로그인 세션 만료 시 자동 재로그인
기술적 특징
- isTrusted 이벤트 우회: 티스토리의
isTrusted=false이벤트 필터링을 플레이스홀더→텍스트 교체 방식으로 우회 - 안전성 개선: 본문 삽입 후 길이 검증, 발행 후 공개 페이지 재검증으로 빈 글 방지
- 보안 강화:
child_process.execSync제거, 환경변수 기반 자격증명 로드
사용 시나리오
| 시나리오 | 명령 예시 |
|---------|----------|
| 단순 발행 | `publish.sh --title "제목" --body-file body.html --category "카테고리"` |
| 매경 리뷰 | `publish.sh --template mk-review --article-title "기사제목" --banner /tmp/banner.jpg` |
| 비공개 발행 | `--private` 래그 추가 |
한계 및 주의사항
- 의존성: OpenClaw 브라우저 서비스(Chrome CDP, 기본 포트 18800) 필수
- 프리미엄 계정 필요: 일부 기능은 티스토리 프리미엄 회원 전용
- 셀렉터 변경 가능성: 대표이미지 등 CSS 셀렉터가 티스토리 업데이트 시 변경될 수 있음
- 초기 설정 복잡: 카카오 로그인, OpenClaw 환경 구성 등 진입장벽 존재
적합한 사용자
- 정기적인 블로그 포스팅이 필요한 콘텐츠 제작자
- 뉴스 클리핑/리뷰 자동화가 필요한 미디어 운영자
- CI/CD 파이프라인에 블로그 발행을 통합하려는 개발자
보안 고려사항
카카오 계정 자격증명을 ~/.openclaw/secrets/kakao.json 또는 환경변수로 관리하며, 파일 접근 권한 제한 필요. Playwright CDP는 로컬 브라우저 인스턴스에 직접 연결하므로 네트워크 노출 최소화됨.