프로젝트 채팅
좌측 패널 축소 / 확장
collapsed 상태 값(useState)에 따라 좌측 패널이 축소(w-10) 또는 확장(w-64)되어 표시됩니다.
축소 상태에서는 최소한의 버튼(업로드, 새 채팅, 확장 버튼)만 노출됩니다.
확장 상태에서는 프로젝트 정보, 지식 베이스 업로드, 대화 이력, 모델 선택 등 모든 기능이 노출됩니다.
상태 및 상호작용
상태 변수 | 역할 |
collapsed | 패널 축소 여부 |
fileSource | 업로드 소스 (local 등) |
files | 업로드된 파일 목록 |
currentSessionLogs | 전체 대화 이력 |
selectedModel | 선택된 AI 모델 ID |
showModelSelector | 모델 드롭다운 열림 여부 |
UI 구성

프로젝트 생성 카테고리 변경
UI 구성

API 키 등록
이미 등록된 공급사 키를 중복으로 설정할 수 없도록 조치
수정, 삭제 오류 수정
UI 구성

프로젝트 생성
프로젝트 생성 시 대시보드로 이동하는 오류 수정
개요
새 프로젝트를 생성하는 화면을 담당합니다.
프로젝트 이름, 설명, 카테고리, AI 모델을 선택한 후 POST /createproject API를 호출해 프로젝트를 생성합니다.
프로젝트 생성 성공 시 해당 프로젝트를 활성화하고 상세 화면으로 이동합니다.
해당 컴포넌트 객체
이름 | 타입 | 설명 |
categories | Array | 사용 가능한 프로젝트 카테고리 목록 |
models | Array | 사용 가능한 AI 모델 목록 |
setView | Function | 현재 뷰를 전환하는 함수 ('projects' , 'project-detail' 등) |
setActiveProject | Function | 활성 프로젝트 설정 함수 |
sessionemail | string | 현재 사용자 이메일 |
setProjects | Function | 프로젝트 리스트 업데이트 함수 |
selectProject | Function | 선택된 프로젝트 설정 함수 (사용되지 않음) |
State 변수
이름 | 초기값 | 설명 |
projectName | ” | 입력한 프로젝트 이름 |
projectDesc | ” | 입력한 프로젝트 설명 |
projectCategory | ‘web’ | 선택된 카테고리 ID |
selectedModel | ‘gpt-4’ | 선택된 AI 모델 이름 |
selectedProvider | ‘OpenAI’ | 선택된 AI 모델 제공자 |
주요 함수
createProject() projectName이 없으면 실행되지 않음.
새 프로젝트 정보를 객체로 구성 후 API 요청 수행.
성공 시:
alert(“생성되었습니다.”) 표시
프로젝트 리스트에 새 프로젝트 추가
새 프로젝트를 활성화 프로젝트로 설정
뷰를 ‘project-detail’로 전환
실패 시: 콘솔에 에러 출력 및 사용자에게 알림
POST /createproject
body: {
projectInfo: {
project_name,
description,
category,
model,
user_email,
provider
}
}