TPublisher - Package 기반 Publishing 구조 전환

TPublisher 0.0.1 버전은 초기 PoC 검증 단계에서 ChatGPT 공유 링크를 입력받아 대화 내용을 분석하고, 티스토리 게시 형태로 변환하는 도구였다. 하지만 실제 테스트 과정에서 공유 링크 기반 접근 방식은 콘텐츠 구조 유지, 이미지 처리, 자동화 범위 등 여러 제약사항을 확인하게 되었다.

이에 ChatGPT와 반복적인 테스트 및 분석을 진행한 결과, 현재 환경에서 가장 현실적이고 안정적인 방향으로 판단한 ZIP Package 기반 Publishing Client 구조로 전환하게 되었다.

개발 배경

TPublisher는 AI 협업 개발 과정에서 생성된 결과물을 티스토리에 전달하기 위한 Publishing Client 개발을 목표로 시작했다.

초기 구조는 ChatGPT 공유 URL을 기반으로 대화 내용을 추출하고, 분석 및 Markdown 변환을 거쳐 HTML을 생성하는 방식이었다.

기존 방식의 문제

  • 공유 URL과 대화 분석 구조에 강하게 결합
  • 콘텐츠 생성과 Publishing 책임이 혼재
  • 원본 HTML 구조 및 복합 콘텐츠 유지 어려움
  • 이미지, 코드, 표 등 실제 블로그 콘텐츠 전달에 한계

구조 전환 판단

분석 결과 TPublisher의 역할은 콘텐츠를 생성하는 도구가 아니라, AI가 생성한 결과물을 안정적으로 전달하는 Publishing Client가 적합하다고 판단했다.

이에 따라 기존 Pipeline을 제거하고 ZIP Package 기반 구조로 전환했다.

TPublisher v0.1.0 구조

AI 생성 결과물
      |
      v
ZIP Package

metadata.json
publish.html
images/

      |
      v

TPublisher

Package Loader
Preview Renderer
Clipboard

      |
      v

Tistory Editor

구현 내용

  • ZIP Package 입력 구조 구현
  • metadata 기반 제목 및 태그 처리
  • publish.html 직접 Preview 렌더링
  • images Asset 연결 및 검증
  • Title / Tags / Body Clipboard 구현
  • Drag & Drop Package 입력 UX 개선

검증 과정

이미지 포함 Package 테스트를 통해 AI 생성 결과물과 TPublisher Client 사이의 Package 규격 일치가 중요함을 확인했다.

또한 Clipboard 테스트 과정에서 이미지 포함 콘텐츠의 Tistory 붙여넣기 지연 현상을 발견했다. 해당 내용은 기능 오류가 아닌 성능 개선 영역으로 판단하여 v0.1.1 과제로 분리했다.

결과

TPublisher v0.1.0은 AI 생성 결과물을 ZIP Package 형태로 받아 Preview하고 Tistory Editor로 전달하는 기본 Publishing Client 구조를 완성했다.

이번 개발의 핵심은 기능 추가가 아니라, TPublisher의 역할을 대화 분석 도구에서 결과물 전달 Client로 재정의한 것이다.