N 어시스트

N 어시스트 디자인 가이드

원본 docs/DESIGN-GUIDE-2026-10-08.md · 부품 명세 전문은 DESIGN-2026-10-07.md

2026-10-08 · 10/7 디자인 명세 DESIGN-2026-10-07.md(1,752줄 — 디렉터 검토 D1~D25, 화면·부품의 Compose 파라미터 수준 명세, ko/en 문구 전문)를 지금 앱 그대로 한 장으로 줄인 가이드다. 새 화면·부품을 만들 때 먼저 이 문서를 보고, 숫자 하나까지 필요하면 원본 명세를 본다. 시안 SVG 는 docs/design/. 웹페이지판: https://138.3.221.237.sslip.io/docs/novaassist/design-guide.html · 짝 문서: 기획 PRD-2026-10-08.md · 현황 STATUS-2026-10-08.md

0. 한눈에

#정한 것까닭
1AI 답은 말풍선 없이 전체 폭, 사용자 말은 오른쪽 말풍선답은 표·코드·목록이 섞인 「문서」라 폭이 곧 가독성이다
2대화 바탕 chatCanvas: 어두운 판 #1A1B1D, 밝은 판 흰색읽는 화면만 흰 종이. 회색 바탕 위 긴 글은 탁하다
3주황은 드물게: 보내기 단추·스트리밍 커서·켜진 웹 검색 칩·선택 상태만주황이 보이면 「지금 AI 가 일한다」 또는 「누를 곳」
4홈 = 빈 새 대화(시간대 인사 + 입력창 위 추천 카드). 탭 바 없음, 목록은 왼쪽 서랍(840dp 이상은 고정 사이드바)첫 화면에서 바로 묻는다. 추천은 엄지 거리에
5지금 답하는 AI 는 상단 가운데 엔진 배지로 늘 보임같은 질문도 엔진마다 다르고, 외부 AI 는 대화가 밖으로 나간다
6웹 검색은 입력창 칩(자동/켬/끔)끄는 스위치가 눈앞에 있어야 한다
7외부 앱 승인은 세로 세 단추: 이번 한 번만 허용(주, 맨 위) · 항상 허용 · 허용 안 함처음 보는 앱에 「계속 허용」을 가장 무거운 단추로 두지 않는다
8새 색은 nova-design 을 고치지 않고 앱 모듈 NovaChatColors 에패밀리 디자인 모듈은 다른 앱이 쓰는 중

1. 원칙

  1. 답이 주인공이다. 가장 큰 덩어리는 언제나 답 글. 테두리·카드로 가두지 않고, 장식은 답이 끝난 뒤 그 아래(동작 줄·출처)에만.
  2. 지금 무엇을 하는지 말한다. 「웹에서 찾아보는 중이에요」 → 「글 3개를 읽는 중이에요」 → 답. 빈 회전 동그라미만 두지 않는다. 움직임 줄이기에서도 경과 초를 보인다.
  3. 대화가 어디로 가는지 숨기지 않는다. 엔진과 외부 앱의 요청은 늘 이름으로 적는다(엔진 배지, 「‘○○’의 요청」 띠).
  4. 멈출 수 있어야 한다. 답이 흐르는 동안 보내기 단추가 같은 자리에서 「중단」으로.
  5. 주황은 드물어야 보인다. 한 화면에 주황 면은 하나.
  6. 짧게, 해요체. 안내 한 줄 40자 이하, 칩 16자 이하, 화면 문구에 「—」 금지. 오류는 「무슨 일이 / 무엇을 하면 되는지」 두 마디.

2. 이름·아이콘·스플래시

항목규칙
이름홈 화면·앱 머리·스토어 아이콘 아래: 「N 어시스트 / N Assist」. 문장 속: 「노바 어시스트 / Nova Assist」(예: 「노바 어시스트에게 물어보세요」). 시스템 설정에 보이는 이름을 가리킬 땐 「N 어시스트」
아이콘노바 패밀리 규칙(_nova-brand/ICON-SYSTEM.md): 주황 그라디언트 바탕 + 흰 말풍선 + 말풍선 안 주황 별 하나. 원본 docs/design/icon.svg(안전 영역 가운데 66%)
스플래시「흩어진 말이 하나의 답으로」: 말 조각 말풍선 다섯·타자 점이 흩어져 있다가(0~420ms) 휘어 모이며 말풍선 윤곽이 그려지고(~720ms) 큰 별이 반짝·빛살(진동 1회) → 이름 + 「물어보면, 찾아서 답해요」. 전체 1.1초 + 머무름 1.3초 + 사라짐 0.26초. 켤 때마다 한 번, 회전·복귀엔 다시 안 뜸
스플래시 구현ui/components/SplashIntro.kt — 프레임 시각(withFrameNanos)으로 그린다. 시스템 애니메이션 배율 0 기기(팜·대표님 S22)에서도 돈다. 앱 설정 「움직임 줄이기 켜기」일 때만 마지막 장면 0.2초 페이드

