AI

DeskRPG : AI 에이전트의 ‘2D 가상 오피스

행복한 수지아빠 2026. 4. 9. 11:46
반응형

협업 도구는 이미 많습니다. 그런데 대부분은 결국 “채팅창 + 문서 + 보드” 조합으로 흘러갑니다. DeskRPG는 여기서 한 걸음 더 나가, 브라우저 안의 2D 픽셀 아트 오피스를 협업 인터페이스로 삼고, 그 안에 AI NPC, 태스크 진행, 회의, 맵 편집까지 붙입니다. 단순한 장식이 아니라, 협업 경험 자체를 공간 기반으로 재구성하려는 시도라고 볼 수 있습니다. (GitHub)

 

GitHub - dandacompany/deskrpg: 2D pixel art multiplayer virtual office game — create characters, join channels, chat with AI N

2D pixel art multiplayer virtual office game — create characters, join channels, chat with AI NPCs, and collaborate in real-time - dandacompany/deskrpg

github.com

 

특히 이런 글은 도움이 됩니다.

  • “AI 에이전트를 업무 공간 안에 자연스럽게 녹여 넣는 방식”이 궁금한 개발자
  • 셀프 호스팅 가능한 협업 도구를 찾는 팀
  • 채팅 중심 UI가 아닌, 더 직관적인 팀 공간 모델에 관심 있는 사람
  • Next.js, Phaser, Socket.IO, Drizzle 기반 앱 구조를 실전 예제로 보고 싶은 사람 (GitHub)

왜 이 문제가 중요한가

기존 협업 도구의 문제는 기능이 부족해서가 아니라, 업무 맥락이 너무 흩어진다는 점입니다.

예를 들면 이런 불편이 자주 생깁니다.

  • 누가 지금 같은 공간에서 일하고 있는지 감이 잘 안 잡힌다
  • AI 도구가 채팅창 바깥의 “구성원”처럼 느껴지지 않고, 그냥 호출형 유틸리티로 머문다
  • 회의, 업무 요청, 진행 상태, 보고가 서로 다른 화면과 도구로 쪼개진다
  • 셀프 호스팅 환경에서는 협업 도구가 너무 무겁거나, 반대로 기능이 너무 단순하다
  • 원격 협업에서 “같이 일하는 느낌”은 부족한데, 그렇다고 메타버스형 제품은 실무 연결이 약한 경우가 많다

실무에서는 이게 곧 비용이 됩니다.

  • 작업 요청은 했는데 실제 진행 상태가 안 보임
  • AI에게 맡긴 일이 어디까지 갔는지 따로 확인해야 함
  • 회의와 결과물이 분리돼 후속 액션이 끊김
  • 팀 공간이 단순 채팅방이라 참여감이 낮음
  • 커스텀 공간이나 내부 운영 정책을 반영하기 어려움

DeskRPG는 이 지점을 “가상 오피스”라는 공간 모델로 풀려는 접근입니다. 사용자는 채널에 입장해 캐릭터로 움직이고, NPC와 대화하고, 태스크를 맡기고, 회의실에서 AI 회의를 돌립니다. 즉, 협업 UI를 문서/채팅 중심이 아니라 공간 + 등장인물 + 상태 변화 중심으로 바꿉니다. (GitHub)

DeskRPG란 무엇인가

DeskRPG는 셀프 호스팅 가능한 2D 픽셀 아트 멀티플레이어 가상 오피스이며, 캐릭터 이동, 공유 채널, AI NPC, 태스크 보드, AI 회의, 맵 편집 기능을 브라우저에서 제공하는 협업 앱입니다. (GitHub)

쉽게 말하면 이렇게 이해하면 됩니다.

  • 슬랙 같은 채팅방이 기본 공간이 아니라
  • 게임처럼 보이는 2D 오피스 맵이 기본 화면이고
  • 사람과 AI가 그 공간 안의 구성원처럼 존재하며
  • 업무 요청과 진행 보고도 그 안에서 일어나는 구조입니다. (GitHub)

기존 방식과의 차이는 분명합니다.

  • 기존 협업 도구: 메시지, 문서, 보드가 중심
  • DeskRPG: 공간, 캐릭터, 상호작용, AI 동료가 중심

그래서 이 프로젝트는 단순히 “예쁜 UI”가 아니라, 협업 인터페이스를 게임적 공간 모델로 재설계한 사례로 보는 쪽이 더 정확합니다. (GitHub)

