크라우니 온보드 — 원클릭 온보딩 포털 + 세션 모니터링
개요
다른 맥에서 웹주소 하나(:9194) 접속 → 인증(kps/0000) → 설치·Claude·/크라우니코드·대시보드가
순서대로 자동 실행. 크라우니원격/플릿 패키지 위에 온보딩 레이어를 얹음.
울트라병행(Workflow 4에이전트) + 울트라딥리서치 + 자율주도.
딥리서치(검증)
- macOS 핸드오프: curl|bash 원라이너=quarantine 미부여(최소 마찰), osascript
tell app "Terminal" to do script=접근성 권한 불필요, .command는 Gatekeeper 경고. applescript:// 우회 등 5종.
- Claude CLI:
claude "초기프롬프트" 인터랙티브 시작, -p 헤드리스, --continue/--resume 체이닝. 다중세션 모니터링=상태파일 폴링(Recon TUI: ~/.claude/sessions/*.json + projects/**/.jsonl).
구현 (온보드/)
- 온보드포털.한선(:9194): 랜딩/인증(쿼리 id=kps&pw=0000)/bootstrap.sh/install.command(호스트 인라인)/dashboard/api/status. SSR서버 패턴 재사용(소켓생성/바인드/대기/논블록/폴링/수락/받기/보내기), 응답빌더 Content-Length 생략+Connection:close(한글 안전).
- bootstrap.sh: ①정적(:9195)서 tar 다운로드 ②2-클라이언트설치.sh ③config.env 자동작성 ④osascript Terminal 새창 claude "/크라우니코드 자율주도" ⑤open 대시보드.
- 상태수집.sh: ~/.claude/sessions/.json(상태 idle/shell/waiting)+LIVE_STATUS+PLAN+플릿 카탈로그 4상 → 컴팩트 JSON(<16KB, 한선씨 읽기 한계).
- 포털시작.sh: python 정적헬퍼(tar 바이너리, 한선씨 16KB/바이너리 한계 회피=부득이) + 한선씨 포털.
- 대시보드: 4초 폴링으로 활성 세션/태스크/플릿 4상 실시간.
함정 수정
- ★한선씨 고수준이 문자열 안
${...}를 보간 시도 → 클라이언트 JS 템플릿리터럴(백틱/${}) 금지, 문자열 결합(+)으로. (대시보드 JS)
검증
- 온보드셀프테스트 12/12: bootstrap/상태수집 문법, 포털 컴파일, 랜딩폼, 인증 성공/실패, bootstrap·install.command 제공, 세션 JSON, 대시보드, 정적 tar 200, 다운로드 경로.
- 실측: /api/status가 실제 ~/.claude/sessions 7+세션 상태 반환.
산출물 / 지정 주소
- 패키지: /Users/ef/crowny-remote/dist/크라우니원격-패키지/온보드/
- 압축: 크라우니원격-패키지.tar.gz (537KB) v1.6.0
- 커밋: crowny-hub 0d6e6699
- 포트: onboard 9194, onboard-static 9195 (등록)
한계 (정직)
- 브라우저 무인 셸 실행 불가→원라이너 붙여넣기 1회. 타깃 맥 claude 사전설치 필요(bootstrap npm 시도).
- 실 2번째 맥 최종 동선은 실물 필요(포털/인증/설치제공/대시보드/상태까지 이 맥서 검증).
- 도메인 접속 시 정적헬퍼(:9195)도 게이트웨이 라우트 필요(LAN/Tailscale 직IP가 1차 검증경로).