MODELNARU · SELF-HOSTED AI WORKSPACE

여러 모델로 건너가는하나의 대화 공간

등록된 AI 제공자와 모델을 한곳에서 관리하고,
계정별로 분리된 대화를 이어갑니다.

공개 회원가입 없이 관리자가 계정과 모델 권한을 관리합니다.
세션 확인 중

HOW IT WORKS · INFRASTRUCTURE

한 대의 서버 안에서,경계는 분명하게

브라우저에서 시작된 요청은 웹 진입, 애플리케이션, 데이터 계층을 차례로 거칩니다.
서비스는 컨테이너 단위로 역할을 나누되 하나의 대화 흐름으로 연결됩니다.

  1. 01 · WEB SERVICE사용자와 관리자의 구분

    사용자는 허용된 모델과 자신의 대화에만 접근하고, 관리자는 계정·Provider·권한과 운영 기록을 관리합니다. 일상적인 사용 권한과 시스템 변경 권한이 섞이지 않도록 역할을 분리했습니다.

  2. 02 · REVERSE PROXYNginx

    기존 도메인과 인증서 운영을 재사용하고 Web과 API를 같은 출처로 묶습니다. AI 답변 스트리밍도 끊기지 않도록 전달 방식을 제어합니다.

  3. 03 · APPLICATIONNext.js · NestJS

    Next.js는 역할별 화면과 채팅 상태를, NestJS는 인증·권한·대화·파일 처리와 Provider 연동을 기능별 모듈로 나누어 담당합니다.

  4. 04 · DATAPostgreSQL · Valkey

    PostgreSQL은 계정·권한·대화·사용량·감사 기록의 기준 원장입니다. Valkey는 빠른 임시 상태와 작업 처리를 보조하도록 분리했습니다.

A

모델이 바뀌어도 대화는 이어지게

서로 다른 AI 제공자의 요청과 응답을 공통 흐름으로 정리하면서도 제공자별 생성 파라미터는 유지했습니다. 같은 대화 안에서 모델을 바꾸고 답변을 분기로 보존할 수 있습니다.

B

공간은 나누고 비밀은 서버에만

사용자와 게스트의 대화·파일을 소유권 기준으로 격리하고 모든 권한을 서버에서 다시 확인합니다. Provider 자격증명은 암호화하며 브라우저와 일반 로그에 노출하지 않습니다.

C

운영자가 이해하고 통제할 수 있게

계정과 모델 권한, 호출 제한, 자동 요약, 파일 보관과 사용량·감사 기록을 관리자 화면에 모았습니다. 기능의 편리함뿐 아니라 운영 과정의 확인 가능성을 함께 설계했습니다.

PRODUCT SURFACES · ROLES

관리하는 화면과 대화하는 화면

관리자는 서비스의 연결과 권한을 통제하고, 사용자는 자신에게 허용된 모델로 독립된 대화를 이어갑니다.

ADMIN

관리자 공간

  • 사용자 생성·비밀번호 변경·비활성화와 세션 종료
  • Provider API 키 등록·모델 동기화·활성 모델 관리
  • 사용자·게스트별 모델 권한과 일일 호출 제한
  • 자동 요약 모델·프롬프트·생성 파라미터 설정
  • 사용량, 감사·보안·AI·파일·시스템 통합 로그
  • 첨부파일 보관 기간과 만료 파일 정리
USER

사용자 공간

  • 계정별로 분리된 대화방과 대화별 독립 설정
  • 대화 중 모델 변경과 Provider별 생성 파라미터
  • 스트리밍 답변·생성 중단·답변 재생성과 분기
  • 시스템 프롬프트·이전 문맥 범위·자동 요약
  • TXT·Markdown·JSON·PDF·OCR·이미지 첨부
  • 현재 세션의 실제 Provider 요청·응답 확인

LIVE DEMO · ISOLATED GUEST SESSION

설명을 읽었다면,이제 직접 건너가 보세요

게스트 체험은 ModelNaru의 포트폴리오 데모입니다. 코드를 입력하면 다른 방문자와 분리된 임시 대화 공간이 만들어지고, 관리자가 허용한 모델과 횟수 안에서 실제 채팅 기능을 체험할 수 있습니다.

독립 세션다른 게스트의 대화와 파일에 접근할 수 없습니다.
제한된 권한허용 모델·일일 요청·동시 세션 제한을 적용합니다.
자동 정리로그아웃하거나 만료되면 임시 대화와 파일을 삭제합니다.

GUEST ACCESS

현재 체험 준비 중

관리자가 게스트 체험을 활성화하면 이곳에서 코드를 입력할 수 있습니다.

대화 내용은 외부 AI 제공자에게 전송될 수 있으며 민감한 정보는 입력하지 마세요.