---
url: /lm/wenxin/plugin-flow.md
description: 介绍文心一言插件开发全流程
---

# 文心一言插件开发系列入门教程二：插件开发全流程

本文是文心一言插件开发系列入门教程的第二篇，有兴趣的朋友可以查看[《文心一言插件开发系列入门教程一：初识插件》](/lm/wenxin/plugin)，本文会为大家介绍插件开发的全流程。

## 申请开发者权限

进入文心一言插件市场，点击立即体验。如果没有开发者权限则需要先完成申请，目前申请通过还是比较快的。

![文心一言插件市场](/img/f6a93db7-409e-45da-9833-4e2d67c6799e.png)

通过后即可在对话页的插件应用处看到**开发插件**入口

![文心一言开发插件入口](/img/b2b2e2ad-77e0-4996-a82b-834b145681e6.png)

打开**提交插件**信息页，大家可以看到有两种插件提交方式：**填写服务链接**和**上传配置文件**。

![问心一言提交插件信息](/img/4428479a-f501-46b2-8fcc-f4249dda065e.png)

## 填写服务链接

先看默认的提交方式填写服务链接，此处给出的提示是`请输入ai-plugin.json所在的域名`。什么是`ai-plugin.json`？这是插件的一个配置文件，描述了定义插件的必要信息，大家先不用在意，后续我们会详细讲解。此处需要特别注意的是，此处要求填写的是`ai-plugin.json`的域名，开始测试的时候没有理解这句提示是什么意思，每次都是把该文件完整的链接地址填写上来，然后就会提示错误。

可能有朋友就会有疑问，那么这个域名是什么呢？要从哪里获得？

官方给出了两种模式：自定义服务模式和本地开发调试模式。

* 本地开发调试模式（开发测试阶段推荐）

此方式方便开发者测试调试使用，我们可以下载官方提供的插件开发demo，修改`ai-plugin.json`等配置信息，在本地启动服务就可以有一个访问本地配置文件的ulr地址，如`http://127.0.0.1:8081/.well-known/ai-plugin.json`（官方demo启动后访问该地址会报错，后续会提供优化demo的版本）。此时，`http://127.0.0.1:8081`就是我们本地开发调试模式下需要填写的域名。

`ai-plugin.json`配置信息如下，有些参数会有全局唯一等要求，所以必须修改后才可以正常添加成功，后续会有详细解读。

```json
{
    "schema_version": "v1",
    "name_for_human": "单词本_368",
    "name_for_model": "单词本_368",
    "description_for_human": "个性化的英文单词本，可以增加、删除和浏览单词本中的单词，并可以按要求从单词本中随机抽取单词生成句子或段落",
    "description_for_model": "帮助用户管理单词本，可以增加、删除、浏览单词本，背单词时可以指定随机抽取单词本中若干个单词，生成句子会段落",
    "auth": {
        "type": "none"    
    },
    "api": {
        "type": "openapi",
        "url": "http://127.0.0.1:8081/.well-known/openapi.yaml"
    },
    "logo_url": "http://127.0.0.1:8081/logo.png",
    "contact_email": "support@example.com",
    "legal_info_url": "http://www.example.com/legal"
}
```

* 自定义服务模式

插件开发实质上就是启动了一个web服务，本地开发调试模式就是在本地启动一个web服务，然后文心就可以访问我们本地的服务（仅用于开发调试）。如果我们需要正式发布插件对外提供服务，就需要将服务部署到服务器，使得文心可以访问服务。该web服务需要一个外网IP地址或者配置自定义域名，这个IP或者自定义域名就是我们需要填写的域名。

## 上传配置文件

和本地调试模式一样，我们修改好`ai-plugin.json`文件后并且启动服务，此时也可以直接将该配置文件打包成压缩包后直接上传。上传插件配置文件压缩包，支持`rar`, `zip`格式，10M以内。同时给出了下载示例，这个就是官方给出的demo。

![上传配置文件](/img/3f633a26-e8dd-43db-99e0-8ac863102a4e.png)

## 启动插件并调试

上述提交插件信息完成后，就可以在插件列表看到自定义的插件，没有发布的插件会有`debug`字样提示，点击后可以看到提示，**由于该插件是本地IP，需开启本地调试服务才能正常使用此插件，否则无法使用**。这个不难理解，我们提交插件信息使用的都是本地服务的信息，就会提示我们。

![插件开发启动调试](/img/37b26a25-07d5-4d41-9b2e-306ca46c39d2.png)

点击确定后就会自动建立访问我们本地服务的通道。可以看到，自定义的插件已经选中，本地调试也已经打开。我们就可以像使用官方插件一样使用我们自己开发的插件了。

![插件开始调试](/img/5bcaafc7-bd0b-4493-98f7-6a22756bfb0b.png)

## 总结

本文介绍了文心一言插件开发页面操作的全流程，以及讲解了提交插件信息的方式和注意事项。在对插件的使用、插件开发的全流程都已经有了一定的了解之后，后面将通过官方案例讲解插件代码开发。
