Merge branch 'the-lazy-me:main' into main
@@ -61,10 +61,6 @@ export default defineConfig({
|
||||
text: "llonebot",
|
||||
link: "/deploy/platforms/qq/aiocqhttp/llonebot",
|
||||
},
|
||||
{
|
||||
text: "shamrock",
|
||||
link: "/deploy/platforms/qq/aiocqhttp/shamrock",
|
||||
},
|
||||
{
|
||||
text: "go-cqhttp",
|
||||
link: "/deploy/platforms/qq/gocq",
|
||||
@@ -86,8 +82,6 @@ export default defineConfig({
|
||||
},
|
||||
],
|
||||
},
|
||||
{ text: "企业微信", link: "/deploy/platforms/wecom/wecom" },
|
||||
{ text:"微信公众号",link:"/deploy/platforms/wxoa.md"},
|
||||
{ text: "个人微信",
|
||||
collapsed: true,
|
||||
items: [
|
||||
@@ -97,8 +91,12 @@ export default defineConfig({
|
||||
},
|
||||
],
|
||||
},
|
||||
{ text: "企业微信", link: "/deploy/platforms/wecom/wecom" },
|
||||
{ text:"微信公众号",link:"/deploy/platforms/wxoa.md"},
|
||||
{ text: "飞书", link: "/deploy/platforms/lark" },
|
||||
{ text:"钉钉",link:"/deploy/platforms/dingtalk.md"},
|
||||
{ text: "Discord", link: "/deploy/platforms/discord" },
|
||||
{ text: "Telegram", link: "/deploy/platforms/telegram" },
|
||||
],
|
||||
},
|
||||
{ text: "填写配置信息", link: "/deploy/quick-config/config" },
|
||||
|
||||
|
Before Width: | Height: | Size: 309 KiB After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 312 KiB |
|
After Width: | Height: | Size: 311 KiB |
|
After Width: | Height: | Size: 177 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 481 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 140 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 705 KiB |
@@ -64,6 +64,8 @@
|
||||
- `deepseek`:[Deepseek](https://deepseek.com/)(深度求索)的密钥组
|
||||
- `gitee-ai`: [Gitee AI](https://ai.gitee.com/) Serverless API 的密钥组
|
||||
- `siliconflow`: [SiliconFlow](https://siliconflow.cn/) 的密钥组
|
||||
- `bailian`: 阿里云百炼模型接口密钥组
|
||||
- `volcark`: 火山方舟模型、应用接口密钥组
|
||||
|
||||
|
||||
## 大模型请求器 requester
|
||||
@@ -130,7 +132,8 @@
|
||||
- `zhipuai-chat-completions`:[智谱 AI](https://open.bigmodel.cn/) 请求器
|
||||
- `lmstudio-chat-completions`:[LMStudio](https://lmstudio.ai/) 请求器
|
||||
- `siliconflow-chat-completions`:[SiliconFlow](https://siliconflow.cn/) 请求器
|
||||
|
||||
- `bailian-chat-completions`:[阿里云百炼](https://bailian.console.aliyun.com/) 请求器,仅支持模型,应用请使用下方百炼平台运行器
|
||||
- `volcark-chat-completions`:[火山方舟](https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW) 请求器,默认为模型调用接口,应用(Bots)调用接口请在`base-url`后方添加`/bots`
|
||||
|
||||
`base-url`:设置接口地址。
|
||||
|
||||
@@ -204,16 +207,23 @@
|
||||
设置聊天消息将由哪个运行器处理,默认是 `local-agent`
|
||||
目前支持:
|
||||
|
||||
- `local-agent`:LangBot 本地实现的一个 Agent 机制,实现会话管理、插件调用。需要设置为 local-agent 才能使用`内容函数`。
|
||||
- `local-agent`:LangBot 本地实现的一个 Agent 机制,实现会话管理、插件调用。
|
||||
- `dify-service-api`:使用 [Dify](https://dify.ai/) 的 Service API 机制,支持 聊天助手、Agent、工作流应用。
|
||||
- `dashscope-app-api`:使用 [阿里云百炼平台](https://bailian.console.aliyun.com/#/app-center) 自建应用的 API,支持 普通智能体应用、智能体编排应用。
|
||||
|
||||
::: info
|
||||
仅在设置为`local-agent`时,才会使用 LangBot 内部配置的`模型`、`工具(内容函数)`、`提示词(情景预设)`、`本地存储的上下文`。
|
||||
:::
|
||||
|
||||
## Dify Service API 配置 dify-service-api
|
||||
|
||||
```json
|
||||
"dify-service-api": {
|
||||
"base-url": "https://api.dify.ai/v1",
|
||||
"app-type": "chat",
|
||||
"options": {
|
||||
"convert-thinking-tips": "original"
|
||||
},
|
||||
"chat": {
|
||||
"api-key": "app-1234567890",
|
||||
"timeout": 120
|
||||
@@ -233,8 +243,10 @@
|
||||
**仅在 `runner` 设置为 `dify-service-api` 时使用,需要配置以下内容:**
|
||||
|
||||
- `base-url`:Dify Service API 的地址,默认是 `https://api.dify.ai/v1`,这是 Dify 官方云服务的地址,如果你使用的是自部署的社区版,请设置为你的自部署地址。
|
||||
- `app-type`:使用的 Dify 应用类型。支持 `chat` - 聊天助手(含高级编排)、 `agent` - Agent、 `workflow` - 工作流;请填写下方对应的应用类型 API 参数
|
||||
- `chat`:Dify 聊天助手应用的配置
|
||||
- `app-type`:使用的 Dify 应用类型。支持 `chat` - 聊天助手(含 Chatflow)、 `agent` - Agent、 `workflow` - 工作流;请填写下方对应的应用类型 API 参数
|
||||
- `options`:特殊的选项配置。
|
||||
- `convert-thinking-tips`:dify 使用 deepseek-r1 等有思维链的模型时[会携带思考过程回复](https://github.com/RockChinQ/LangBot/issues/1108),此选项控制输出时的处理方式;值为 original 时,不转换思考提示;值为 plain 时,将思考提示转换为类似 DeepSeek 官方的\<think>...\</think>格式;值为 remove 时,删除思考提示
|
||||
- `chat`:Dify 聊天助手(或 chatflow)应用的配置
|
||||
- `api-key`:Dify 聊天助手应用的 API 密钥
|
||||
- `timeout`:Dify 聊天助手应用的请求超时时间,以秒为单位,默认是 120 秒。
|
||||
- `agent`:Dify Agent 应用的配置
|
||||
@@ -247,11 +259,16 @@
|
||||
|
||||

|
||||
|
||||
### 请求变量
|
||||
|
||||
当使用工作流时,LangBot 会显式传入以下参数,您可以自行在 Dify 工作流的开始节点中添加:
|
||||
|
||||
- `langbot_user_message_text`:用户消息的纯文本
|
||||
- `langbot_session_id`:用户会话id,私聊为 `person_<id>`,群聊为 `group_<id>`
|
||||
- `langbot_conversation_id`:用户会话id,由 LangBot 生成。用户重置会话后,会重新生成
|
||||
- `user_message_text`:用户消息的纯文本
|
||||
- `session_id`:用户会话id,私聊为 `person_<id>`,群聊为 `group_<id>`
|
||||
- `conversation_id`:字符串,用户会话id,由 LangBot 生成。用户重置会话后,会重新生成
|
||||
- `msg_create_time`:数字类型,收到此消息的时间戳(秒)
|
||||
|
||||
您可以[通过插件自定义任何变量](/plugin/dev/api-ref.html#%E8%AE%BE%E7%BD%AE%E8%AF%B7%E6%B1%82%E5%8F%98%E9%87%8F)。
|
||||
|
||||

|
||||
|
||||
@@ -293,7 +310,8 @@
|
||||
- `workflow`:智能体编排应用的配置
|
||||
- `app-id`: "上图中的应用ID",
|
||||
- `references_quote`:引用来源的提示语,默认为`参考资料来自:` 如果你在智能体应用中添加了展示回答来源这个配置将会起作用
|
||||
- `biz_params`:业务参数,用于传入到智能体编排应用中,city和date对应下方第二章图中的`变量名`,二者的值是要传入的可在其中调用的参数
|
||||
- `biz_params`:业务参数,用于传入到智能体编排应用中,city和date对应下方第二章图中的`变量名`,二者的值是要传入的可在其中调用的参数。
|
||||
- 与上述 Dify 相同,LangBot 也会传入`请求变量`到百炼应用。
|
||||
|
||||
`references_quote`解释图片
|
||||
|
||||
@@ -301,4 +319,60 @@
|
||||
|
||||
`biz_params`解释图片
|
||||
|
||||

|
||||

|
||||
|
||||
## [MCP](https://modelcontextprotocol.io/) 配置 mcp
|
||||
|
||||
MCP (Model Context Protocol) 是 Anthropic 设计的 Agent 上下文标准协议,现已被广泛采用。
|
||||
LangBot 支持通过 MCP 协议获取丰富工具,以供在 `local-agent` 中使用。
|
||||
|
||||
```json
|
||||
"mcp": {
|
||||
"servers": [
|
||||
{
|
||||
"name": "weather",
|
||||
"enable": true,
|
||||
"mode": "sse",
|
||||
"url": "http://localhost:8000/sse",
|
||||
"headers": {},
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "stock",
|
||||
"enable": true,
|
||||
"mode": "stdio",
|
||||
"command": "python3",
|
||||
"args": [
|
||||
"path/to/your/serverfile"
|
||||
],
|
||||
"env": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
请先自行[阅读 MCP 的介绍](https://modelcontextprotocol.io/introduction),了解如何使用第三方 MCP Server。LangBot 目前仅支持 Stdio(Python) 和 SSE 两种通信方式。
|
||||
|
||||
- `SSE` 模式:
|
||||
- `name` 服务器名称,自行定义
|
||||
- `enable` 是否启用本 Server
|
||||
- `mode` 固定填写`SSE`
|
||||
- `url` MCP SSE Server 的访问 URL
|
||||
- `headers` 连接时的 headers,可选
|
||||
- `timeout` 连接超时时间
|
||||
- `stdio` 模式:
|
||||
- `name` 服务器名称,自行定义
|
||||
- `enable` 是否启用本 Server
|
||||
- `mode` 固定填写`stdio`
|
||||
- `command` 执行命令
|
||||
- `args` 执行命令的参数
|
||||
- `env` 执行命令的环境变量,可选
|
||||
|
||||
::: info
|
||||
|
||||
- 推荐使用 SSE 模式。
|
||||
- 使用 Stdio 时,仅支持执行 Python 脚本 Server。若 LangBot 运行在容器中,可以将 MCP Server 执行文件置于 `data` 目录下的新目录中,并使用 `command` 和 `args` 指定执行文件路径。
|
||||
|
||||
:::
|
||||
|
||||
|
||||
|
||||
@@ -16,14 +16,27 @@
|
||||
您也可以使用以下命令克隆最新代码(有可能包含不稳定的代码)并使用:
|
||||
|
||||
```bash
|
||||
# 克隆主仓库
|
||||
git clone https://github.com/RockChinQ/LangBot
|
||||
cd LangBot
|
||||
```
|
||||
|
||||
若您位于中国大陆境内,可以从 [GitCode 镜像](https://gitcode.com/RockChinQ/LangBot) 克隆:
|
||||
|
||||
```bash
|
||||
git clone https://gitcode.com/RockChinQ/LangBot
|
||||
cd LangBot
|
||||
```
|
||||
|
||||
接下来手动构建前端:
|
||||
|
||||
```bash
|
||||
# 构建前端,需要 NodeJS >= 22
|
||||
cd web
|
||||
npm install && npm run build
|
||||
cd ..
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
2. (建议)创建虚拟环境
|
||||
@@ -47,7 +60,7 @@ pip install -r requirements.txt
|
||||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
```
|
||||
|
||||
3. 运行一次主程序,生成配置文件
|
||||
4. 运行一次主程序,生成配置文件
|
||||
|
||||
```bash
|
||||
python main.py
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# 部署钉钉机器人
|
||||
|
||||
部署 LangBot 到钉钉。
|
||||
|
||||
## 创建机器人
|
||||
|
||||
进入 [钉钉开发者后台](https://open-dev.dingtalk.com/?spm=ding_open_doc.document.0.0.74f445e5MkawbT#/),登录并且进入组织。登录成功后进入开放平台,是这样的:
|
||||

|
||||
|
||||
点击上方的 `应用开发`,然后点击右面蓝色的按钮 `创建应用`,填写机器人的基本信息,点击保存。
|
||||
|
||||
进入机器人的后台,比如我们有机器人 langbot2 ,那么它的管理页面是这样的:
|
||||

|
||||
|
||||
## 配置机器人
|
||||
|
||||
|
||||
点击 `添加应用能力`,`其他应用能力`,`机器人`中的 `配置`,点击配置并且填写信息之后,如下图:
|
||||

|
||||
|
||||
点击页面下方的`发布`,发布成功之后,点击机器人页面中左侧最下方的`版本管理与发布`,如图:
|
||||

|
||||
|
||||
如果是第一次创建机器人,那么右边是空的,需要点击`创建新版本`,在其中设置信息,然后设置`应用可见范围`,点击保存。
|
||||
|
||||
点击`事件订阅`,将其中的推送方式改为`Stream模式推送`。
|
||||
|
||||
## 填写配置信息
|
||||
|
||||
点击`凭证与基础信息`,记录`Client ID` 和 `Client Secret`,
|
||||
点击`应用能力`,`机器人`,记录下 RobotCode 和 机器人名称。
|
||||
将以上配置项填写入[钉钉机器人配置项](/deploy/quick-config/config.md#钉钉适配器)。<br>
|
||||
**启动 LangBot** 。
|
||||
|
||||
## 添加机器人
|
||||
|
||||
本文使用钉钉 windows 桌面版举例,点击上方的`搜索`,`功能`,然后输入刚才机器人创建的名称,如图:
|
||||

|
||||
|
||||
点击机器人即可和机器人聊天。<br>
|
||||
|
||||
如果想要添加到群里,那么点击钉钉群的`群管理`,`机器人`,`添加机器人`,然后搜索机器人名称就可以在群中使用。
|
||||
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@ LangBot 需要连接消息平台 API 才能与用户交互,目前支持以下
|
||||
|
||||
| 平台 | 状态 | 备注 |教程 |
|
||||
| ------ | ---- | ---- | ---- |
|
||||
| QQ 个人号 | ✅ | 使用普通的 QQ 号作为机器人,需要使用独立的协议端,支持 OneBot v11 和 go-cqhttp 协议 | [NapCat](/deploy/platforms/qq/aiocqhttp/napcat) <br> [Lagrange](/deploy/platforms/qq/aiocqhttp/lagrange) <br> [LiteLoaderQQNT](/deploy/platforms/qq/aiocqhttp/llonebot) <br> [Shamrock(不推荐)](/deploy/platforms/qq/aiocqhttp/shamrock) <br> [go-cqhttp(不推荐)](/deploy/platforms/qq/gocq) |
|
||||
| QQ 个人号 | ✅ | 使用普通的 QQ 号作为机器人,需要使用独立的协议端,支持 OneBot v11 和 go-cqhttp 协议 | [NapCat](/deploy/platforms/qq/aiocqhttp/napcat) <br> [Lagrange](/deploy/platforms/qq/aiocqhttp/lagrange) <br> [LiteLoaderQQNT](/deploy/platforms/qq/aiocqhttp/llonebot) <br> [go-cqhttp(不推荐)](/deploy/platforms/qq/gocq) |
|
||||
| QQ 官方机器人 | ✅ | 接入 QQ 开放平台的机器人 API | [教程](/deploy/platforms/qq/official_webhook) |
|
||||
| 企业微信 | ✅ | 企业内部机器人 | [教程](/deploy/platforms/wecom/wecom) |
|
||||
| 微信公众号 | ✅ | 微信公众平台机器人 | [教程](/deploy/platforms/wxoa.md) |
|
||||
| 个人微信 | ✅ | 个人微信机器人 | [Gewechat](/deploy/platforms/wechat/gewechat) |
|
||||
| 飞书 | ✅ | | [教程](/deploy/platforms/lark) |
|
||||
| Discord | ✅ | | [教程](/deploy/platforms/discord) |
|
||||
| 钉钉 | ✅ | | [教程](/deploy/platforms/dingtalk) |
|
||||
| Discord | ✅ | | [教程](/deploy/platforms/discord) |
|
||||
| Telegram | ✅ | | [教程](/deploy/platforms/telegram) |
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# 接入 Telegram 机器人
|
||||
|
||||
## 创建机器人
|
||||
|
||||
前往 [Telegram 机器人创建页面](https://t.me/botfather),按照提示操作,创建一个机器人。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
创建完成后,BotFather 会返回一个 API Token,请妥善保存。接下来关闭`Privacy Mode`,以便在群聊中使用。
|
||||
|
||||

|
||||
|
||||
## 在 LangBot 中填写信息并启动
|
||||
|
||||
根据[填写配置信息](/deploy/quick-config/config)中的 Telegram 适配器配置,填写相关信息。
|
||||
将上一步获取的 API Token 填写到配置中。
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter": "telegram",
|
||||
"enable": true,
|
||||
"token": "xxxxxxx"
|
||||
},
|
||||
```
|
||||
|
||||
填写完成后启动 LangBot,若成功配置,日志中会出现`[02-02 16:48:15.263] manager.py (68) - [INFO] : 初始化平台适配器 1: telegram`的字样,保持 LangBot 运行。
|
||||
|
||||
## 使用机器人
|
||||
|
||||
现在在群里或者私聊机器人都可以正常使用了。
|
||||
|
||||

|
||||
|
||||

|
||||
@@ -1,5 +1,9 @@
|
||||
# 通过 Gewechat 接入个人微信
|
||||
|
||||
:::warning
|
||||
LangBot接入gewechat,仅供娱乐,请勿用于违法违规行为,否则后果自负。
|
||||
:::
|
||||
|
||||
**本教程要求 LangBot 以 Docker 容器部署**,请根据 LangBot 部署文档将 LangBot 部署到 Docker 中。
|
||||
|
||||
:::info
|
||||
@@ -53,6 +57,7 @@ docker run -itd --network langbot-network -v /root/temp:/root/temp -p 2531:2531
|
||||
"adapter": "gewechat",
|
||||
"enable": true,
|
||||
"gewechat_url": "http://gewe:2531",
|
||||
"gewechat_file_url": "http://gewe:2532",
|
||||
"port": 2286,
|
||||
"callback_url": "http://langbot:2286/gewechat/callback",
|
||||
"app_id": "",
|
||||
@@ -62,6 +67,7 @@ docker run -itd --network langbot-network -v /root/temp:/root/temp -p 2531:2531
|
||||
|
||||
- `enable` 是否启用个人微信适配器,请修改为 `true`
|
||||
- `gewechat_url` 上一步部署的 Gewechat 容器地址,端口默认为 2531,不需要填写路径
|
||||
- `gewechat_file_url` gewechat文件下载地址,端口默认为 2532,主机和 `gewechat_url` 相同,不需要填写路径
|
||||
- `port` LangBot 监听 Gewechat 消息的端口,默认 2286,非必要勿修改
|
||||
- `callback_url` 回调地址,是 Gewechat 容器推送消息给 LangBot 容器的地址,需要填写完整路径,例如 `http://langbot:2286/gewechat/callback`,端口与 `port` 一致,路径必须为 `/gewechat/callback`
|
||||
- `app_id` 和 `token` **请勿填写**,这是用于存储登录信息的,在首次启动扫码登录后会自动保存
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
部署企业微信机器人接入 LangBot 。
|
||||
|
||||
|
||||
## 创建机器人
|
||||
|
||||
进入[企业微信管理后台](https://work.weixin.qq.com/),登陆账号,进入主页面后,点击` 应用管理 `,` 自建 `,` 创建应用 `,填写机器人基本信息,创建好之后,会出现类似这样的界面:
|
||||
@@ -15,7 +16,13 @@
|
||||
|
||||

|
||||
|
||||
2. 首先开启通讯录同步权限
|
||||
2. 开启通讯录同步权限
|
||||
|
||||
:::info
|
||||
- 此配置项是为了实现 LangBot 的群发消息,具体代码位于libs/wecom_api/api.py 。
|
||||
- 目前 LangBot 仍在开发,所以未实现此配置项的相关功能。
|
||||
- 此配置项可以填写入随机字符,**不能为空**。
|
||||
:::
|
||||
|
||||

|
||||
|
||||
@@ -23,9 +30,9 @@
|
||||
|
||||

|
||||
|
||||
点击`查看secret`,记录下来,这是contacts_secret(通讯录同步 secret)。
|
||||
点击`查看secret`,记录下来,这是 contacts_secret(通讯录同步 secret)。
|
||||
|
||||
3. 点击`应用管理`,找到刚才创建的机器人,查看机器人的 secret ,记录下来。
|
||||
3. 点击`应用管理`,找到刚才创建的机器人,查看机器人的 secret ,记录下来。
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
# 部署微信公众号机器人
|
||||
|
||||
部署微信公众号机器人接入 LangBot 。
|
||||
:::warning
|
||||
- 目前微信公众号对于回复消息的时间有严格限制(不超过15s),所以LangBot在超出响应时间后会将报错打印在控制台上,而不是公众号回复给用户。
|
||||
- 如果您有更复杂的需求,请联系 LangBot 团队。
|
||||
:::
|
||||
|
||||
## LangBot 微信公众号接入模式
|
||||
|
||||
目前,LangBot 提供两种方式接入微信公众号:
|
||||
|
||||
1. **传统收发消息模式**
|
||||
- 公众号要求请求必须在 **15 秒内** 处理完成,超时的 AI 生成内容将无法发送。
|
||||
- 当 AI 生成内容超时发生后,LangBot 会在控制台打印请求超时信息。
|
||||
|
||||
2. **“发送任意文字回复消息”模式**
|
||||
- 该方法可突破 **15 秒** 限制,但 **过长的文本** 可能无法成功发送。
|
||||
- 使用此方法时,给公众号发消息,公众号会回复“AI正在思考中,请发送任意内容获取回答”,此时,需要发送任意内容获取回答。
|
||||
|
||||
如需更复杂的功能,请联系 **LangBot 团队** 进行定制化支持。
|
||||
|
||||
## 创建机器人
|
||||
|
||||
@@ -30,7 +40,13 @@
|
||||
### 保存回调地址
|
||||
|
||||
点击设置服务器配置,输入`Token`,`EncodingAESKey`,并将消息加解密方式改为`安全模式`。<br>
|
||||
至此,将获取到的四个配置项( AppID , AppSecret , token , EncodingAESKey )填入[微信公众号配置项](/deploy/quick-config/config.md#微信公众号适配器)。填写成功后,**启动 LangBot 。**<br>
|
||||
至此,将获取到的四个配置项( AppID , AppSecret , token , EncodingAESKey )填入[微信公众号配置项](/deploy/quick-config/config.md#微信公众号适配器)。<br>
|
||||
|
||||
在配置项中,`Mode`选项为选择的接入模式,其中默认为`drop`,`drop` 为传统收发消息模式,`passive` 为发送任意文字获取回复模式。<br>
|
||||
`LoadingMessage`选项为加载信息,可以更改为其他内容,仅在模式为`passive`下有效。
|
||||
|
||||
填写成功后,**启动 LangBot 。**<br>
|
||||
|
||||
将 URL 填写为`https://your_domain_name/callback/command`,其中的 `your_domain_name` 就是 Caddy 中填写的域名。点击保存。如果可以保存成功,那么意味着部署成功。如果出现**系统发生错误,请稍后重试**,那么请重新检查以上配置内容是否填写正确。
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
## platform.json
|
||||
|
||||
修改此配置文件以指定需要连接的消息平台,只需要关注`platform-adapters`字段。
|
||||
目前支持 `go-cqhttp`(QQ逆向)、`aiocqhttp`(QQ逆向)、`qq-botpy`(QQ官方)、`wecom`(企业微信官方) 消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
|
||||
目前支持 `go-cqhttp`(QQ逆向)、`aiocqhttp`(QQ逆向)、`qq-botpy`(QQ官方)、`wecom`(企业微信官方) 等多种消息平台适配器,也可以同时启用多个同种类或不同种类的平台适配器。
|
||||
请根据你部署的消息平台的情况选择填写。
|
||||
|
||||
::: info
|
||||
@@ -165,6 +165,8 @@
|
||||
"EncodingAESKey":"",
|
||||
"AppSecret":"",
|
||||
"AppID":"",
|
||||
"Mode":"drop",
|
||||
"LoadingMessage":"AI正在思考中,请发送任意内容获取回复。",
|
||||
"host": "0.0.0.0",
|
||||
"port": 2287
|
||||
}
|
||||
@@ -174,6 +176,10 @@
|
||||
|
||||
`enable`:是否启用,配置完成后请将其设为`true`
|
||||
|
||||
`Mode`:具体参照微信公众号部署页面
|
||||
|
||||
`LoadingMessage`: 加载信息,可更改为其他内容,仅在模式为 `passive` 下有效
|
||||
|
||||
`host`:运行 微信公众号回调地址 的主机地址,一般不改动
|
||||
|
||||
`port`:运行 微信公众号回调地址 的监听端口,一般不改动
|
||||
@@ -213,6 +219,21 @@
|
||||
},
|
||||
```
|
||||
|
||||
## 钉钉适配器
|
||||
|
||||
具体用法请查看[配置钉钉机器人](/deploy/platforms/dingtalk.md)
|
||||
|
||||
```json
|
||||
{
|
||||
"adapter":"dingtalk",
|
||||
"enable": false,
|
||||
"client_id":"",
|
||||
"client_secret":"",
|
||||
"robot_code":"",
|
||||
"robot_name":""
|
||||
},
|
||||
```
|
||||
|
||||
## Discord
|
||||
|
||||
具体用法请查看[配置 Discord](/deploy/platforms/discord.md)。
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
|
||||
解答各种问题
|
||||
|
||||
- LangBot 社区(二):1030838208 ([链接](https://qm.qq.com/q/PF9OuQCCcM))
|
||||
- LangBot 社区(三):966235608 ([链接](https://qm.qq.com/q/JLi38whHum))
|
||||
- 【已满】LangBot 社区(二):1030838208 ([链接](https://qm.qq.com/q/PF9OuQCCcM))
|
||||
- 【已满】LangBot 社区(一):619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
|
||||
|
||||
### 🧩 插件开发群
|
||||
|
||||
@@ -85,19 +85,6 @@
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 限制
|
||||
|
||||
- ❗OpenAI 官方关于模型生成内容的警告:
|
||||
- May occasionally generate incorrect information(可能会生成不正确的信息)
|
||||
- May occasionally produce harmful instructions or biased content(可能会产生有害说明或有偏见的内容)
|
||||
- Limited knowledge of world and events after 2021(对2021年后的世界和事件的了解有限)
|
||||
- ❗模型无思维能力,仅针对传入的上下文根据数据集生成内容,请勿过于信任其输出
|
||||
- ❗模型不了解其运行平台及其使用的模型版本,任何针对其实现原理的问题答案均视为无效,请以项目文档为准
|
||||
|
||||
以上是关于此程序的限制的最高优先级描述,其他方式(如询问机器人相关信息)获得的描述均应被视为无效
|
||||
由于模型生成的内容导致的一切损失,本项目概不负责
|
||||
|
||||
## 使用方式
|
||||
|
||||
对话及绘图功能均直接调用OpenAI的模型进行处理,与机器人程序无关,这意味着模型并不了解此项目的相关信息(如实现方式、技术栈、运行平台等),除非在预设值中写入相关信息。
|
||||
|
||||
@@ -56,6 +56,46 @@ ctx.add_return(name: str, value: Any)
|
||||
|
||||
添加返回值,事件返回值均为**可选**的,每个事件支持的返回值请查看`pkg.plugin.events`中的每个事件的注释。
|
||||
|
||||
## 请求 API
|
||||
|
||||
`请求(Query)`指的是用户向 LangBot 发送一个问题时,LangBot 处理该问题的程序上下文。此段落的 API 用于与这些上下文交互。
|
||||
|
||||
- 事件处理函数中,Query 对象一般位于`ctx.event.query`
|
||||
|
||||
### 设置请求变量
|
||||
|
||||
```python
|
||||
ctx.event.query.set_variable(key: str, value: typing.Any)
|
||||
```
|
||||
|
||||
请求变量是与此次 Query 绑定的一个 `dict`,其中包含了一些程序上下文信息。如果使用的是 Dify 或者 阿里云百炼 等 LLMOps 的runner,[这些变量将被传入对应平台的 API 作为变量](/config/function/provider.html#%E8%AF%B7%E6%B1%82%E5%8F%98%E9%87%8F)。
|
||||
如果您需要使用插件设置变量,建议在`PromptPreProcessing`事件时处理。
|
||||
|
||||
- `key`:该变量的名称
|
||||
- `value`:该变量的值
|
||||
|
||||
### 获取请求变量
|
||||
|
||||
```python
|
||||
ctx.event.query.get_variable(key: str)
|
||||
```
|
||||
|
||||
获取请求变量。
|
||||
|
||||
- `key`:变量名称
|
||||
- 返回值:`typing.Any`
|
||||
|
||||
### 获取所有请求变量
|
||||
|
||||
```python
|
||||
ctx.event.query.get_variables()
|
||||
```
|
||||
|
||||
获取此 Query 对象所有已设置的变量值。
|
||||
|
||||
- 返回值:`dict[str, typing.Any]`
|
||||
|
||||
|
||||
## LangBot API
|
||||
|
||||
以下 API 是 LangBot 直接提供给插件调用的,可以在事件处理函数之外调用。
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
[[toc]]
|
||||
:::
|
||||
|
||||
## 💬简介
|
||||
## 💬 简介
|
||||
|
||||
本页讲解普通插件开发步骤,插件内部有两种方法:事件监听器、内容函数。
|
||||
事件监听器能在某些事件触发时进行响应,更改行为。内容函数可供大语言模型调用,具体请查看插件介绍页。
|
||||
|
||||
LangBot 还支持组件扩展,可以不局限于监听预定事件,做到整个组件替换,具体请阅读完此页后查看**组件扩展**页。
|
||||
|
||||
## 💻快速开始
|
||||
## 💻 快速开始
|
||||
|
||||
按照文档部署此项目,并使其正常运行。
|
||||
|
||||
@@ -104,7 +104,7 @@ class HelloPlugin(BasePlugin):
|
||||
|
||||
编写完毕保存后,重新启动主程序,向机器人发送`!plugin`命令,若有`Hello`插件则说明插件加载成功
|
||||
|
||||
## ❗规范(重要)
|
||||
## ❗ 规范(重要)
|
||||
|
||||
- 请每个插件独立一个目录以便管理,建议在Github上创建一个仓库储存单个插件,以便获取和更新
|
||||
- 命名规范(重要):
|
||||
@@ -115,7 +115,7 @@ class HelloPlugin(BasePlugin):
|
||||
- 一个目录内可以存放多个Python程序文件,以独立出插件的各个功能,便于开发者管理,但不建议在一个目录内注册多个插件
|
||||
- 插件需要的依赖库请在插件目录下的`requirements.txt`中指定,程序从储存库获取此插件时将自动安装依赖
|
||||
|
||||
## 🪝内容函数
|
||||
## 🪝 内容函数
|
||||
|
||||
通过[GPT的Function Calling能力](https://platform.openai.com/docs/guides/gpt/function-calling)实现的`内容函数`,这是一种嵌入对话中,由GPT自动调用的函数。
|
||||
|
||||
@@ -201,7 +201,13 @@ async def access_web(self, query, url: str):
|
||||
|
||||
- 这仅仅是一个示例,需要更高效的网络访问能力支持插件,请查看[WebwlkrPlugin](https://github.com/RockChinQ/WebwlkrPlugin)
|
||||
|
||||
## 📄名词解释
|
||||
## 📦 上架插件市场
|
||||
|
||||
当你的插件开发完成后,请上传到 GitHub,并在 [LangBot 仓库提出 issue](https://github.com/RockChinQ/LangBot/issues/new?assignees=&labels=%E7%8B%AC%E7%AB%8B%E6%8F%92%E4%BB%B6&projects=&template=submit-plugin.yml&title=%5BPlugin%5D%3A+%E8%AF%B7%E6%B1%82%E7%99%BB%E8%AE%B0%E6%96%B0%E6%8F%92%E4%BB%B6) ,待审核后将会添加到插件市场,约半个小时后会在 LangBot WebUI 插件页的插件市场上可见。
|
||||
|
||||

|
||||
|
||||
## 📄 名词解释
|
||||
|
||||
### 说明
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# 在 LangBot 上使用 Dify
|
||||
|
||||
[Dify](https://dify.ai) 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
|
||||
Dify 可以创建聊天助手(含高级编排)、Agent、文本生成应用、工作流等应用。
|
||||
Dify 可以创建聊天助手(含Chatflow)、Agent、文本生成应用、工作流等应用。
|
||||
|
||||
LangBot 目前支持`聊天助手`、`Agent`、`工作流`三种 Dify 应用类型。
|
||||
LangBot 目前支持`聊天助手`(含Chatflow)、`Agent`、`工作流`三种 Dify 应用类型。
|
||||
|
||||
## 在 Dify 上创建应用
|
||||
|
||||
|
||||