일관된 디자인 토큰(mobile/lib/theme/app_theme.dart)을 새로 만들고 전체 화면에 적용: - 라이트/다크 ColorScheme을 명시적으로 정의(기존엔 라이트만 있어서 다크 모드 기기에서 깨져 보였음), AppBar/Card/입력창/버튼/칩/배너 등 컴포넌트 테마를 통일. "분신" 뱃지 전용 twin 강조색(amber) 분리 - 화면마다 제각각이던 TextField 테두리를 전부 테마 하나로 통일 (chat_screen의 L1 편집창에 하드코딩돼 있던 Colors.white70 배경도 제거 — 다크 모드에서 흰 배경에 흰 글씨로 안 보이던 실제 버그였음) 화면별 개선: - signup: 로고 마크 + 안내 문구 추가, 아이콘 붙인 입력창 - 대화 목록: 앱바 아이콘 4개를 겹쳐놨던 걸 정리(더보기 메뉴로 이동), 색상 아바타, 빈 상태 안내, 확장형 FAB - message_bubble: 좌우 비대칭 말풍선 모양(꼬리 느낌), 타임스탬프 추가, 분신 뱃지를 아이콘+칩 형태로 - chat: 거부권 버튼에 확인 다이얼로그 추가(실수로 눌러도 되돌릴 수 없는 동작이라 안전장치), L1/에스컬레이션 패널 카드화 - contacts/inbox/sessions/autonomy_settings/data_flow/onboarding: 아바타, 섹션 카드, 빈 상태, 화이트리스트 칩 UI 등 톤 통일 주의: 이 작업 환경에는 Flutter SDK가 없어 flutter analyze/run/test로 직접 검증하지 못했음. 아이콘 이름 등은 기존 코드에 이미 쓰인 것 위주로 맞췄지만, 로컬에서 flutter analyze 먼저 돌려보는 걸 권장. |
||
|---|---|---|
| ai-service | ||
| backend | ||
| core-backend | ||
| docs | ||
| mobile | ||
| poc/tone-corpus | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| README.md | ||
README.md
hikikomori / 분신 (가칭)
카카오톡 대안 메신저 — "나를 대신해 남과 대화하는 AI 분신".
구조
| 경로 | 역할 |
|---|---|
docs/ |
기획·PRD·기술설계·로드맵·PoC 계획 |
core-backend/ |
Go 코어 (가입·메시지·WebSocket·자율성·안전장치) |
ai-service/ |
Python AI 내부 API (/draft, /escalate/check) |
backend/ |
초기 Python 프로토타입 (참고용) |
poc/tone-corpus/ |
PoC 실험 스크립트 |
mobile/ |
Flutter 클라이언트 (Android 우선) |
문서
- 기획:
docs/PLANNING.md· 결정:docs/decision-log.md(Q1~Q7 확정) - Vision / PRD / 기술설계:
docs/vision.md·docs/PRD.md·docs/tech-design.md - 로드맵 (작업 체크리스트):
docs/roadmap.md - 베타 직전(C):
docs/invite-ops.md·docs/android-release.md·docs/prototype.md - PoC 계획/준비물:
docs/poc-plan.md·docs/poc-materials.md
AI 에이전트 규칙
현재 단계
- Phase 1 A~C까지 반영됨 (서버·Flutter·베타 직전 문서/배포 경로)
- 다음: D — 사람 PoC #1/#3·Q3 인터뷰 (
docs/roadmap.md§3, 맨 마지막) - 프로토타입 공유 URL은
docs/prototype.md의SHARE_URL에 Master가 기입
로컬 실행 (요약)
# 터미널 1 — AI 서비스
cd ai-service && pip install -r requirements.txt
export GEMINI_API_KEY=... # or repo-root .env
uvicorn app.main:app --port 8001
# 터미널 2 — 코어 백엔드
cd core-backend
export ADMIN_API_TOKEN=dev-admin-token
go run . migrate && go run .
# 초대 코드 발급 예:
# curl -X POST http://localhost:8080/invites -H "Authorization: Bearer $ADMIN_API_TOKEN"
# 터미널 3 — Flutter (Android)
cd mobile && flutter run --dart-define=CORE_API_BASE=http://10.0.2.2:8080