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等,下同)
- 利用路由覆盖更改页面内容,也就是将原有路由指向新的控制器
- 利用中间件给某些控制器的添加业务逻辑
- 利用事件监听器介入注册、登录、退出、支付、菜单列表、大模型请求、大模型响应、图片生成等事件,完成二次开发
下面的章节将详细介绍以上几种方法。