모델이 바뀌어도 대화는 이어지게
서로 다른 AI 제공자의 요청과 응답을 공통 흐름으로 정리하면서도 제공자별 생성 파라미터는 유지했습니다. 같은 대화 안에서 모델을 바꾸고 답변을 분기로 보존할 수 있습니다.
MODELNARU · SELF-HOSTED AI WORKSPACE
등록된 AI 제공자와 모델을 한곳에서 관리하고,
계정별로 분리된 대화를 이어갑니다.
HOW IT WORKS · INFRASTRUCTURE
브라우저에서 시작된 요청은 웹 진입, 애플리케이션, 데이터 계층을 차례로 거칩니다.
서비스는 컨테이너 단위로 역할을 나누되 하나의 대화 흐름으로 연결됩니다.
사용자는 허용된 모델과 자신의 대화에만 접근하고, 관리자는 계정·Provider·권한과 운영 기록을 관리합니다. 일상적인 사용 권한과 시스템 변경 권한이 섞이지 않도록 역할을 분리했습니다.
기존 도메인과 인증서 운영을 재사용하고 Web과 API를 같은 출처로 묶습니다. AI 답변 스트리밍도 끊기지 않도록 전달 방식을 제어합니다.
Next.js는 역할별 화면과 채팅 상태를, NestJS는 인증·권한·대화·파일 처리와 Provider 연동을 기능별 모듈로 나누어 담당합니다.
PostgreSQL은 계정·권한·대화·사용량·감사 기록의 기준 원장입니다. Valkey는 빠른 임시 상태와 작업 처리를 보조하도록 분리했습니다.
서로 다른 AI 제공자의 요청과 응답을 공통 흐름으로 정리하면서도 제공자별 생성 파라미터는 유지했습니다. 같은 대화 안에서 모델을 바꾸고 답변을 분기로 보존할 수 있습니다.
사용자와 게스트의 대화·파일을 소유권 기준으로 격리하고 모든 권한을 서버에서 다시 확인합니다. Provider 자격증명은 암호화하며 브라우저와 일반 로그에 노출하지 않습니다.
계정과 모델 권한, 호출 제한, 자동 요약, 파일 보관과 사용량·감사 기록을 관리자 화면에 모았습니다. 기능의 편리함뿐 아니라 운영 과정의 확인 가능성을 함께 설계했습니다.
PRODUCT SURFACES · ROLES
관리자는 서비스의 연결과 권한을 통제하고, 사용자는 자신에게 허용된 모델로 독립된 대화를 이어갑니다.
LIVE DEMO · ISOLATED GUEST SESSION
게스트 체험은 ModelNaru의 포트폴리오 데모입니다. 코드를 입력하면 다른 방문자와 분리된 임시 대화 공간이 만들어지고, 관리자가 허용한 모델과 횟수 안에서 실제 채팅 기능을 체험할 수 있습니다.