본문 바로가기
개발 문서 · v0.1

미니위니 개발 문서

내 브랜드 장소를 만들고, AI(MCP)나 REST API로 미니룸을 다루고, 내 사이트의 미니룸을 연합에 잇는 방법을 정리했어요.

지금은 설계 단계(v0.1)예요. 엔드포인트와 필드는 바뀔 수 있고, 항목마다 구현 상태를 표시했어요.

시작하기

  1. 이온디 회원가입·로그인 (구글 로그인 포함) 사용 중
  2. 미니룸 아이디 정하기 — 중복 확인 후 비어 있으면 바로 생성 곧 공개
  3. miniwini.eond.com/@미니룸아이디 로 내 미니룸 열기 곧 공개
  4. 내 미니룸 → 설정에서 API 토큰 발급 (범위 선택) → MCP 또는 REST API 연결 설계 중

미니룸 아이디는 스레드 아이디와 별개예요. 영문 소문자로 시작하는 3~20자(영문 소문자·숫자·_·.)이고, 예약어(admin, api, start 등)는 쓸 수 없어요.

장소 패키지 .miniplace 설계 중

내 가게·브랜드 공간은 .miniplace 패키지 하나로 표현해요. 어느 플랫폼에서 만들었든 같은 규격이면 서버가 검증하고 세계에 세워 줘요.

my-cafe.miniplace/          # zip or a single JSON
├── place.json              # spec version, key, size, tiles, objects, seats, exits, NPCs
├── brand.json              # sign, logo color, intro, address, hours, social, menu, links
├── lang/{ko,en,ja,...}.json   # sign / menu / NPC line translations
└── thumb.png               # optional — rendered by the server if missing

place.json

{
  "v": 1,
  "key": "gangnam-bakery",
  "name": {"ko": "강남 빵집", "en": "Gangnam Bakery"},
  "kind": "cafe",
  "size": [12, 10],
  "floor": [{"tile": "wood_oak", "rect": [0, 0, 12, 10]}],
  "objects": [
    {"item": 1021, "x": 2, "z": 3, "rot": 90},
    {"prim": "box", "color": "#ffe3ec", "x": 6, "z": 1, "w": 3, "d": 1, "h": 1}
  ],
  "seats": [[8, 6], [9, 6], [10, 6], [11, 6]],
  "exits": [{"to": "street", "x": 0, "z": 5}],
  "npcs": [{"role": "clerk", "x": 6, "z": 2, "lines": {"ko": ["어서 오세요!"], "en": ["Welcome!"]}}]
}
  • 오브젝트는 선언형만 — 공통 카탈로그 아이템 id 또는 도형(box·cyl·sph·cone + 색). JS 코드는 넣을 수 없어요(샌드박스).
  • 크기 8×8 ~ 32×32, 오브젝트 600개 이하, 파일 2MB 이하. 서버가 출구까지 걸어갈 수 있는지(동선)도 검사해요.
  • 간판·메뉴·NPC 대사는 lang/{언어}.json 으로 번역하면 방문자 언어로 보여요.

MCP — AI로 다루기 설계 중

Claude·ChatGPT 같은 AI 앱에 미니위니 MCP 서버를 연결하면 말로 방을 꾸미고 가게를 세울 수 있어요.

claude mcp add --transport http miniwini \
  https://miniwini.eond.com/mcp \
  --header "Authorization: Bearer $MW_TOKEN"
도구설명
get_room / save_room내 방 JSON 읽기·저장
set_status오늘의 상태 문구·표정 바꾸기
create_place / add_object / add_npc장소 만들기, 가구·도형 배치, NPC 세우기
set_brand간판·메뉴·가격·영업시간 등 브랜드 정보
validate / preview / publish규격 검사, 썸네일 미리보기, 공개 범위 정해 올리기
list_catalog공통 카탈로그 아이템 목록

