# 플러그인 만들기

> 플러그인을 만들고, 심사를 통과시키고, 그것이 보태는 프롬프트로 벌기.

Source: https://reverie.im/ko/docs/plugins/creating-plugins
Language: ko

로그인한 사람이면 누구나 플러그인을 쓸 수 있습니다. 대화를 열고 사이드 패널의 **플러그인** 탭으로 가서 **플러그인 생성**을 누르세요. 편집기는 세 단계를 지납니다 — **유형**, **기본 정보**, **설정**.

## 유형 고르기 \[#pick-a-type]

네 가지 플러그인 유형 가운데 셋은 당신이 만들 수 있습니다. 네 번째는 모델의 샘플링 설정을 조정하는 것으로 Reverie의 몫입니다.

| 유형             | 당신이 쓰는 것                                                               | 한도                                                                                |
| -------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| **프롬프트 플러그인**  | Handlebars로 쓴 프롬프트 템플릿. 캐릭터의 시스템 프롬프트 뒤에 붙습니다                          | 템플릿 최대 100,000자                                                                   |
| **툴 플러그인**     | 프롬프트 템플릿에 더해 도구 정의: 이름, 설명, 입력 파라미터, 출력 구조, 그리고 선택적인 HTML/CSS 카드 템플릿   | 도구 이름은 영문자로 시작하고 영문자·숫자·밑줄만 쓰며 최대 64자, 설명은 최대 2,000자, 카드 템플릿과 스타일은 각각 최대 100,000자 |
| **인터랙티브 플러그인** | 식별자 하나와, 다음 중 적어도 하나: 양식이 딸린 트리거 버튼, AI가 만들어 내는 화면, 또는 AI가 호출할 수 있는 도구 | 식별자는 최대 80자, 영문자·숫자·하이픈·밑줄, 첫 글자는 영문자나 숫자                                         |

유형은 나중에 바꿀 수 없습니다 — **편집 시 플러그인 유형을 변경할 수 없습니다**.

> 툴 플러그인은 네트워크 요청을 하지 않습니다. 모델이 당신의 도구를 호출할 때
> 인자는 모델이 지어내고, 당신의 출력 구조와 카드 템플릿은 그 지어낸 값을 보기
> 좋게 배치할 뿐입니다. 정보를 보여 주는 도구 — 상태 패널, 미터, 소지품, 주사위 —
> 를 만드세요. 뭔가를 찾아본다고 주장하는 도구가 아니라.

## 기본 정보 채우기 \[#fill-in-the-basics]

**플러그인 이름**은 필수이고 최대 100자입니다. **설명 (선택사항)** 항목은 최대 1,000자입니다.

여기에 스위치 두 개가 있고, 서로 상관없습니다 — 하나만, 둘 다, 또는 아무것도 켜지 않아도 됩니다.

| 스위치            | 효과                                          |
| -------------- | ------------------------------------------- |
| **플러그인 공개하기**  | 그 버전을 심사에 보냅니다. 승인되면 모두에게 **커뮤니티** 탭에 실립니다. |
| **현재 캐릭터와 연결** | 플러그인을 지금 들어와 있는 캐릭터와의 대화로만 한정합니다.           |

AI 생성 페이지는 두 부분으로 이루어집니다. **콘텐츠 요청**은 프롬프트 템플릿과 같은 템플릿으로, `{{char}}`, `{{user}}`, `{{date}}` 같은 플레이스홀더와 설치자에게 공개한 설정을 쓸 수 있으며, 각 페이지에 무엇을 담고 누구의 목소리로 쓸지 정합니다. **앱 셸**은 페이지 그 자체(HTML, CSS, JavaScript와 콘텐츠 스키마)로, 한 번 작성하면 모든 페이지에 쓰입니다. AI는 내용만 쓰고, 셸이 그것을 그리며 탭·카드·상태를 독자의 기기에서 처리합니다. 셸을 직접 작성하거나 **AI로 작성**을 누르세요. 미리보기는 셸이 작성되는 동안에도 샘플 콘텐츠로 셸을 실행합니다. 셸이 생긴 뒤에는 **AI로 수정**에 바꾸고 싶은 점을 알려 주면 처음부터 다시 만들지 않고 지금의 셸을 고쳐 주며, **실행 취소**는 마지막 AI 실행 전의 버전으로 되돌립니다. AI 생성 페이지가 있는 플러그인은 셸 없이 저장할 수 없습니다. 셸이 생기기 전에 게시된 플러그인은 지금처럼 계속 작동하며, 다음에 편집할 때 셸이 필요합니다.

