소개
Kahla는 Aiursoft 프로젝트의 일부로 개발된 크로스플랫폼 비즈니스 채팅 애플리케이션입니다. C#과 TypeScript로 작성되었으며 ASP.NET Core와 Angular를 기반으로 합니다. Electron 기반 데스크톱 클라이언트와 Docker로 배포 가능한 서버를 통해 Windows, macOS, Linux, Android 등 다양한 환경에서 이용할 수 있습니다.
상세정보
다중 플랫폼 클라이언트
- Electron 기반의 Kahla.App을 통해 Windows, macOS, Linux 데스크톱 환경을 지원합니다.
- Android에서도 동일한 Kahla 계정으로 접속할 수 있는 모바일 클라이언트를 제공합니다.
- PWA(Progressive Web App) 형태로 웹 브라우저에서도 접속이 가능합니다.
대화 및 메시지 기능
- 채팅 목록에서 1:1 대화와 그룹 대화를 선택해 진입할 수 있습니다.
- 대화창에서 텍스트 메시지 송수신, 이모티콘 첨부, 음성 메시지 녹음 및 전송을 지원합니다.
- 추가 기능 아이콘을 통해 대화 내 설정과 부가 도구 메뉴에 접근합니다.
자체 호스팅 서버
- Docker 이미지(aiursoft/kahla)를 통해 사설 서버를 직접 운영할 수 있습니다.
- 이미지는 5000 포트를 사용하며, 바이너리 경로는 /app, 데이터 경로는 /data, 설정 파일은 /data/appsettings.json 입니다.
- GitLab CI 배지를 통해 자동 빌드 파이프라인이 운영되고 있음을 확인할 수 있습니다.
데스크톱 앱 설치
Windows에서는 winget을 사용해 Kahla.App을 설치할 수 있습니다.
winget install --id Aiursoft.Kahla --exact명령을 실행하면 Kahla.App 클라이언트가 추가됩니다.
데스크톱 앱 기본 사용 흐름
- 앱을 실행하면 왼쪽에 채팅 목록, 오른쪽에 선택된 대화창이 표시됩니다.
- 목록에서 사용자 또는 그룹을 선택해 대화창을 열고, 하단 입력란에 메시지를 입력한 뒤 전송 버튼을 누릅니다.
- 이모티콘 아이콘으로 감정 표현을 추가하고, 마이크 아이콘으로 음성 메시지를 녹음·전송합니다.
- 추가 기능 아이콘을 눌러 대화 관련 설정과 부가 기능 메뉴를 엽니다.
서버를 직접 실행하기
README에 안내된 자체 호스팅 절차는 다음과 같습니다.
- .NET 10 SDK와 Node.js를 설치합니다.
./src/Aiursoft.Kahla.Frontend/폴더에서yarn install && yarn run build를 실행해 프런트엔드를 빌드합니다.- 빌드 결과물인
dist내용을./src/Aiursoft.Kahla.Server/wwwroot/로 복사합니다. dotnet run으로 서버를 실행한 뒤 브라우저에서http://localhost:5000에 접속합니다.- Visual Studio 환경에서는 솔루션 파일을 열고 F5 키로 실행할 수 있습니다.
Docker로 서버 실행하기
Docker가 설치된 Linux 셸에서 다음 명령으로 컨테이너를 기동할 수 있습니다.
docker pull aiursoft/kahla명령으로 이미지를 내려받습니다.docker run -d --name kahla --restart unless-stopped -p 5000:5000 -v /var/www/kahla:/data aiursoft/kahla로 컨테이너를 실행합니다.- 실행이 완료되면
http://localhost:5000에서 웹 인터페이스를 확인할 수 있습니다.
Kahla는 어떤 기술 스택으로 만들어졌나요?
서버는 C#과 ASP.NET Core, 프런트엔드는 Angular와 TypeScript로 작성되었으며, 데스크톱 클라이언트는 Electron을 기반으로 합니다.
데스크톱 앱을 설치하려면 어떻게 하나요?
Windows에서는 winget install --id Aiursoft.Kahla --exact 명령으로 Kahla.App을 설치할 수 있습니다.
Docker로 서버를 운영할 때 어떤 설정이 필요한가요?
aiursoft/kahla 이미지를 5000 포트로 매핑해 실행하며, 데이터는 /var/www/kahla에 마운트하고 설정은 /data/appsettings.json에서 관리합니다.
Kahla는 어떤 라이선스인가요?
Kahla.App 패키지는 MIT 라이선스로 배포되며, 전체 코드베이스는 GitHub와 GitLab 저장소에서 공개되어 있습니다.
화면으로 보는 주요 기능
채팅 목록 및 대화 창

왼쪽에는 'Kahla'라는 타이틀이 있는 채팅 목록이 표시되어 있으며, 'edgeneko', '我自己', '宝鱼' 등의 사용자와의 대화가 시간순으로 나열되어 있다. 오른쪽에는 'edgeneko'와의 대화 창이 열려 있고, 여러 메시지가 파란색과 회색 메시지 박스로 표시되어 있다. 하단에는 메시지 입력란과 이모티콘, 마이크, 추가 기능 아이콘이 있다.
시스템 요구사항
Kahla.App(데스크톱 클라이언트)은 winget을 통해 설치할 수 있으며, Kahla 서버는 자체 호스팅 시 .NET 10 SDK와 Node.js가 필요합니다. Docker로 서버를 실행하려면 Docker 엔진이 설치된 Linux 환경이 필요합니다.


