dandacompany/deskrpg

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

89
GitHub 스타
69
포크
TypeScript
언어
NOASSERTION
라이선스
2026.05.29
최근 푸시
2026.04.03
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
재미 요소와 업무 생산성을 결합한 셀프 호스팅 가상 오피스로, 팀 협업이나 원격 근무 환경에 참신한 대안이 될 수 있음. AI NPC와 작업 관리 기능이 특히 흥미로움.

강점

  • 셀프 호스팅이 가능하여 데이터 통제권을 가질 수 있음
  • 다양한 설치 옵션(npm, Docker, SQLite, PostgreSQL)을 제공하여 유연함
  • AI NPC, 작업 자동화, AI 회의 등 독특한 기능을 갖춘 가상 오피스

약점

  • AI 기능이 OpenClaw에 의존하며, OpenClaw의 제공자/모델 온보딩이 필요함
  • 프로젝트 라이선스가 명시되지 않음 (NOASSERTION)
  • 아직 웹사이트가 계획 단계이고, 문서가 다소 부족할 수 있음

주의사항

  • 초대 코드가 있어도 로그인이 필요하므로 완전한 익명 접근은 불가능
  • 프로덕션 사용 시 JWT_SECRET을 반드시 설정해야 함
  • OpenClaw 연결이 없으면 NPC, 작업, 회의 기능을 사용할 수 없음

시작 가이드

  • 설치 옵션 중 하나를 선택하여 DeskRPG를 로컬 또는 서버에 배포해 본다
  • OpenClaw 게이트웨이를 설정하고 AI NPC 기능을 테스트한다
  • 맵 에디터를 사용하여 커스텀 오피스 맵을 만들어 본다

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

DeskRPG

한국어 문서: README.ko.md

<img src="public/readme/home-screenshot.png" alt="DeskRPG home screen" width="100%" />

DeskRPG는 셀프 호스팅이 가능한 2D 픽셀 아트 가상 오피스입니다. LPC 캐릭터를 만들고, 공유 채널에 입장하여 실시간 오피스 맵을 돌아다니고, OpenClaw를 통해 AI NPC 동료를 고용하고, 작업을 할당하고, 게임 내에서 보고서를 받고, 브라우저에서 AI 회의를 실행할 수 있습니다.

DeskRPG는 단순한 채팅방이 아닌, 재미있고 셀프 호스팅 가능한 작업 공간을 원하는 사람들을 위해 만들어졌습니다.

  • 웹사이트: https://deskrpg.com (예정)
  • 소스 코드: https://github.com/dandacompany/deskrpg
  • 버전: v2026.5.29

할 수 있는 일

  • LPC 기반 캐릭터 커스터마이징으로 나만의 픽셀 아트 오피스 아바타를 만듭니다.
  • 실시간 멀티플레이어 이동이 가능한 공유 오피스 채널에 참여하거나 직접 호스팅합니다.
  • AI NPC를 고용하여 OpenClaw 에이전트에 연결하고 게임 내에서 대화합니다.
  • 작업을 위임하고, 보고서를 요청하고, 중단된 작업을 재개하고, 작업 보드에서 진행 상황을 검토합니다.
  • 전용 회의실에서 AI 회의를 실행하고 회의록과 다중 에이전트 토론을 진행합니다.
  • 브라우저 기반 맵 에디터로 나만의 오피스 맵을 만들거나 업로드합니다.

스크린샷

<table width="100%"> <tr> <td width="50%" valign="top"><img src="public/readme/deskrpg-login-to-office.gif" alt="DeskRPG getting started" width="100%" /></td> <td width="50%" valign="top"><img src="public/readme/deskrpg-npc-task-loop.gif" alt="DeskRPG NPC chat and tasks" width="100%" /></td> </tr> <tr> <td width="50%" align="center"><strong>시작하기</strong></td> <td width="50%" align="center"><strong>NPC 채팅 및 작업</strong></td> </tr> <tr> <td width="50%" valign="top"><img src="public/readme/deskrpg-meeting-room.gif" alt="DeskRPG meeting room" width="100%" /></td> <td width="50%" valign="top"><img src="public/readme/deskrpg-map-editor.gif" alt="DeskRPG map editor" width="100%" /></td> </tr> <tr> <td width="50%" align="center"><strong>회의실</strong></td> <td width="50%" align="center"><strong>맵 에디터</strong></td> </tr> </table>

