에토스AI 문서v0.5.1

시작하기

로컬에서 에토스AI를 실행하고 첫 대화를 시작하는 과정입니다.

1. 설치

git clone https://github.com/spacebar-corp/VeorAI.git
cd VeorAI
npm install

2. 환경변수 설정

프로젝트 루트에 .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:3000

4. 사용

  • 우측 상단 드롭다운에서 모델을 선택합니다 (Claude 전 세대 / ChatGPT / Gemini).
  • 메시지를 입력하고 Enter로 전송합니다. Shift+Enter는 줄바꿈, 생성 중에는 ■ 버튼으로 중단합니다.
  • 로그인하면 대화가 서버에 저장되어 기기 간 동기화됩니다 (비로그인 데모는 브라우저 저장).
  • 입력창 아래 지식베이스 ON 을 켜면 업로드한 사내 문서를 근거로 답합니다.
  • 사이드바에서 프로젝트·RAG·데이터에게 묻기·예약 리포트를 사용할 수 있습니다.
키가 없는 프로바이더의 모델을 선택하면 안내 메시지가 표시됩니다. 해당 키를 .env.local에 추가하면 즉시 사용할 수 있습니다.

5. Google SSO 설정 (선택)

  1. Google Cloud 콘솔 → API 및 서비스 → 사용자 인증 정보에서 OAuth 클라이언트 ID(웹 애플리케이션)를 만듭니다.
  2. 승인된 리디렉션 URI에 https://<도메인>/api/auth/sso/google/callback 을 추가합니다 (로컬은 http://localhost:3000/...).
  3. 발급된 클라이언트 ID/보안 비밀을 GOOGLE_OAUTH_CLIENT_ID / GOOGLE_OAUTH_CLIENT_SECRET 환경변수로 넣으면 로그인 화면에 Google 버튼이 나타납니다.
  4. 동작: 기존 계정 이메일과 일치하면 즉시 로그인, 처음이면 회사 정보만 입력하는 비밀번호 없는 가입으로 이어집니다 (로그인은 SSO로만).