webman AI 二次开发必读

注意
以下二开文档是基于 webman AI 5.1.0 及以上版本的,如果你的版本低于此版本,请先升级到最新版本。

强烈建议新建一个应用插件用来存放二次开发代码,当然也可将二开代码放置于主项目,但是不能直接修改AI的源码,否则升级会导致代码覆盖。

接下来的章节都是基于新建插件的方式二开AI,如果你选择将二开代码放置于主项目,代码是类似的,只不过目录及命名空间不同。

创建插件方法

首先确保安装了 webman/console 组件并且确保版本>=1.3.6,如果没有安装或者版本不对,请执行以下命令安装或升级

composer require webman/console ^v1.3.6

执行命令创建插件

php webman app-plugin:create foo

插件名称为字母组合,上面示例中使用foo作为插件名

执行后会自动创建plugin/foo目录,这个目录的文件结构与webman是一样的,开发体验也类似。如果想更多了解webman应用插件请参考应用插件

我们所有的二开代码应该放到 plugin/{你的插件名称}/ 目录下。

二开原理

为了不入侵AI的源码,我们可以通过以下方法二次开发AI

  • 利用中间件更改页面内容(包括插入css、js、html等,下同)
  • 利用路由覆盖更改页面内容,也就是将原有路由指向新的控制器
  • 利用中间件给某些控制器的添加业务逻辑
  • 利用事件监听器介入注册、登录、退出、支付、菜单列表、大模型请求、大模型响应、图片生成等事件,完成二次开发

下面的章节将详细介绍以上几种方法。

编辑于2024-04-25 15:47:24 完善本页 +发起讨论
赞助商
×