빠른 시작

DeskRPG를 시작하는 여섯 가지 방법 중 하나를 선택하세요.

옵션 1: npm 설치 런타임

클론된 저장소 대신 설치된 앱으로 DeskRPG를 원하는 경우 가장 간단한 셀프 호스팅 방법입니다.

npx deskrpg init
npx deskrpg start

DeskRPG는 변경 가능한 런타임 상태를 ~/.deskrpg/ 아래에 저장합니다:

  • ~/.deskrpg/.env.local
  • ~/.deskrpg/data/deskrpg.db
  • ~/.deskrpg/uploads/
  • ~/.deskrpg/logs/

http://localhost:3000을 엽니다.

게시된 npm 패키지: deskrpg

옵션 2: PostgreSQL로 로컬 실행

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을 엽니다.

저장소에서 직접 전체 앱을 실행하려는 경우 가장 좋은 옵션입니다.

옵션 3: SQLite로 로컬 실행

git clone https://github.com/dandacompany/deskrpg.git
cd deskrpg
npm install
npm run setup:lite
npm run dev

SQLite는 data/deskrpg.db에 데이터를 저장합니다.

옵션 4: Docker with PostgreSQL

여러 사용자를 예상하거나 더 내구성 있는 데이터베이스를 원하는 경우 권장합니다.

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

첫 실행 전에 .env.docker를 열고 다음을 설정하세요:

  • JWT_SECRET
  • POSTGRES_PASSWORD

DeskRPG는 http://localhost:3102에서 열립니다.

기본 이미지는 dandacompany/deskrpg:latest입니다. 릴리스를 고정하려면 .env.docker에서 DESKRPG_IMAGEdandacompany/deskrpg:2026.4.6과 같이 변경하세요.

명시적 파일 경로 버전을 선호하는 경우 다음을 실행할 수 있습니다:

docker compose --env-file.env.docker -f docker/docker-compose.external.yml up -d

옵션 5: Docker with PostgreSQL and OpenClaw

하나의 compose 설정에서 DeskRPG, PostgreSQL, OpenClaw 게이트웨이를 원하는 경우 이 스택을 사용하세요.

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

첫 실행 전에 .env.docker를 열고 다음을 설정하세요:

  • JWT_SECRET
  • POSTGRES_PASSWORD
  • OPENCLAW_TOKEN

기본 엔드포인트:

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

이 스택은 종단 간 검증되었지만, AI 기능이 작동하려면 OpenClaw에서 제공자/모델 온보딩이 여전히 필요합니다.

  1. http://localhost:18789/openclaw?token=<OPENCLAW_TOKEN>을 엽니다.
  2. OpenClaw 대시보드에서 제공자 및 모델 온보딩을 완료합니다.
  3. 그런 다음 DeskRPG 내 설정 -> 채널 설정 -> AI 연결에서 다음 값을 저장합니다:
  • OpenClaw Gateway URL: http://localhost:18789
  • Token: .env.dockerOPENCLAW_TOKEN과 동일

이 작업이 완료될 때까지 NPC 고용, 작업 자동화, AI 회의가 작동하지 않습니다.

옵션 6: Docker with SQLite

가장 간단한 단일 머신 설정을 원하는 경우 권장합니다.

JWT_SECRET=change-me docker compose -f docker/docker-compose.lite.yml up -d

DeskRPG는 http://localhost:3102에서 열립니다.

특정 이미지 버전을 고정하려면 명령어 앞에 DESKRPG_IMAGE=dandacompany/deskrpg:2026.4.6을 추가하세요.

빠르게 시작하려면 SQLite를 사용하세요. 장기적으로 유지 관리하기 쉬운 설정을 원하면 PostgreSQL을 사용하세요.

환경