핵심 특징

  • 셀프 호스팅 가능
    • npm 런타임, 로컬 실행, Docker, SQLite, PostgreSQL 등 여러 방식으로 시작할 수 있습니다. (GitHub)
  • 2D 멀티플레이어 오피스
    • 사용자는 공유 채널에 들어가 실시간으로 맵을 돌아다닐 수 있습니다. (GitHub)
  • LPC 기반 캐릭터 생성
    • 레이어형 스프라이트 조합으로 아바타를 만들고 채널에 입장합니다. (GitHub)
  • AI NPC 연결
    • OpenClaw 게이트웨이를 연결하면 NPC를 고용하고 에이전트와 바인딩할 수 있습니다. (GitHub)
  • 태스크 흐름 내장
    • 대기, 진행중, 중단, 완료 상태를 오가며 업무를 위임하고 보고를 받을 수 있습니다. (GitHub)
  • 회의실과 맵 에디터 제공
    • AI 회의용 공간과 브라우저 기반 맵 편집 기능이 포함됩니다. (GitHub)

실제로 어떤 효과가 있는가

공개 자료 기준으로 DeskRPG는 정량 성능 수치보다는 경험 구조의 변화에 강점이 있습니다. README에서 확인되는 효과는 다음 쪽에 가깝습니다. (GitHub)

1) AI를 “도구”가 아니라 “동료”처럼 다루기 쉬워진다

NPC를 채널 안에 배치하고, 대화하고, 호출하고, 복귀시키고, 해고하는 흐름이 명시돼 있습니다. 즉 AI가 별도 탭의 챗봇이 아니라, 팀 공간 안의 개체로 취급됩니다. (GitHub)

2) 업무 요청과 진행 보고가 더 눈에 들어온다

태스크는 상태를 가지며, 중요한 보고는 NPC가 플레이어에게 직접 걸어와 전달한다고 설명돼 있습니다. 이건 상태 변경을 단순 알림이 아니라 공간 내 이벤트로 바꾸는 방식입니다. (GitHub)

3) 원격 협업의 참여감을 높일 수 있다

실시간 멀티플레이어 채널, 오피스 맵, 회의실 구조는 “같은 공간에서 일한다”는 감각을 강화합니다. 특히 텍스트 채팅만으로는 팀 존재감이 약한 환경에서 효과가 클 수 있습니다. 이 부분은 README 설명을 바탕으로 한 해석입니다. (GitHub)

4) 셀프 호스팅 팀에 맞는 선택지가 많다

간단히 시작하려면 SQLite, 장기 운영이나 다중 사용자를 생각하면 PostgreSQL, AI 기능까지 바로 붙이려면 OpenClaw 포함 Docker 구성을 선택할 수 있습니다. (GitHub)

동작 원리 / 구조

문서상 확인되는 범위에서 DeskRPG의 흐름은 대략 이렇게 이해할 수 있습니다.

1. 사용자는 캐릭터를 만든다

채널에 들어가기 전에 캐릭터 생성이 필요합니다. 캐릭터 외형은 LPC 기반 레이어 스프라이트 조합으로 구성됩니다. (GitHub)

2. 채널이 실제 협업 공간이 된다

채널은 공유 오피스 공간입니다. 공개/제한 접근 규칙을 둘 수 있고, 맵은 템플릿을 기반으로 만들어집니다. (GitHub)

3. 맵 안에서 실시간 상호작용이 일어난다

저장소 설명에는 live multiplayer movement가 명시돼 있고, 의존성에는 phaser, socket.io, socket.io-client가 포함돼 있습니다. 따라서 브라우저 내 실시간 이동과 상호작용을 게임 엔진 + 실시간 통신으로 구현하는 구조로 볼 수 있습니다. 이 부분은 문서와 패키지 정보를 바탕으로 한 합리적 추론입니다. (GitHub)

4. AI 기능은 OpenClaw 게이트웨이를 통해 연결된다

AI NPC, 태스크 자동화, AI 회의는 OpenClaw 연결이 필요합니다. 사용자는 채널 설정의 AI 연결 탭에서 게이트웨이 URL과 토큰을 넣고 연결을 테스트합니다. (GitHub)

5. NPC가 업무를 수행한다

