← 목록
기타 2026-05-27 6KB 읽기 5분

크라우니에이전트 v0.5 — 대화형 책쓰기 (서비스 안에서 내용 늘리기)

개요

같은 날(2026-05-27) v0.4 통합 + Gemini 대필 8챕터 완성 후, 사용자가 "책 안에서 대화체로 내용을 계속 늘려나갈 수 있게" 만들어 달라고 요청. 이번 라운드에서 챕터 페이지의 채팅창에 한 줄 요청 → Gemini가 새 단락 생성 → 챕터 본문에 자동 append → HTML 자동 재빌드 → 페이지 새로고침의 전체 흐름을 한선씨로만 구현했다.

또한 Om/Ta/Um 3권을 8챕터씩 메타 등록해 4부작 32챕터 구조 완성.

무엇을 했는지

  1. 메인.한선에 확장 명령 추가
- 사용자 한 줄 요청 + 기존 챕터 본문 → Gemini 프롬프트 조립 - 체계() 함수로 gemini-api.toau 호출 (GEMINI_API_KEY 인라인 export) - 응답을 챕터 .md에 append (구분선 + 독자 요청 + 새 단락) - 챕터 메타에 확장수 증가, 상태: 확장중
  1. 책빌더.한선에 채팅창 UI 추가
- 각 챕터 페이지 본문 아래에 파란색 박스 - <textarea> + "새 단락 만들기" 버튼 - fetch POST /api/book/agent/expand → 응답 표시 → 2.5초 후 새로고침
  1. 책서버.한선 신규 작성 (포트 9931) — 완전 한선씨 HTTP 서버
- TCP대기/수락/읽기/쓰기/닫기 내장 함수만 사용 - 정적 HTML 서빙 (/<슬러그>/*.html) - 책방 페이지 / (4권 목록) - JSON API: /api/book/agent/projects, /api/book/agent/expand, /api/book/donate - 확장 API는 메인.한선을 자식 프로세스로 호출 → 응답 추출 → 책빌더 자동 재실행
  1. Om/Ta/Um 3권 등록 (한선씨 CLI 24회 호출)
- Om: 공통-1~4 + 게임/스타트업/라이프스타일/문화&신앙 - Ta: 공통-1~4 + 정치/정부/국방/의사결정구조 - Um: 공통-1~4 + 개발스펙/특허명세/생태계/티옴타세계관 - 총 4부작 32챕터 구조 완성

검증된 엔드투엔드

bash# 책서버 시작 (한선씨 한 줄)
GEMINI_API_KEY="…" \
  /Users/ef/CrownyOS/crownyc/crownyc run /Users/ef/crowny-agent/책서버.toau &

# 브라우저
open http://127.0.0.1:9931/                       # 책방
open http://127.0.0.1:9931/ilcrowny-ti/           # 목차
open http://127.0.0.1:9931/ilcrowny-ti/5.html     # 챕터

# 챕터 페이지 채팅창에서 한 줄 입력 → "새 단락 만들기" → 자동 반영
# 또는 curl 직접:
curl -X POST http://127.0.0.1:9931/api/book/agent/expand \
  -H "Content-Type: application/json" \
  -d '{"slug":"ilcrowny-ti","chap":3,"prompt":"왜 하필 6561명일까요?"}'

실제 검증: 챕터 3에 "왜 하필 6561명일까요? 너무 많지 않을까요?" 질문 → "딱 맞는 숫자, 6561" 소제목 + 도서관 비유 단락 자동 추가. HTML 8917B → 10901B.

한선씨 비율 — 100%

영역파일줄수컴파일 결과
진입점 CLI메인.한선209616 KB
데이터 모델책프로젝트.한선88203 KB
오케스트레이션오케스트레이터.한선110420 KB
정적 빌더책빌더.한선245849 KB
Gemini HTTPS스크립트/gemini-api.한선83148 KB
HTTP 서버책서버.한선226445 KB
총 한선씨 코어 961줄. 외부 의존: curl(체계 호출 1회 — Gemini HTTPS).

Node / Python / Streamlit / LangChain 0.

라우트 (책서버 9931)

메서드경로역할
GET/책방 (4권 카드 목록)
GET/<슬러그>/책 목차 HTML
GET/<슬러그>/<n>.html챕터 HTML
GET/api/book/agent/projectsJSON 책 목록
POST/api/book/agent/expand챕터 대화형 확장 → Gemini → append → HTML 재빌드
POST/api/book/donate챕터/책 후원 → data/donations.json

4부작 등록 현황

ilcrowny-ti  8챕터  [Ti권 — 대필완료, 챕터 5·3 확장 적용됨]
ilcrowny-om  8챕터  [Om권 — 메타만, 대필 대기]
ilcrowny-ta  8챕터  [Ta권 — 메타만, 대필 대기]
ilcrowny-um  8챕터  [Um권 — 메타만, 대필 대기]

Om/Ta/Um 대필은 Ti와 동일 흐름:

bash# 권별 리서치 번들 (Agent 위임 가능)
# → Gemini 대필 8회 × 3권 = 24회
# → 책빌더 권별 재실행

핵심 발견 (메모리 갱신 대상)

  1. 한선씨 예약어 토큰 — 메서드 (이번 발견): 함수 매개변수명으로 못 씀. 파싱 에러 인자명 기대(expected), '메서드' 발견(found). → 방식 등으로 대체
  2. 체계() 환경변수 비상속 (지난 발견 보강): 자식 프로세스에 부모 env 안 넘김. 명령 문자열에 KEY='" + 값 + "' 명령 인라인 export 필수
  3. 체계() 동기 동작 확인: stdout redirect 후 즉시 읽기() 가능. 명령이 끝나기 전 읽기 발생 안 함.

잔여 이슈

  1. Om/Ta/Um 권 리서치 + 대필 — Ti 패턴 그대로 24챕터
  2. gateway 등록book-agent.crowny.org:9931 게이트웨이가 픽업하면 외부 URL 활성 (별도 세션)
  3. 확장 누적 표시 — 챕터 페이지에서 "지금까지 N회 함께 늘렸어요" 카운터 노출
  4. 챕터 상태 머신 — 현재 대필완료 → 확장중. 확장완료 단계로 잠금/해제

다음 시연 한 줄

브라우저에서 http://127.0.0.1:9931/ilcrowny-ti/5.html
→ 본문 아래 파란 박스에 "이 부분에 코드 예시 더 보여주세요" 입력
→ "새 단락 만들기" 클릭
→ Gemini가 새 단락 작성 → 본문에 자동 추가 → 페이지 새로고침