중요한 환경 변수:

  • JWT_SECRET
  • POSTGRES_PASSWORD (PostgreSQL Docker 설정)
  • OPENCLAW_TOKEN (통합 OpenClaw Docker 설정)

프로덕션의 경우 항상 실제 JWT_SECRET을 설정하세요.

OpenClaw 게이트웨이 URL과 토큰은 앱 내 설정 -> 채널 설정 -> AI 연결에서 구성됩니다. 통합 Docker 설정에서도 제공자/모델 온보딩은 OpenClaw 대시보드에서 완료됩니다.

OpenClaw 연결

AI NPC, 작업 자동화, AI 회의는 OpenClaw 게이트웨이 연결에 의존합니다.

채널에 입장한 후:

  1. 오른쪽 상단 메뉴에서 설정을 엽니다.
  2. 채널 설정을 엽니다.
  3. AI 연결로 이동합니다.
  4. 다음을 입력합니다:
  • OpenClaw Gateway URL
  • Token
  1. 저장하고 연결을 테스트합니다.

연결되면 NPC를 고용하고 사용 가능한 OpenClaw 에이전트에 바인딩할 수 있습니다.

DeskRPG 작동 방식

1. 캐릭터

  • 모든 사용자는 캐릭터로 입장합니다.
  • 캐릭터 외형은 LPC 기반이며 레이어드 스프라이트 파트로 구성됩니다.
  • 채널 입장 전에 캐릭터 생성이 필요합니다.

2. 채널

  • 채널은 공유 오피스 공간입니다.
  • 채널은 접근 및 그룹 규칙에 따라 공개 또는 제한될 수 있습니다.
  • 채널 맵은 맵 템플릿에서 가져옵니다.

3. AI NPC

  • NPC는 채널 내에 존재합니다.
  • NPC는 OpenClaw 에이전트에 연결될 수 있습니다.
  • NPC는 앱 내 메뉴에서 호출, 보내기, 편집, 초기화, 해고할 수 있습니다.

4. 작업

  • 대화를 통해 NPC에 작업을 할당할 수 있습니다.
  • 작업은 대기, 진행중, 중단, 완료 상태를 거칩니다.
  • NPC는 자동 또는 수동으로 작업을 계속하도록 알림을 받을 수 있습니다.
  • 중요한 보고서는 NPC가 플레이어에게 걸어와서 게임 내에서 전달됩니다.

5. 회의

  • DeskRPG에는 전용 회의실이 포함되어 있습니다.
  • AI 회의는 채널 범위로 지정되며 OpenClaw를 통해 조정됩니다.
  • 회의록은 저장되며 헤더에서 볼 수 있습니다.

6. 맵 에디터

  • 브라우저 맵 에디터는 Tiled 스타일 맵 워크플로를 지원합니다.
  • 템플릿을 업로드하고, 프로젝트 관련 자산을 관리하고, 새 채널에 맵을 재사용할 수 있습니다.
  • 이는 부수적인 도구가 아닌 프로젝트의 주요 하위 시스템입니다.

제품 노트

  • 초대 코드가 있어도 로그인이 필요합니다.
  • 초대 코드는 채널 접근 도우미이지 익명 접근 토큰이 아닙니다.
  • 현재 기본 앱 내 오피스 타일과 오브젝트 텍스처는 런타임에 코드로 생성됩니다.
  • LPC 아바타 스프라이트 에셋은 별도로 번들되며 자체 크레딧 및 라이선스 노트가 있습니다.

라이선스 및 크레딧

  • 프로젝트 라이선스: LICENSE.md
  • 타사 라이선스: public/third-party-licenses.html
  • LPC 아바타 크레딧: public/assets/spritesheets/CREDITS.md
  • LPC 아바타 라이선스 노트: public/assets/spritesheets/LICENSE-assets.md
  • 전체 LPC 크레딧 데이터: public/assets/spritesheets/CREDITS.csv

지원

원본 저장소: dandacompany/deskrpg

라이선스: NOASSERTION

게재 제외를 원하시면 삭제 요청을 보내주세요.