EAI

AI 에이전트

에디터는 MCP나 명령줄을 통해 AI 에이전트가 조작할 수 있습니다. 씬, 에셋, 패키지, 빌드, 보드, 스크린샷까지. 쓸지 말지는 자유이며, Deki의 어떤 부분도 이것을 필요로 하지 않습니다.

전부 선택 사항입니다

Deki에는 AI가 들어 있지 않습니다. 엔진도, 에디터도, 여러분이 만든 게임도 모델을 호출하지 않고, 계정이 필요 없으며, 어디로도 아무것도 보내지 않습니다. 이 페이지는 이미 쓰고 있는 에이전트에게 에디터를 맡기는 방법을 설명하며, 그 모든 일은 에디터에서 직접 손으로도 할 수 있습니다.

에이전트를 쓰지 않는다면 이 페이지는 건너뛰어도 됩니다. 사이트의 다른 부분은 이것에 의존하지 않고, 프로젝트에도 아무 변화가 없습니다.

Deki를 만드는 방식

엔진과 에디터는 AI의 도움을 받아 개발합니다. AI 에이전트와 함께 작업하며, 그 상당 부분은 이 페이지에 있는 도구를 통해 이루어집니다. 이것은 Deki를 만드는 방식일 뿐, 여러분에게 요구하는 것이 아닙니다. 배포되는 것은 평범한 C++이고, 그것으로 만든 게임에는 AI가 들어 있지 않습니다.

에이전트가 할 수 있는 일

에디터에는 MCP 서버가 내장되어 있습니다. 여기에 연결한 에이전트는 에디터 자체의 명령줄과 같은 도구 약 80개를 쓸 수 있습니다.

분야도구
씬오브젝트 생성, 삭제, 복제, 이름 변경, 부모 변경. 이동, 회전, 크기 조절. 컴포넌트 추가와 제거. 속성 읽기와 설정. 실행 취소와 다시 실행. 씬 열기, 저장, 새로 만들기.
에셋에셋 목록, 가져오기, 이동, 생성, 열기. 에셋 브라우저에서 선택.
프로젝트프로젝트 생성과 열기, 프로젝트 설정과 시작 씬 지정, 패키지 설치, 코드 다시 빌드.
빌드플랫폼 선택, 펌웨어 빌드, 플래시나 설치, 툴체인 확인, 정리.
보드연결된 보드가 보여 주는 화면의 스크린샷, 프레임 레이트와 남은 메모리 읽기.
창에디터 전체나 패널 하나의 스크린샷, 프레임 시퀀스, 클릭, 드래그, 키 입력과 텍스트 입력, 패널 열기와 포커스, 대화 상자 응답.

열려 있는 씬, 컴포넌트 목록, 프로젝트 설정은 MCP 리소스로도 읽을 수 있습니다. 패키지는 자체 도구를 추가할 수 있고, 그 도구도 같은 목록에 나타납니다.

이것으로 가능한 가장 긴 루프는 이렇습니다. 컴포넌트를 바꾸고, 다시 빌드하고, 씬을 플레이하고, 스크린샷을 찍고, 펌웨어를 빌드하고, 보드에 플래시하고, 보드의 스크린샷을 찍어 프레임 레이트를 읽습니다. 에이전트는 사람이 끼지 않고 이 루프를 돌 수 있습니다. 이 사이트의 에디터 이미지는 모두 이 도구들로 만들었습니다.

클라이언트 연결

모든 에디터 창은 자기 컴퓨터 안(127.0.0.1)에서만 서버를 실행하며, 토큰이 있는 요청에만 응답합니다. 상태 표시줄 오른쪽 아래의 MCP가 실행 중임을 보여 줍니다.

  1. 에디터에서 프로젝트를 엽니다.
  2. 상태 표시줄의 MCP를 마우스 오른쪽 버튼으로 클릭합니다. 토큰이 포함된 연결 URL이 복사됩니다.
  3. 그 URL을 MCP 클라이언트에 SSE 서버로 넣습니다.

예를 들어 Claude Code에서는:

claude mcp add --transport sse deki "<복사한 URL>"

토큰은 에디터를 시작할 때마다 새로 바뀝니다. 재시작해도 유지되는 설정을 원하면 에디터와 클라이언트 모두에 DEKI_MCP_TOKEN(16자 이상)을 설정하고, 에디터를 --mcp로 시작한 뒤 고정 URL을 씁니다:

DekiEditor --mcp /path/to/project
http://127.0.0.1:3000/sse?token=<DEKI_MCP_TOKEN 값>

3000번 포트가 쓰이고 있으면 --mcp-port로 다른 포트를 고릅니다. 상태 표시줄의 MCP를 클릭하면 서버가 멈춥니다.

MCP 없이

명령을 실행할 수 있는 에이전트라면 MCP가 전혀 필요 없습니다. 같은 도구가 에디터의 명령줄에 있습니다:

DekiEditor --list-tools /path/to/project
DekiEditor --tool get_scene_info /path/to/project
DekiEditor --tool create_object --args '{"name": "Player"}' /path/to/project

--script는 JSON으로 나열한 단계를 차례로 실행하고, 처음 실패한 단계에서 멈춥니다. 어떤 단계든 "as"로 결과를 저장할 수 있고, 뒤의 단계에서 그 결과를 쓸 수 있습니다:

[
  { "tool": "create_object", "args": { "name": "Player" }, "as": "player" },
  { "tool": "set_position", "args": { "object_id": "${player.id}", "x": 160, "y": 120 } },
  { "tool": "save_scene" },
  { "tool": "screenshot", "args": { "path": "C:/shots/player.png", "panel": "Scene View" } }
]

그 프로젝트를 연 에디터가 있으면 명령은 그 에디터에서 실행되고, 변경 사항이 바로 보입니다. 없으면 에디터를 최소화된 채 포커스를 가져가지 않고 열어 두고 실행합니다. --headless는 끝나면 닫히는 숨겨진 에디터에서 실행하며, CI용입니다.

작업 지켜보기

에이전트는 여러분이 볼 수 있는 에디터에서 일합니다. 무언가를 바꾸는 호출마다 보라색 포인터가 그 대상으로 움직입니다. 하이어라키의 오브젝트 행, 인스펙터의 속성, 에셋, 클릭한 정확한 픽셀. “Setting SpriteComponent.color” 같은 라벨이 무엇을 하는지 알려 줍니다. 포인터는 스크린샷에 찍히지 않으며, 몇 초 동안 아무 일이 없으면 사라집니다.

포인터 때문에 변경마다 0.3초를 기다립니다. Editor Settings > MCP > Agent Pointer의 체크를 해제하면 꺼지고, 호출이 즉시 실행됩니다.

여러분에게 남는 것

  • 실행 취소. 에이전트가 만든 씬 변경은 여러분의 변경과 같은 실행 취소 기록에 들어가므로, Ctrl+Z로 하나씩 되돌릴 수 있습니다.
  • 확인 질문. 에디터가 대화 상자로 여러분에게 물을 일이 있으면, 에이전트에게도 똑같이 묻습니다. 에이전트는 대화 상자를 보고 답해야 하며, 대신 동의해 주는 일은 없습니다.
  • 여러분의 데스크톱. 도구는 에디터를 앞으로 가져오거나 키보드를 가져가지 않으므로, 에이전트가 일하는 동안 컴퓨터로 다른 일을 할 수 있습니다.
  • 여러분의 컴퓨터. 서버는 루프백에서만 대기하고 토큰이 없는 요청은 거부합니다. 네트워크의 다른 컴퓨터에서는 접근할 수 없습니다.