3. 색

3-1. 패밀리 토큰(nova-design, 어두운 / 밝은)

토큰값쓰임
background#1A1B1D / #F4F5F6설정·서랍 바탕
surface#2E3033 / #FFFFFF설정 그룹 카드, 출처 카드
surfaceSelected#FF7B00 16% / #FFF4E5서랍의 지금 대화, 고른 엔진
border·divider#45484C / #E8E9EA표 칸·구분선
textPrimary/Secondary/Tertiary#FFF/#D1D3D5/#96999D · #1A1B1D/#45484C/#5F6368본문 / 보조 / 시각·각주
accent·onAccent#FF7B00 · 흰색보내기 면, 커서, 켜진 칩
live#4FD889 / #0B7A3B「연결됨」 점

흰 바탕 위 작은 주황 글자에 #FF7B00 금지(2.60:1). 14sp 이하 주황 글자는 accentInk(밝은 #A34B00 5.42:1 / 어두운 #FFAC4D).

3-2. 앱 토큰 NovaChatColors(ui/theme/NovaChatColors.kt)

이름어두운밝은쓰임
chatCanvas#1A1B1D#FFFFFF대화 바탕
userBubble#2E3033#F4F5F6사용자 말풍선
composerSurface·composerBorder#2E3033·#45484C#FFFFFF·#D1D3D5입력창(밝은 판은 그림자 10%)
codeSurface·codeHeader#111214·#232528#F4F5F6·#E8E9EA코드 블록(어두운 판은 바탕보다 한 단계 깊게)
citationSurface·citationBorder#2E3033·#45484C#FFFFFF·#E8E9EA출처 알약·카드
info·infoSoft#6AA8FF·#172A44#125AC0·#E8F1FF외부 앱에서 온 대화, 외부 AI 배지
homeGlowaccent 7% 방사형accent 5%빈 홈에만, 입력을 시작하면 240ms 에 사라짐
구문 강조키워드 #FF9E64 · 문자열 #9ECE6A · 주석 #8B9096 · 함수 #7DCFFF#B5480B · #2E7D32 · #5F6368 · #0B5CAD코드(모두 4.5:1 이상)

4. 글자

자리크기/줄메모
홈 인사24/33.6 Bold왼쪽 정렬
상단 바 제목18/25.2 SemiBold한 줄 말줄임
AI 답 본문·사용자 말16/25.6읽는 글이라 16. 한국어 줄바꿈 LineBreak 구 단위·Strict, 하이픈 없음
답 속 H1 / H2 / H320/28 Bold · 18/26 SemiBold · 16/24 SemiBold본문보다 작은 제목 금지
코드고정폭 13/20(최소 12)인라인 코드는 14, 바탕 inlineCode
표14/22.4, 숫자 열 오른쪽·tnum가로 스크롤
단계·시각·각주13/20.8textTertiary
칩·배지12/16.8 SemiBold

글꼴은 패밀리 Pretendard 3굵기. 앱 「글자 크기」(작게 0.9 · 보통 · 크게 1.15 · 아주 크게 1.3)는 시스템 배율 위에 곱하고 상한 2.0, 앱 전체에 곱한다. 읽기 열은 넓은 화면에서 최대 720dp 를 가운데.

5. 모양·간격

6. 화면 뼈대

화면규칙
홈상단 바(☰ · 엔진 배지 · 새 대화) → 별 + 시간대 인사 + 「무엇을 도와드릴까요?」 + 지금 엔진 한 줄 → 「이렇게 물어보세요」 가로 추천 카드(12장 중 날마다 돌림, 엔진 능력별로 빼기, 📌 저장한 프롬프트) → 입력창
대화답 위에 엔진 이름(바뀔 때만) · 조사 단계/「글 n개 읽음」 요약 줄 · 답 · 출처 카드 줄 · 동작 줄(복사·다시 만들기·읽어 주기·⋮·걸린 시간) · 이어 물을 거리 3개
서랍새 대화 · 검색칸 · 고정됨 · 오늘 · 어제 · 날짜별 · 「○○ 앱」 묶음(외부 앱 대화) · 설정
입력창+(사진·프롬프트) · 웹 검색 칩 · 🎙 · 보내기/중단. 여러 줄은 Snappy 스프링으로 늘어남, 글자 수 한도 근처에서만 숫자
설정AI(답할 AI·웹 검색·이어 물을 거리) · 음성 · 화면(외관·글자 크기·진동·언어) · 데이터(모두 내보내기·저장한 프롬프트·다른 앱 연동·모두 지우기) · 정보(개인정보 안내·오픈소스)
넓은 화면840dp 이상: 서랍이 고정 사이드바(접기 가능), 읽기 열 720dp
AI 토론방 첫 화면(10/12)머리 카드(연결된 AI 아바타 겹침 · 「여러 AI 에게 한 번에 물어보세요」 · 한 줄 설명 · 「+ 새 토론 시작」, 옅은 강조색이 아래로 사라지는 바탕) → 「최근 토론」 줄(아바타 겹침 · 제목 · 「토론 · 2라운드 · AI 3개」 · ›). 길게 누르면 삭제
새 토론한 화면 위→아래: 참여할 AI(카드 · 고르면 화자 색 테두리와 순서 번호 배지, 「2/4」) → 진행 방식(그림 카드 셋) → (토론) 라운드 1~5 알약 · 정리할 AI 칩 → 웹 검색 알약 → 주제(여러 줄 + 예시 셋). 아래 고정 막대: 「AI 2개 · 토론 2라운드」 요약 + 「토론 시작」
토론방머리(← · 방 이름 · 「토론 · 2라운드 · AI 2개」 · ⋮ 이름 바꾸기·삭제) → 참여 AI 칩 줄(말하는 AI 는 고리가 숨 쉼) → 주제 카드(「주제」 강조색 작은 대문자 + 굵은 질문) → 「웹 글 n개를 읽었어요」 → 라운드 구분선(가운데 「1라운드」) → 화자 줄 → 정리 카드. 아래: 「한 라운드 더」·「정리하기」 칩, 「○○ 가 말하는 중이에요」, 입력창 + 보내기/■