NPC는 OpenClaw 에이전트와 연결할 수 있고, 대화를 통해 업무를 맡길 수 있습니다. 태스크 상태는 대기 → 진행중 → 중단 → 완료로 흘러갑니다. 보고 요청이나 재촉도 가능합니다. (GitHub)

6. 회의실에서 AI 회의를 운영한다

전용 회의실이 있고, 회의 노트와 멀티 에이전트 토론을 지원한다고 README에 적혀 있습니다. 즉 협업 흐름이 “대화형 NPC”에만 머물지 않고, 집단 논의 시나리오까지 확장됩니다. (GitHub)

7. 데이터 저장과 앱 실행 구조

package.json 기준으로 DeskRPG는 Next.js 16, React 19, Drizzle ORM, pg, better-sqlite3를 사용합니다. 즉 프런트엔드/앱 서버는 Next.js 중심이고, 데이터 저장소는 PostgreSQL 또는 SQLite를 선택할 수 있는 구조입니다. (GitHub)

설치 / 사용 방법

문서에 나온 시작 방법은 6가지입니다. 처음 보는 입장에서는 아래처럼 정리하면 이해가 쉽습니다. (GitHub)

가장 빠르게 체험하기: npm 런타임 설치

저장소를 클론하지 않고 설치형처럼 시작하는 방식입니다.

npx deskrpg init
npx deskrpg start
  • 기본 접속 주소: http://localhost:3000
  • 런타임 데이터 저장 위치:
    • ~/.deskrpg/.env.local
    • ~/.deskrpg/data/deskrpg.db
    • ~/.deskrpg/uploads/
    • ~/.deskrpg/logs/ (GitHub)

저장소 기준으로 직접 실행: PostgreSQL 버전

전체 앱을 repo 기준으로 돌려보려면 이 경로가 가장 정석입니다.

git clone https://github.com/dandacompany/deskrpg.git
cd deskrpg
npm install
cp .env.example .env.local
npm run setup
npm run dev
  • 접속 주소: http://localhost:3000
  • README에서는 repo 기반 전체 앱 실행에 가장 적합한 옵션이라고 설명합니다. (GitHub)

더 가볍게 시작: SQLite 버전

git clone https://github.com/dandacompany/deskrpg.git
cd deskrpg
npm install
npm run setup:lite
npm run dev
  • SQLite 데이터 파일: data/deskrpg.db (GitHub)

운영형에 가까운 실행: Docker + PostgreSQL

cp .env.example .env.docker
docker compose --env-file .env.docker up -d

처음 실행 전에는 .env.docker에서 아래 값을 설정해야 합니다.

JWT_SECRET=your-secret
POSTGRES_PASSWORD=your-password
  • 접속 주소: http://localhost:3102
  • 다중 사용자 또는 더 안정적인 저장소가 필요하면 이 구성을 권장한다고 문서에 적혀 있습니다. (GitHub)

AI 기능까지 한 번에: Docker + PostgreSQL + OpenClaw

cp .env.example .env.docker
docker compose --env-file .env.docker -f docker/docker-compose.openclaw.yml up -d --build

필수 환경 변수:

JWT_SECRET=your-secret
POSTGRES_PASSWORD=your-password
OPENCLAW_TOKEN=your-token

기본 엔드포인트:

DeskRPG:  http://localhost:3102
OpenClaw: http://localhost:18789/openclaw?token=<OPENCLAW_TOKEN>

이후 OpenClaw 대시보드에서 provider/model 온보딩을 끝내고, DeskRPG의 설정 -> 채널 설정 -> AI 연결에서 게이트웨이 URL과 토큰을 저장해야 AI 기능이 작동합니다. (GitHub)

자주 보게 될 스크립트

package.json 기준 주요 스크립트는 이렇습니다.

npm run dev
npm run dev:debug
npm run setup
npm run setup:lite
npm run build
npm run start
npm run test
npm run db:migrate
npm run db:studio

즉 개발, 경량 셋업, 마이그레이션, 빌드, 테스트 흐름이 분리돼 있습니다. (GitHub)

자주 쓰는 예시 / 활용 시나리오

1. 내부 팀용 가상 오피스

원격 팀이 “온라인 사무실”처럼 접속해서 함께 움직이고 대화하는 공간으로 쓸 수 있습니다. 일반 채팅방보다 팀 존재감을 만들기 좋습니다. (GitHub)

2. AI 동료 실험용 샌드박스

