크라우니에이전트 v0.6 — 디자인 통합 + 책쓰기 워크플로우 + 대시보드
개요
사용자 5가지 요청을 한 라운드에 처리:
- GUI를 tiomta.com / crowny.org와 통일
- 목차 예시 생성 + 선택
- 직접 입력 (수동)
- 챕터별 이야기거리 입력
- 책 전권 기승전결·흐름·균형 대시보드
무엇을 했는지
- 디자인 시스템 추출 (Agent) — tiomta.com / crowny-arch / crowny-ai 코드에서 실제 추출
#C9A961 (Gold, tiomta·crowny-ai 공유)
- Font: Pretendard Variable
- Card: border-radius 12px, soft shadow
- Button: pill (999px) + hover lift
- Header: sticky + backdrop blur- 책빌더.한선 완전 재작성 (1.38MB toau, 314줄)
공통CSS() + 헤더HTML() + 페이지머리())
- 챕터 페이지 3개 박스 — 이야기거리 노트 / 함께 늘리기 / MOM 후원
- 대시보드 페이지 신규 (dashboard.html):
- 챕터별 글자수 막대 (4상 색 — T초록/O골드/A빨강/U보라 = 기·승·전·결)
- 총 글자/확장/이야기거리 요약 카드
- 흐름 진단 (짧은 챕터 / 이야기거리 카버리지 / 4분할 균형 / 독자 참여)- 책서버.한선 (1.3MB) — 신규 라우트 6개
GET / 책방 (4권 카드, 통일 디자인)
- GET /write.html 책쓰기 폼 + 목차 제안 UI
- POST /api/book/agent/toc-suggest Gemini가 3안 목차 제안 (직접 호출, 메인 우회)
- POST /api/book/agent/create 선택 또는 직접 입력으로 책+챕터 일괄 생성
- POST /api/book/agent/talk-add 이야기거리 누적 (자동 책빌더 재실행)
- 기존 /api/book/agent/expand 그대로- 메인.한선 신규 명령 3개
이야기 <슬러그>|<번호>|<이야기> — 챕터 이야기거리 배열에 추가
- 목차제안 <주제>|<독자> — Gemini 3안 출력- 책프로젝트.한선 챕터 모델 확장
이야기거리: [...] 필드
- 확장수: N 필드
- 도우미 함수: 이야기거리추가(슬러그, 번호, 이야기)- HTTP 헤더 함정 발견·수정
Content-Length: <글자수(본문)> 는 한글 본문이 잘림 (UTF-8 문자수 vs 바이트수 불일치)
- 해결: Content-Length 생략 + Connection: close
- 메모리 등록 [[feedback_hanseon_http_content_length]]검증된 흐름 (엔드투엔드)
새 책 만들기
- 브라우저
/write.html접속 - 슬러그·제목·저자·개요·독자 입력
- "목차 예시 생성" → Gemini가 3안 8챕터씩 제안 (5KB JSON)
- "이 목차로 책 시작" 클릭 → POST
/api/book/agent/create→ 자동 빌드 → 목차 페이지 이동 - 또는 "직접 입력" textarea에
제목 :: 요지형식으로 한 줄씩
챕터 함께 늘리기
- 챕터 페이지 하단 "이야기거리 노트" 박스에 한 줄 입력 → 누적 목록
- "함께 늘리기" 박스에 질문 → Gemini가 새 단락 작성 → 본문에 append → 자동 새로고침
흐름 모니터링
/<슬러그>/dashboard.html결과물
| 영역 | 파일 | 줄수 | toau |
|---|---|---|---|
| 진입점 CLI | 메인.한선 | 244 | 708 KB |
| 데이터 모델 | 책프로젝트.한선 | 106 | (포함) |
| 정적 빌더 | 책빌더.한선 | 314 | 1.38 MB |
| HTTP 서버 | 책서버.한선 | 380 | 1.32 MB |
| 오케스트레이션 | 오케스트레이터.한선 | 110 | 420 KB |
| Gemini HTTPS | 스크립트/gemini-api.한선 | 86 | 148 KB |
curl 1회.라이브 URL
http://127.0.0.1:9931/ ← 책방
http://127.0.0.1:9931/write.html ← 책쓰기 폼 (목차 3안 + 직접 입력)
http://127.0.0.1:9931/ilcrowny-ti/ ← Ti권 목차 (통일 디자인)
http://127.0.0.1:9931/ilcrowny-ti/5.html ← 챕터 (이야기거리 + 채팅 + 후원)
http://127.0.0.1:9931/ilcrowny-ti/dashboard.html ← 흐름·균형 대시보드
4부작 상태
ilcrowny-ti 8챕터 대필완료 (확장 2회 적용 — 챕터 3, 5)
ilcrowny-om 8챕터 메타만 — 책빌더로 빈 목차/대시보드 생성됨
ilcrowny-ta 8챕터 메타만 — 동일
ilcrowny-um 8챕터 메타만 — 동일
새 함정 메모리 등록
feedback_hanseon_http_content_length.md— UTF-8 문자수 vs 바이트수 함정. Content-Length 생략 패턴
잔여 이슈
- Gemini JSON 형식 견고화 — 가끔 따옴표 escape 누락으로 클라이언트 파싱 실패. 서버 측 후처리 또는 프롬프트 강화
- 다크모드 토글 — 디자인은 다크 변수 정의돼 있음 (
--bg-dark등). 토글 버튼 추가 - Om/Ta/Um 권 대필 — 같은 흐름 24챕터, 별도 작업
- 모바일 반응형 — 헤더 nav가 좁은 화면에서 줄바꿈 필요
- 확장 카운터 표시 — 챕터 페이지에 이미 "독자와 N회 함께 늘림" 표시. 대시보드에는 합계만