시작하기
로컬에서 에토스AI를 실행하고 첫 대화를 시작하는 과정입니다.
1. 설치
git clone https://github.com/spacebar-corp/VeorAI.git
cd VeorAI
npm install2. 환경변수 설정
프로젝트 루트에 .env.local 파일을 만들고, 사용할 프로바이더의 키를 넣습니다. 쓰는 것만 채우면 됩니다.
# Claude (Anthropic) — 채팅 + 모델 목록 라이브 조회
ANTHROPIC_API_KEY=sk-ant-...
# ChatGPT (OpenAI) — 채팅 + RAG 임베딩(text-embedding-3-small)
OPENAI_API_KEY=sk-...
# Gemini (Google)
GOOGLE_API_KEY=AIza...
# 인증·DB (엔터프라이즈 모드 — 없으면 데모 모드로 동작)
DATABASE_URL=postgresql://... # PostgreSQL + pgvector
AUTH_ENABLED=true # 로그인 게이팅 on
AUTH_SECRET=<openssl rand -hex 32> # 세션 JWT + 데이터소스 비밀번호 암호화 키
# (선택) 이메일 — 비밀번호 재설정·초대 메일 (Resend)
RESEND_API_KEY=
RESEND_FROM="에토스AI <onboarding@resend.dev>"
# (선택) 예약 리포트 크론 보호 (Vercel Cron 이 자동으로 헤더에 실어 호출)
CRON_SECRET=
# (선택) Google SSO — 설정하면 로그인 화면에 "Google 계정으로 계속하기" 버튼이 생깁니다
GOOGLE_OAUTH_CLIENT_ID=
GOOGLE_OAUTH_CLIENT_SECRET=
# (선택) 추가 수퍼 관리자 (쉼표 구분)
SUPER_ADMIN_EMAILS=
# (선택) 릴리스/커밋 Slack 알림
SLACK_WEBHOOK_URL=3. 실행
npm run dev
# http://localhost:30004. 사용
- 우측 상단 드롭다운에서 모델을 선택합니다 (Claude 전 세대 / ChatGPT / Gemini).
- 메시지를 입력하고 Enter로 전송합니다. Shift+Enter는 줄바꿈, 생성 중에는 ■ 버튼으로 중단합니다.
- 로그인하면 대화가 서버에 저장되어 기기 간 동기화됩니다 (비로그인 데모는 브라우저 저장).
- 입력창 아래 지식베이스 ON 을 켜면 업로드한 사내 문서를 근거로 답합니다.
- 사이드바에서 프로젝트·RAG·데이터에게 묻기·예약 리포트를 사용할 수 있습니다.
키가 없는 프로바이더의 모델을 선택하면 안내 메시지가 표시됩니다. 해당 키를 .env.local에 추가하면 즉시 사용할 수 있습니다.5. Google SSO 설정 (선택)
- Google Cloud 콘솔 → API 및 서비스 → 사용자 인증 정보에서 OAuth 클라이언트 ID(웹 애플리케이션)를 만듭니다.
- 승인된 리디렉션 URI에
https://<도메인>/api/auth/sso/google/callback을 추가합니다 (로컬은http://localhost:3000/...). - 발급된 클라이언트 ID/보안 비밀을
GOOGLE_OAUTH_CLIENT_ID/GOOGLE_OAUTH_CLIENT_SECRET환경변수로 넣으면 로그인 화면에 Google 버튼이 나타납니다. - 동작: 기존 계정 이메일과 일치하면 즉시 로그인, 처음이면 회사 정보만 입력하는 비밀번호 없는 가입으로 이어집니다 (로그인은 SSO로만).