diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 21333937b..bb0a55b31 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -153,7 +153,6 @@ export default defineConfig({ { text: "基础教程", link: "/zh/plugin/dev/tutor" }, { text: "消息平台实体", link: "/zh/plugin/dev/messages" }, { text: "API 参考", link: "/zh/plugin/dev/api-ref" }, - { text: "组件扩展", link: "/zh/plugin/dev/extension" }, ], }, ], diff --git a/docs/zh/insight/guide.md b/docs/zh/insight/guide.md index d08f7612c..dac263495 100644 --- a/docs/zh/insight/guide.md +++ b/docs/zh/insight/guide.md @@ -2,6 +2,10 @@ LangBot 是一个开源的大语言模型(LLM)原生即时通信机器人平台,支持多种消息平台和模型供应商。提供对 Dify、阿里云百炼等 LLMOps 平台的支持。并提供 WebUI 供用户快速部署和使用。 +:::info +这是 LangBot 4.0 的文档,3.0 文档请[访问](https://v3.docs.langbot.app)。 +::: + ## 文档结构 文档分为以下几个部分: diff --git a/docs/zh/plugin/dev/tutor.md b/docs/zh/plugin/dev/tutor.md index 12863e4bf..7f3e92c46 100644 --- a/docs/zh/plugin/dev/tutor.md +++ b/docs/zh/plugin/dev/tutor.md @@ -15,8 +15,6 @@ 本页讲解普通插件开发步骤,插件内部有两种方法:事件监听器、内容函数。 事件监听器能在某些事件触发时进行响应,更改行为。内容函数可供大语言模型调用,具体请查看插件介绍页。 -LangBot 还支持组件扩展,可以不局限于监听预定事件,做到整个组件替换,具体请阅读完此页后查看**组件扩展**页。 - ## 💻 快速开始 使用[HelloPlugin](https://github.com/langbot-app/HelloPlugin)作为模板生成插件代码仓库,然后将仓库代码克隆到`plugins`目录下。 diff --git a/docs/zh/workshop/impl-platform-adapter.md b/docs/zh/workshop/impl-platform-adapter.md index 2280ed491..495143cc4 100644 --- a/docs/zh/workshop/impl-platform-adapter.md +++ b/docs/zh/workshop/impl-platform-adapter.md @@ -1,43 +1,20 @@ # 实现一个消息平台适配器 -:::info -请先阅读 插件开发 -> 组件扩展 章节,了解 LangBot 的组件扩展机制。 -::: - 本文章将以`aiocqhttp`适配器为例,讲解如何为 LangBot 实现一个新的消息平台适配器,以便接入 WhatsApp、Discord 等新的消息平台协议。 -- 文中代码以 `v3.4.1.5` 版本为例。 - ## 注册 -首先查看组件扩展页的说明: - ```text 新增一个消息平台适配器,例如:接入 WhatsApp、Discord 等。 - 基类:`pkg.platform.adapter.MessageSourceAdapter` - 装饰器:`pkg.platform.adapter.adapter_class(name: str)` -- 参考实现:`pkg.platform.adapters/` -- 使用方式:`data/config/platform.json`的`platform-adapters`中各个配置信息,将在初始化时自动根据`adapter`名称查找对应的适配器实现,并将配置传递给适配器以进行初始化。消息平台适配器实现复杂,建议多参考现有的实现。 +- 参考实现:`pkg.platform.sources/` ``` 我们实现一个消息平台适配器,本质上就是实现一个继承于`基类`的类,并使用`装饰器`进行注册。最后在运行阶段供用户选择并使用。 -### 写到插件中 - -在插件目录下新建一个 `aiocqhttp.py` 文件: - -```python -import pkg.platform.adapter - -@pkg.platform.adapter.adapter_class("aiocqhttp") -class AiocqhttpAdapter(pkg.platform.adapter.MessageSourceAdapter): - pass -``` - -启动时,LangBot 的插件加载器会自动加载此模块(文件),并注册到消息平台适配器列表。 - -### 直接贡献到主仓库 +### 贡献到主仓库 在 `pkg/platform/sources/` 目录下新建一个 `aiocqhttp.py` 文件: @@ -55,6 +32,8 @@ class AiocqhttpAdapter(adapter.MessageSourceAdapter): from .sources import nakuru, aiocqhttp, qqbotpy ``` +最后参考其他适配器的清单文件,编写自己的清单文件。 + ## 事件、消息转换器 消息平台适配器,主要的工作就是`接收消息平台协议的事件,将其转换成LangBot的格式`,传递给核心组件,LangBot 核心组件处理完后,将需要回复的内容传递给消息平台适配器,消息平台适配器再`将内容转换成平台协议的格式,发送给消息平台`。