셸은 샌드박스 안에서 실행되므로 네트워크에 접근하거나, 외부 파일이나 스크립트를 불러오거나, 앱의 다른 부분을 건드릴 수 없습니다. 그림은 대화가 이미 가진 것(캐릭터의 초상이나 배너, 독자의 아바타, 시나리오나 모먼트 이미지)만 쓸 수 있고 그 밖을 가리킬 수는 없습니다. 페이지는 채팅을 통해 독자로서 한마디를 보내거나, 캐릭터가 이어서 연기할 장면 지시를 내리거나, 채팅에 무작위 결과를 뽑게 하거나, 다른 페이지를 열거나, 제자리에서 자신을 다시 쓰거나, 닫을 수 있습니다. 또 독자가 페이지에서 한 일(뽑은 카드, 남긴 메모)을 보관해 두므로 페이지를 다시 열어도 그대로 남아 있습니다. 현재 시각과 캐릭터의 세계관 설정은 자동으로 제공됩니다.

## 예시에서 시작하기 \[#start-from-an-example]

**예시 불러오기**는 출발점 목록을 엽니다 — 관계 설정, 장면 설정, 설정집 / 기억 저장소, 캐릭터 상태 패널, 호감도 미터, 주사위 / 기술 판정, 시간 경과, 캐릭터 일기, 내면의 생각, 진실 아니면 도전 등이 갈래별로 묶여 있습니다.

이것들은 편집기용 템플릿이지, 누가 설치한 플러그인이 아닙니다. 하나 고르면 설정 항목이 채워져서 이미 굴러가는 것에서부터 고쳐 나갈 수 있습니다. 당신이 자기 플러그인을 저장하고 공개하기 전까지는 어느 것도 공유되거나 게시되지 않습니다.

## AI에게 초안을 맡기기 \[#let-ai-draft-it]

유형마다 AI 도우미가 있습니다 — 변수를 담은 프롬프트 템플릿에는 **AI 생성**, 툴과 인터랙티브 설정에도 같은 것이 있습니다. 원하는 바를 한두 문장으로 적으면 편집기가 항목을 채웁니다. AI 생성 페이지가 있는 인터랙티브 플러그인이라면 이어서 **앱 셸**도 작성합니다. 설치하는 사람에게 열어 줄 설정도 **AI 자동 입력 설정**에서 같은 방식으로 채울 수 있습니다. 생성할 때마다 크레딧이 듭니다.

## 미리보기와 디버그는 다릅니다 \[#preview-and-debug-are-different]

|         | **미리보기**                                                        | **디버그**                                     |
| ------- | --------------------------------------------------------------- | ------------------------------------------- |
| 하는 일    | 당신이 입력한 테스트 값으로 템플릿을 그립니다 — 캐릭터 이름은 기본이 *Alice*, 사용자 이름은 *User* | 저장하지 않은 초안을, 편집기를 연 그 대화의 캐릭터를 상대로 실제로 돌립니다 |
| 보여 주는 것 | 생성된 프롬프트, 시스템 프롬프트, 그려진 출력                                      | 캐릭터의 답변, 그려진 도구 출력, 실행 기록, 모델, 소요 시간, 토큰    |
| 쓰는 맥락   | 자리표시자만                                                          | 캐릭터, 시나리오, 페르소나, 기억, 최근 메시지, 켜진 플러그인의 스냅샷   |
| 비용      | 무료                                                              | 무료 — 크레딧이 빠지지 않습니다                          |
| 허용량     | 무제한                                                             | 3시간당 30회. 대화상자에 남은 횟수가 뜹니다                  |

디버그는 테스트 메시지를 1,000자, 테스트 설정을 50,000자로도 제한합니다. 툴 플러그인은 도구 호출을 지원하는 모델에서만 디버그할 수 있습니다.

## 공개와 심사 \[#publishing-and-review]