OpenClaw와 연결한 뒤 NPC를 에이전트에 바인딩하면, AI를 단순 API 호출이 아니라 “팀 구성원”처럼 운영하는 UX를 실험할 수 있습니다. (GitHub)

3. 태스크 위임형 협업 도구 프로토타입

업무를 대화로 넘기고, 상태를 보고, 중단된 작업을 다시 이어가게 하는 흐름이 있어 에이전트 협업 UX를 테스트하기 좋습니다. (GitHub)

4. 회의 중심 AI 운영 환경

전용 회의실과 멀티 에이전트 논의 기능을 이용해 회의록 생성, 역할 기반 논의, 의견 수집 같은 흐름을 구성할 수 있습니다. (GitHub)

5. 맵 커스터마이징이 필요한 조직용 공간

브라우저 기반 맵 에디터와 사용자 맵 업로드 기능이 있어, 조직 고유 공간이나 이벤트성 공간을 만드는 데 활용할 수 있습니다. (GitHub)

한계 / 주의할 점

장점이 분명한 만큼, 적용 전에 봐야 할 현실적인 포인트도 있습니다.

OpenClaw 의존성이 있다

AI NPC, 태스크 자동화, AI 회의는 OpenClaw 연결이 필요합니다. 즉 DeskRPG만 띄운다고 AI 기능이 바로 되는 구조는 아닙니다. 게이트웨이 연결, 토큰 설정, provider/model 온보딩이 별도로 필요합니다. (GitHub)

“가볍게 쓰는 채팅 도구”와는 결이 다르다

이 프로젝트의 강점은 공간성과 상호작용입니다. 반대로 말하면, 단순 메시징만 필요할 때는 과할 수 있습니다. 팀이 이런 인터페이스를 좋아하는지 먼저 보는 게 좋습니다. 이 부분은 제품 성격에 대한 해석입니다. (GitHub)

운영 형태에 따라 DB 선택이 갈린다

문서에서도 빠른 시작은 SQLite, 장기 운영은 PostgreSQL을 권장합니다. 테스트와 운영을 같은 방식으로 가져갈지 초반에 정하는 편이 낫습니다. (GitHub)

아직 공개 자료 중심으로 봐야 한다

README에는 웹사이트가 “planned”로 표기돼 있고 버전은 v2026.4.6로 표시돼 있습니다. 따라서 지금 시점에서는 저장소 문서와 셀프 호스팅 흐름이 사실상 핵심 진입점입니다. (GitHub)

마무리

DeskRPG의 핵심은 화려한 2D 화면이 아닙니다. 협업을 채팅방이 아니라 공간으로 바꾸고, 그 안에 AI NPC와 태스크 흐름을 자연스럽게 넣었다는 점이 더 중요합니다. (GitHub)

특히 이 프로젝트는 아래 같은 사람에게 잘 맞습니다.

  • 셀프 호스팅 가능한 팀 협업 공간을 찾는 사람
  • AI 에이전트를 실제 업무 흐름 속 “구성원”처럼 다뤄 보고 싶은 사람
  • 게임형 인터페이스와 실시간 협업을 결합한 제품 구조를 연구하는 개발자
  • Next.js + Phaser + Socket.IO + Drizzle 조합의 실전 예시를 보고 싶은 사람 (GitHub)

결국 DeskRPG는 “AI가 들어간 협업 도구”를 만드는 데서 한 단계 더 나아가, “AI와 사람이 함께 있는 공간 자체를 설계하는 도구”에 가깝습니다. 이런 문제의식이 있는 팀이라면 충분히 살펴볼 가치가 있습니다. (GitHub)

핵심 요약

  • DeskRPG는 셀프 호스팅 가능한 2D 픽셀 아트 가상 오피스 협업 앱이다. (GitHub)
  • 핵심 가치는 채팅창이 아니라 공간 기반 협업 + AI NPC 상호작용에 있다. (GitHub)
  • AI 기능은 OpenClaw 게이트웨이 연결 후 사용할 수 있다. (GitHub)
  • 실행은 npm, 로컬, Docker, SQLite, PostgreSQL 등 여러 방식으로 가능하다. (GitHub)
  • 실무적으로는 원격 협업 경험 강화, AI 동료 UX 실험, 태스크 위임형 워크플로우 설계에 특히 의미가 있다. (GitHub)
반응형