Skip to content

v0.2.0 — Writer Quality System + Scenario Bot + Blogger Publishing

Choose a tag to compare

@sinmb79 sinmb79 released this 31 Mar 04:01
· 24 commits to main since this release

v0.2.0 — Writer Quality System + Scenario Bot + Blogger Publishing

What's New

Writer Quality System Overhaul

  • Brand voice & persona engine (config/persona.json) — 코너별 톤, 구조, 금지 표현, 글쓰기 원칙 정의
  • Corner-specific prompts — 쉬운세상/숨은보물/바이브리포트/팩트체크/한컷 각각 다른 톤과 필수 포함 요소
  • Quality guardrail (bots/article_schema.py) — 제목 길이, 본문 길이(코너별), h2 태그, 금지 표현 자동 검증
  • Structured exceptions (WriterError hierarchy) — CLI 미설치, 타임아웃, 빈 응답, API 에러 구분
  • Retry with backoff — 타임아웃/빈 응답 시 자동 1회 재시도

Blogger Publishing Improvements

  • HTML 이중 변환 버그 수정 — writer가 이미 HTML 출력 시 markdown 재변환하지 않음
  • Blogger-optimized HTML 구조:
    • Schema.org JSON-LD (SEO, persona 기반 author/publisher)
    • 3줄 요약 섹션 (key_points)
    • 접이식 목차 (h2 기반 자동 생성)
    • AdSense 슬롯 (설정 가능한 위치)
    • 출처 링크 섹션 (자동 생성)
    • AI 면책문구 (기본값 자동 삽입)
  • Label 전략 개선 — corner 1순위 + tags 보조, 최대 10개

Scenario Bot (New)

  • 아이디어 또는 블로그 원고 → 포맷별 시나리오 자동 생성
  • 3가지 포맷: 숏폼 대본 (30-60초), 롱폼 대본 (3-10분), 웹툰 시나리오 (4-8컷)
  • media-forge handoff JSON 형식 — visual_note (영어 프롬프트)로 이미지/영상 즉시 생성 가능
  • Content types 설정 (config/content_types.json) — 포맷별 제약조건, media-forge 연동 스키마

Infrastructure

  • subprocess encoding="utf-8" 명시 (Windows cp949 재발 방지)
  • article_parser regex 관대화 (\r\n 전처리, 헤더 뒤 공백 허용)
  • Import 경로 통일 (from bots.x import ...)
  • OpenClaw 응답 파서 추상화 (_parse_response 3단 fallback)
  • AGENTS.md — OpenClaw 에이전트 운영 가이드

Architecture

아이디어/뉴스 수집
       ↓
  collector_bot → data/topics/
       ↓
  writer_bot → data/originals/     → publisher_bot → Blogger
       ↓                                    ↓
  scenario_bot → data/scenarios/    Telegram 알림
       ↓
  media-forge (별도 프로젝트)
  ├── image.generate (웹툰 컷)
  ├── video.from-text (영상 클립)
  └── audio tts (나레이션)

Files Changed

File Change
config/persona.json New — 브랜드 보이스, 코너별 가이드, Blogger 설정, 시나리오 가이드
config/content_types.json New — 포맷 정의, media-forge 연동 스키마
bots/article_schema.py New — 섹션 상수, 품질 검증 함수
bots/scenario_bot.py New — 멀티포맷 시나리오 생성 봇
AGENTS.md New — OpenClaw 에이전트 운영 가이드
bots/engine_loader.py 구조화 예외, retry, _parse_response 추상화
bots/writer_bot.py persona 기반 코너별 프롬프트, guardrail, retry
bots/publisher_bot.py HTML 이중변환 수정, Blogger HTML 템플릿, JSON-LD 개선
bots/article_parser.py regex 관대화, 상수 모듈 참조
config/engine.json agent_name → "main"
bots/blog_config.py scenarios 데이터 폴더 추가

Usage

# 블로그 글 작성
python bots/writer_bot.py --topic "Claude Code 사용법" --corner 쉬운세상

# 시나리오 생성
python bots/scenario_bot.py --idea "AI 코딩 도구 비교" --format short_script
python bots/scenario_bot.py --from-article data/originals/article.json --format webtoon_scenario

# 발행
python bots/publisher_bot.py