비공개 플러그인을 저장하면 곧바로 쓸 수 있습니다 — 당신이 쓸 수 있고, 그것을 만든 대화에는 설치됩니다. **플러그인 공개하기**를 켜면 그 버전은 대신 심사로 들어갑니다.

1. 카드는 당신의 **내 플러그인** 탭에서 **승인 대기 중**으로 뜨고, 다른 사람은 설치할 수 없습니다.
2. 자동 사전 점검이 일정에 따라 돌며 판정을 기록합니다.
3. 사람이 승인하거나 반려합니다. 승인된 플러그인은 **승인됨**으로 뜨고 **커뮤니티** 탭에 나타납니다.

사전 검사는 **앱 셸**의 코드도 플러그인의 나머지 부분과 함께 읽고, 단독으로 승인하거나 반려할 수 있습니다. 세부까지 다 읽기에는 너무 긴 플러그인(대개 셸이 큰 플러그인)은 사전 검사가 반려할 수는 있지만, 승인은 사람만 합니다.

승인된 플러그인을 고치면 새 버전이 생기고 심사를 다시 거칩니다 — 카드는 **승인 대기 중**으로 돌아가고, 그동안에도 앞서 승인된 버전이 설치한 모든 사람에게서 계속 돌아갑니다.

> 저장할 때마다 번역까지 포함해 바뀌지 않는 플러그인 사본이 고정됩니다. 설치는
> 각자 고정해 둔 사본을 돌리므로, 버전 2를 설치한 사람은 업데이트를 누르기 전까지
> 버전 2에 머무릅니다. 캐릭터 기본값에는 심사를 통과한 버전만 고정할 수 있습니다.

## 얼마를 버는가 \[#what-you-earn]

다른 사람이 유료 메시지에서 당신의 플러그인을 쓰면, 당신은 **그 플러그인이 프롬프트에 직접 보탠 글의 크레딧 비용 중 5%를** 법니다 — 메시지의 5%가 아닙니다. 금액은 플러그인 자체의 프롬프트 토큰 수에 모델의 크레딧 배수를 곱하고, 5%를 곱한 다음, 그 메시지에서 유료 크레딧으로 지불된 몫만큼 비례해 줄인 값입니다.

다음 경우에는 아무것도 생기지 않습니다.

| 경우                        | 이유                                         |
| ------------------------- | ------------------------------------------ |
| 공식 플러그인인 경우               | Reverie 자신의 플러그인은 수수료를 주지 않습니다             |
| 자기 플러그인을 자기가 쓰는 경우        | 자기에게 지급은 없습니다                              |
| 플러그인에 프롬프트 템플릿이 없는 경우     | 인터랙티브 플러그인은 벌지 못합니다 — 프롬프트에 아무것도 보태지 않으니까요 |
| 그 메시지가 전부 무료 크레딧으로 지불된 경우 | 유료 몫이 0입니다                                 |

> **인터랙티브 플러그인은 절대 수수료를 받지 않습니다.** 버는 것이 중요하다면
> 프롬프트 플러그인이나 툴 플러그인을 만드세요 — 프롬프트에 글을 보태는 건 그 두
> 가지입니다.

## 정산받기 \[#getting-paid]

수수료는 대기 중인 크레딧으로 쌓이고 **매달 1일**에 정산됩니다. 정산 시점에 대기 잔액이 **100 크레딧** 미만이면 그달에는 지급되지 않고 잔액은 다음 달로 넘어갑니다.

**내 플러그인** 탭의 **수익 보기**에는 **총 획득액**, **대기 중**, **이번 달**, **다음 정산**과 함께 플러그인별 내역(수익, 사용 횟수, 마지막 사용일), 그리고 정산 이력이 나옵니다.

## 관련 문서 \[#related]

* [플러그인 쓰기](https://reverie.im/ko/docs/plugins/using-plugins) — 설치하는 사람 눈에 보이는 모습
* [플러그인](https://reverie.im/ko/docs/plugins) — 세 가지 종류를 나란히
* [수익 경로](https://reverie.im/ko/docs/creators/revenue-streams) — 크리에이터가 버는 다른 길
* [크레딧](https://reverie.im/ko/docs/billing/credits) — 크레딧이 무엇이고 메시지 값이 어떻게 매겨지는지