7. 부품

부품규칙
엔진 배지초록 점(연결됨) + 엔진 아이콘 + 이름 + ⌄. 누르면 엔진 바꾸기 시트
출처본문 속 사이트 이름 알약(번호 대신, D15), 답 아래 출처 카드(파비콘·사이트·번호·제목). 파비콘을 못 받으면 도메인 해시 색 원 + 첫 글자
조사 단계별 + 「생각하는 중 3초」, 단계 줄(✓ 로 바뀜), 끝나면 「글 2개 읽음 ›」 한 줄로 접힘
오류 카드「무슨 일 / 할 일」 두 마디 + 한 단추(다시 시도·이어 쓰기·설정으로). HTTP 코드는 「자세히」 안에만
외부 AI 동의「○○ 로 대화를 보낼까요?」 — 보내는 곳(호스트) · 요금은 내 키 계정 · 구독엔 API 없음 · 되돌리기
승인 창앱 아이콘·이름·서명 지문 앞 8자, 「지금 AI: …」 줄(외부 AI 면 경고 띠), 세 단추 세로
요청 띠(방식 B)대화 위 고정 띠: 「‘○○’의 요청」(이름을 모르면 「다른 앱의 요청」) · 취소 · 결과 보내기(답이 생기면 활성)
결과 보내기 시트마지막 답 · 답 직접 고르기 · 대화 요약 · 직접 고쳐서 보내기, 미리 보기 + 글자 수
받은 글 시트「노바 어시스트에게 보내기」: 받은 것 미리 보기 · 할 일 칩(다듬기·요약·번역·직접 묻기) · 덧붙일 말 · 보내기
토론방 화자 색(10/12)참여 AI 마다 한 색 — 남색 #4F5BD5·청록 #0E8A7E·보라 #8A4FD8·장미 #D63E6B(어둡게는 한 단계 밝은 #8D97FF·#3FD2C0·#BC92FF·#FF7FA3). 브랜드 주황은 쓰지 않는다 — 주황은 사용자와 앱 동작(단추·주제 이름표·정리 테두리)의 색. 같은 색을 아바타·이름·순서 배지·비교 카드 띠에 함께 써서 글을 읽기 전에 누가 말했는지 안다
토론방 아바타16% 색 바탕 원 + 같은 색 그림(외부 AI: 이름 첫 글자 굵게, 내 Gemma: 서버, 기기 안: 휴대폰). 말하는 중이면 바깥 2dp 고리가 0.7초 주기로 숨 쉼(움직임 줄이기면 고정)
진행 방식 그림56×40 캔버스: 라운드테이블=선으로 이은 세 점, 토론=두 점 사이 두 줄(주고받음), 비교=나란한 세 막대. 고르면 선이 강조색
화자 줄30dp 아바타 · 이름(화자 색, 굵게) + 모델(옅게) · 본문(일반 답과 같은 마크다운). 근거 번호 [n] 은 「(사이트 이름)」으로. 받는 중 빈 본문은 「생각하는 중…」 반짝 글자, 멈춤은 「멈췄어요」, 실패는 일반 대화와 같은 오류 카드
정리 카드둥근 16dp · 강조색 45% 테두리 · 「정리」 배지 + 정리한 AI. 앞에 「정리」 구분선
비교(넓은 화면 600dp+)같은 차례 답을 나란한 카드로 — 카드 위 3dp 화자 색 띠. 좁은 화면은 위아래로
고르기 알약움푹한 바탕 위 칸 나눔, 고른 칸만 떠오른 바탕 + 테두리(라운드 수·웹 검색)

8. 움직임

9. 접근성

10. 문구