chatgpt插件开发者权限 ChatGPT插件开发教程(一):创建一个Hello world插件

默认分类1年前 (2023)发布 admin
4,033 0
ChatGPT国内版

1. 介绍

在这篇教程中,我们将学习如何创建一个简单的插件。我们将创建一个”Hello World”插件,这个插件只有一个功能:当用户输入”Hello World Say Hello”时,插件会回复”Hello, world!”。

2. 创建你的第一个插件2.1 使用构建API

是一个基于Node.js的web应用框架,它提供了一种简单而灵活的方式来创建web应用,包括API。我们选择使用,是因为它的简单性和灵活性,以及它强大的功能,如路由、中间件、模板引擎等。

例如,我们可以使用Node.js和来创建一个简单的API。首先,我们需要在一个新的文件(例如,.js)中编写以下代码:

const express = require('express');
const app = express();
const port = 3000;
app.use(express.static('public'));
app.get('/hello', (req, res) => {
  res.json({ message: 'Hello World!' });
}); // 构建一个/hello的get方法
app.listen(port, () => {
  console.log(`Server is running at :${port}`);
});

我们需要在根目录创建一个名为”的文件夹,用于存放后续需要用到的静态文件。

2.2 创建

接下来,我们需要创建一个插件清单( )。

插件清单( )是一个描述我们插件基本信息的JSON文件。它包括了插件的名称、描述、API URL等信息。这些信息对于来说是非常重要的,因为它们告诉插件是什么,它能做什么,以及如何与它进行交互。因此,创建一个准确且完整的插件清单是非常重要的。

我们可以在项目的//.well-known目录下创建一个新的文件ai-.json,并在这个文件中定义插件清单( ):

{
  "schema_version": "v1",
  "name_for_human": "Hello World Plugin",
  "name_for_model": "hello_world",
  "description_for_human": "A simple plugin that says hello to the world.",
  "description_for_model": "A simple plugin that says hello to the world.",
  "auth": {
    "type": "none"
  },
  "api": {
    "type": "openapi",
    "url": "",
    "is_user_authenticated": false
  },
  "logo_url": "",
  "contact_email": "support@example.com",
  "legal_info_url": ""
}

在这个文件中,我们定义了插件的名称、描述、API URL等信息。我们的API URL是:3000/.yaml,这是我们即将创建的插件描述文件的URL。

2.3 创建插件描述文件

插件描述文件是一个用于描述API的规范。通过使用插件描述文件,我们可以清晰地描述API的行为,包括我们的API有哪些,这些接受什么样的请求,以及这些端点会返回什么样的响应。这对于我们来说是非常有用的,因为它可以帮助我们更好地理解和设计我们的API。

chatgpt插件开发者权限 ChatGPT插件开发教程(一):创建一个Hello world插件

我们可以在项目的/目录下创建一个名为.yaml的新文件,并在其中定义描述:

openapi: 3.0.0
info:
  title: Hello World
  version: 1.0.0
paths:
  /hello:
    get:
      operationId: hello
      summary: Returns a hello world message
      responses:
        '200':
          description: A JSON object containing a hello world message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelloResponse'
components:
  schemas:
    HelloResponse:
      type: object
      properties:
        message:
          type: string

在这个文件中,定义了一个GET方法的/。当这个被访问时,它会返回一个状态码为200的响应,响应的是”Hello, world!”。

2.4 在本地运行你的插件

现在,插件已经准备好了,我们可以在本地运行它,看看它是否能够正确工作。

首先,需要启动应用。可以使用以下命令来启动应用:

node server.js

然后,我们可以在浏览器中访问:3000/hello,看看插件是否能够正确返回{“”:”Hello World!”}。

如果一切顺利,我们就可以开始在中安装和测试我们的插件了。

2.5 使用ngrok内网穿透

由于我们的应用运行在本地服务器上,这意味着它默认情况下只能在我们的计算机上访问。然而,为了让能够访问插件,我们需要使插件在互联网上可访问。这就是我们需要使用ngrok的原因。ngrok是一个能够将本地服务器映射到公网的工具,使我们的插件能够在互联网上被访问。

首先,我们需要下载并安装ngrok。我们可以在ngrok的官网上找到下载链接和安装说明。

然后,我们可以使用以下命令来启动ngrok:

ngrok http 3000

chatgpt插件开发者权限 ChatGPT插件开发教程(一):创建一个Hello world插件

这个命令会启动ngrok,并将它映射到本地服务器的3000端口。ngrok会显示一个公网URL,我们可以使用这个URL来访问本地服务器。

最后,我们需要在插件清单( )文件中更新API URL,将其更改为我们的ngrok URL。例如,如果ngrok URL是,那么API URL应该是。请在ai-.json文件中进行相应的更改。

3. 在中安装和测试插件

现在,我们的插件已经准备好了,我们可以在中安装和测试它。

首先,我们需要登录到,然后点击右上角的””按钮,然后点击” your own “按钮。

在弹出的对话框中,我们需要输入我们的链接,然后点击”Find file”按钮。如果一切顺利,插件就会被安装到中。

然后,可以在中输入”Hello World Say Hello”,看看插件是否能够正确回复”Hello, world!”。

4. 总结

在这篇教程中,我们学习了如何创建一个简单的插件。我们创建了一个”Hello World”插件,这个插件只有一个功能:当用户输入”Hello World Say Hello”时,插件会回复”Hello, world!”。

我们还学习了如何在应用中提供静态文件服务,如何使用ngrok映射本地服务器,以及如何在中安装和测试插件。

在下一篇教程中,我们将学习如何使用提供的工具,快速开发和部署一个插件。

5. 源码

//E…

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...