# 创建插件

> 做一个插件、送它去审核，并从它贡献的提示词里赚钱。

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

任何登录过的人都能写插件。打开一段对话，去侧边栏的**插件**标签页，按**创建插件**。编辑器会走三步：**类型**、**基本信息**和**配置**。

## 挑一个类型 \[#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}}` 等占位符，以及你开放给安装者的设置项。生成的页面由一组固定组件拼装而成：标题、段落、引言、数据格、进度条、评分、时间线、勾选清单、标签、事实列表、提示框、对话气泡、选择网格、可切换的标签页、图片、折叠的隐藏块、按钮，以及供读者输入的文本框；页面还会按含义挑选外观——一种色调、一种卡片样式（朴素、纸张、玻璃或描边）和一种疏密度，全都跟随读者的主题。图片只能来自聊天本身：角色的头像或横幅、读者的头像、场景或动态的配图，页面指不到别处。按钮可以替读者说话、给出一句角色接着演下去的场景指示、在读者设备上随机抽一个结果、打开更深一层的页面、就地刷新本页，或者关闭。当前时间和角色的世界设定会自动提供。

## 从一个示例开始 \[#start-from-an-example]

**加载示例**会打开一份起点目录——关系设定、场景设定、设定集 / 记忆库、角色状态面板、好感度面板、骰子 / 技能检定、时间流逝、角色日记、内心想法、真心话大冒险等等，按分类归好。

这些是给编辑器用的模板，不是别人装过的插件。挑一个会把配置字段填上，让你从一个已经跑得起来的东西开始改；在你保存并发布自己的插件之前，它不会被分享，也不会被发布出去。

## 让 AI 起个草 \[#let-ai-draft-it]

每种类型都有一个 AI 助手——带变量的提示词模板用 **AI 生成**，工具和交互式的配置也各有对应的。你用一两句话说清楚要什么，编辑器就把字段填上。你开放给安装者的设置项也能这么填，入口是 **AI 填充配置**。每生成一次都花积分。

## 预览和调试不是一回事 \[#preview-and-debug-are-different]

|        | **预览**                                     | **调试**                          |
| ------ | ------------------------------------------ | ------------------------------- |
| 它做什么   | 用你输入的测试值渲染你的模板——角色名默认 *Alice*，用户名默认 *User* | 拿还没保存的草稿，对着你打开编辑器时所在那段对话的角色真跑一遍 |
| 它给你看什么 | 生成的提示词、系统提示词，以及渲染出来的输出                     | 角色的回复、渲染后的工具输出、执行轨迹、模型、耗时、token |
| 用到的上下文 | 只有占位符                                      | 角色、场景、人设、记忆、最近消息和已启用插件的一份快照     |
| 花费     | 免费                                         | 免费——不扣积分                        |
| 额度     | 无限                                         | 每 3 小时 30 次；对话框会显示还剩几次          |

调试还会把测试消息限制在 1,000 字符、测试配置限制在 50,000 字符。工具插件只能在支持工具调用的模型上调试。

## 发布与审核 \[#publishing-and-review]

保存一个私有插件，它立刻就能用——你自己能用，而且它会被装进你创建它的那段对话。打开**公开插件**，这个版本就转去送审：

1. 卡片在你的**我的**标签页里显示**待审核**，别人装不了它。
2. 一个自动预检会按计划跑一遍，记下它的判定。
3. 由人来通过或驳回。通过的插件显示**已审核**，并出现在**社区**标签页里。

改一个已过审的插件会产生新版本，要重新走一遍审核——卡片回到**待审核**，而之前过审的那个版本，对所有已经装了它的人照常运行。

> 每次保存都会冻结一份不可变的插件副本，连它的翻译一起。安装跑的是自己钉住的那份副本，所以装了第
> 2 版的人一直待在第 2 版，直到他们按下更新。角色自带的插件只能钉住已过审的版本。

## 你能赚到什么 \[#what-you-earn]

别人在一条付费消息里用了你的插件，你赚到的是\*\*你的插件自己往提示词里添的那段文字的积分成本的 5%\*\*——不是那条消息的 5%。金额是：插件自己的提示词 token 数，乘以模型的积分倍率，再乘 5%，再按那条消息里由付费积分支付的比例缩放。

以下情况不产生任何分成：

| 情况            | 为什么                   |
| ------------- | --------------------- |
| 这是官方插件        | Reverie 自己的插件不付分成     |
| 你用你自己的插件      | 不能自己付给自己              |
| 插件没有提示词模板     | 交互插件赚不到——它们什么也没往提示词里加 |
| 那条消息完全由免费积分支付 | 付费占比是零                |

> **交互插件永远拿不到分成**。如果你在意赚钱，就做提示词插件或工具插件——这两种才会往提示词里添文字。

## 怎么拿到钱 \[#getting-paid]

分成先攒成待结算积分，**每月 1 号**结算一次。结算时如果你的待结算余额不到 **100 积分**，这个月就不发放，余额滚到下个月。

**我的**标签页里的**查看收益**会显示**累计收益**、**待结算**、**本月收益**和**下次结算**，一份按插件拆分的明细（收入、使用次数、最后使用日期），以及你的结算历史。

## 相关 \[#related]

* [使用插件](https://reverie.im/zh/docs/plugins/using-plugins) — 安装的人看到的是什么样
* [插件](https://reverie.im/zh/docs/plugins) — 三种类型并排对比
* [收入渠道](https://reverie.im/zh/docs/creators/revenue-streams) — 创作者赚钱的其他方式
* [积分](https://reverie.im/zh/docs/billing/credits) — 积分是什么，消息怎么计价