토큰 범위 안에서만 동작해요 — 내 방·내 가게만 읽고 쓸 수 있고, 다른 사람 방은 공개 정보만 볼 수 있어요.

REST API

JSON으로 주고받아요. 읽기는 공개, 쓰기는 로그인 쿠키(같은 사이트) 또는 Bearer 토큰이 필요해요.

메서드경로설명상태
GET/api/miniroom/handle/check?h=미니룸 아이디 사용 가능 여부(형식·예약어·중복)곧 공개
POST/api/miniroom/rooms내 미니룸 만들기 {handle}곧 공개
GET/api/miniroom/room/{handle}미니룸 공개 JSON곧 공개
POST/api/miniroom/room내 방 저장설계 중
GET/api/miniroom/showroom쇼룸 목록(호스티드 + 가져온 사이트)곧 공개
POST/api/miniroom/showroom/import사이트 주소로 그 사이트의 미니룸 가져오기곧 공개
POST/api/miniroom/places.miniplace 업로드·검증설계 중

응답 예시

curl https://miniwini.eond.com/api/miniroom/room/kongi_room

{
  "handle": "kongi_room",
  "nick": "콩이네",
  "thumb": "https://miniwini.eond.com/files/miniroom/12/thumb.png",
  "room": {"v": 1, "grid": 6, "items": [{"id": 1021, "x": 1, "z": 2, "rot": 90}], "pets": [{"species": "dog", "name": "콩이"}]},
  "status": {"text": "작업 중", "face": "sleepy"},
  "updated": "2026-10-11T12:00:00+09:00"
}

쓰기 요청은 Authorization: Bearer <토큰> 헤더를 붙여요. 토큰은 범위(scope)별로 발급하고 언제든 폐기할 수 있어요.

연합 규격 — 사이트 주소로 잇기 곧 공개

라이믹스·워드프레스·그누보드 사이트에 미니룸 모듈을 설치하면, 쇼룸에 사이트 주소만 넣어 그 사이트의 미니룸을 가져올 수 있어요. 서버는 먼저 /.well-known/miniroom.json 을 읽고, 없으면 플랫폼 기본 경로를 시도해요.

/.well-known/miniroom.json

{
  "spec": "miniroom/1",
  "platform": "rhymix",
  "name": "My Site",
  "list": "https://example.com/index.php?module=miniroom&act=getMiniroomList",
  "room": "https://example.com/index.php?module=miniroom&act=getMiniroomRoom&member_srl={id}",
  "embed": "https://example.com/index.php?module=miniroom&act=dispMiniroomEmbed&member_srl={id}"
}

목록 응답 (list)

{
  "rooms": [
    {"id": "12", "nick": "Kongi", "thumb": "https://example.com/files/attach/miniroom/12/thumb.png",
     "embed": "https://example.com/...dispMiniroomEmbed&member_srl=12", "updated": "2026-10-11T12:00:00+09:00"}
  ],
  "next": null
}
  • 퍼가기를 허용한(embed_allow) 방만 목록에 나와요. 상태 문구·펫 이름 같은 개인 정보는 목록에 넣지 않아요.
  • 가져온 방의 원본은 그 사이트에 있어요. 미니위니는 썸네일·주소만 색인하고, 방을 열면 원본 사이트의 임베드로 보여 줘요.
  • 사이트가 목록을 내리면 다음 갱신 때 쇼룸에서도 빠져요.

플랫폼 모듈

플랫폼형태가격상태
miniwini.eond.com호스티드 — 설치 없이 이온디 계정으로무료곧 공개
Rhymix레이아웃 판매 중 + 미니룸 모듈₩30,000사용 중
WordPress플러그인₩30,000설계 중
Gnuboard플러그인₩30,000설계 중

설치형 모듈·플러그인은 플랫폼별 각 3만 원이에요. 같은 규격이라 호스티드에서 내 사이트로, 내 사이트에서 호스티드로 옮길 수 있어요.

변경 이력 — v0.1 (2026-10-11) 첫 공개 초안.