diff --git a/README.md b/README.md index 196925096..6c540efa4 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,6 @@ 文档基于 VitePress 生成,本地编写需要安装 Node 和 VitePress -### NodeJS - -自行安装 - -### VitePress - Clone 本仓库,在目录下执行以下命令安装依赖: ```bash @@ -44,3 +38,7 @@ npm run docs:dev - 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`deploy`文件夹下的,文件夹`langbot`,`langbot`文件夹下的`manual`文件称之为`manual.md` - 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`deploy`是有关部署的教程 - 除了配置文件板块的文档,其他的页面都不要在顶部加目录 + +--- + +**[English README](README_EN.md)** diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 000000000..ee646263c --- /dev/null +++ b/README_EN.md @@ -0,0 +1,44 @@ +# [LangBot](https://github.com/langbot-app/LangBot) Official Documentation + +> This repository is the documentation repository for LangBot. Code repository: +> [LangBot Code Repository](https://github.com/langbot-app/LangBot) +> This is the documentation for LangBot 4.0. For 3.0 documentation, please see the `v3` branch + +## Contributing to Documentation + +The documentation is generated based on VitePress. Local development requires Node and VitePress installation. + +Clone this repository and execute the following command in the directory to install dependencies: + +```bash +npm install +``` + +After completion, you can modify the documentation. After modifications, use the following command to start locally: + +```bash +npm run docs:dev +``` + +### Using Images + +Place images in the `docs/assets/image` directory, then reference them using the absolute path when accessed via web, such as: + +```markdown +![image](/assets/image/xxx.png) +``` + +### Deployment Details + +Currently hosted on Cloudflare Pages. After submission, [@RockChinQ](https://github.com/RockChinQ) updates the branch for automatic deployment. + +### Some Standardization Guidelines + +- Folder and file naming: **Use all lowercase, separate words with `-`, such as** `plugin-intro.md` +- Sub-file (folder) naming: **No prefix** (i.e., the folder name), such as: in the `deploy` folder, the folder `langbot`, the `manual` file in the `langbot` folder is called `manual.md` +- Since this is about standardized naming for documentation, any file name can be understood from a tutorial perspective, such as `deploy` being about deployment tutorials +- Except for configuration file section documents, other pages should not have a table of contents at the top + +--- + +**[中文版 README](README.md)** \ No newline at end of file diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index d8c0b6d0b..8f0d18671 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -8,7 +8,7 @@ export default defineConfig({ // 编辑链接 editLink: { pattern: - "https://github.com/the-lazy-me/Langbot-Wiki/edit/main/docs/:path", + "https://github.com/langbot-app/Langbot-Wiki/edit/main/docs/:path", }, // 本地搜索 @@ -106,6 +106,16 @@ export default defineConfig({ }, ], }, + { + text: "微信", + collapsed: true, + items: [ + { + text: "WeChatPadPro", + link: "/zh/deploy/platforms/wechat/wechatpad.md" + }, + ], + }, { text: "微信公众号", link: "/zh/deploy/platforms/wxoa.md" }, { text: "飞书", link: "/zh/deploy/platforms/lark" }, { text: "钉钉", link: "/zh/deploy/platforms/dingtalk.md" }, @@ -215,7 +225,7 @@ export default defineConfig({ // 编辑链接 editLink: { pattern: - "https://github.com/the-lazy-me/Langbot-Wiki/edit/main/docs/:path", + "https://github.com/langbot-app/Langbot-Wiki/edit/main/docs/:path", }, // 导航栏的社交图标 @@ -406,7 +416,7 @@ export default defineConfig({ // edit link editLink: { pattern: - "https://github.com/the-lazy-me/Langbot-Wiki/edit/main/docs/:path", + "https://github.com/langbot-app/Langbot-Wiki/edit/main/docs/:path", }, // social links in the navbar diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png new file mode 100644 index 000000000..0096e8c58 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png new file mode 100644 index 000000000..07279c29a Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png new file mode 100644 index 000000000..2f630bb07 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk13.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk13.png new file mode 100644 index 000000000..0f3a5343f Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk13.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk14.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk14.png new file mode 100644 index 000000000..ec1683cb7 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk14.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk15.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk15.png new file mode 100644 index 000000000..43ea3c0f4 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk15.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png new file mode 100644 index 000000000..d1ddafacf Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png new file mode 100644 index 000000000..900ccfb2e Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png new file mode 100644 index 000000000..f5b56f61b Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png differ diff --git a/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png new file mode 100644 index 000000000..c4a59d462 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png differ diff --git a/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot01.png b/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot01.png new file mode 100644 index 000000000..77300c4a0 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot01.png differ diff --git a/docs/assets/image/zh/deploy/bots/lark/lark_14.png b/docs/assets/image/zh/deploy/bots/lark/lark_14.png new file mode 100644 index 000000000..fe98eb3a4 Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/lark/lark_14.png differ diff --git a/docs/assets/image/zh/deploy/bots/lark/lark_15.png b/docs/assets/image/zh/deploy/bots/lark/lark_15.png new file mode 100644 index 000000000..561fab11e Binary files /dev/null and b/docs/assets/image/zh/deploy/bots/lark/lark_15.png differ diff --git a/docs/en/deploy/platforms/dingtalk.md b/docs/en/deploy/platforms/dingtalk.md index c8793dd29..426e72fd1 100644 --- a/docs/en/deploy/platforms/dingtalk.md +++ b/docs/en/deploy/platforms/dingtalk.md @@ -24,6 +24,34 @@ If this is the first time creating a bot, the right side is empty, you need to c Click `Event Subscription`, change the push method to `Stream Mode Push`. +If card streaming is needed, you must apply for card permissions in the permission management, as shown: +![Before applying for card permissions](/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png) + +![After applying for card permissions](/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png) + +Additionally, for card messages you mainly need to create a card template and record the template ID to fill in the configuration, the process is as follows: +> The card content template ID can be obtained by logging into the developer backend > [Card Platform](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV) + +Fill in information when creating a new template, as shown: +![Fill in information for new template](/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png) + +Select a preset template (just choose the first one and modify the template content later), as shown: +![Select preset template](/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png) +Click Use +![Click](/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png) +Create +![Create](/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png) + +After clicking Create you'll be redirected to edit the template. As shown, you can freely edit your desired card message: +![Edit template](/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png) + +For the main content, keep the default 'content' unchanged: +![Don't modify](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk13.png) + +After editing and confirming everything is correct, save it and copy the template ID to fill in the configuration file: +![Save](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk14.png) +![Copy template ID](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk15.png) + ## Fill in Configuration Information Click `Credentials and Basic Information`, record `Client ID` and `Client Secret`, @@ -31,8 +59,13 @@ Click `Application Capabilities`, `Robot`, record the RobotCode and Robot Name. `markdown_card` is whether to enable Markdown form replies. Record the above configuration items and fill them in the LangBot bot configuration form +Click [Card Platform](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV), copy the corresponding bound template ID from the template list, and fill it into the card template ID field. + ![Connect to LangBot](/assets/image/zh/deploy/bots/dingtalk/connect_to_langbot.png) +Streaming related: +![img.png](../../../assets/image/zh/deploy/bots/lark/lark_15.png) + **Start LangBot**. ## Add Bot diff --git a/docs/en/deploy/platforms/lark.md b/docs/en/deploy/platforms/lark.md index 565b2e9cc..9a4782589 100644 --- a/docs/en/deploy/platforms/lark.md +++ b/docs/en/deploy/platforms/lark.md @@ -15,6 +15,10 @@ Add the permissions shown in the image in the permission management: ![alt text](/assets/image/zh/deploy/bots/lark/lark_04.png) +If card streaming permissions are required, additionally add the following card creation and update permissions as shown in the image: + +![img_1.png](../../../assets/image/zh/deploy/bots/lark/lark_14.png) + ## Connect to LangBot Find `app_id` and `app_secret` on the `Credentials and Basic Information` page. @@ -29,6 +33,9 @@ Fill in the relevant information in the form ![alt text](/assets/image/zh/deploy/bots/lark/connect_to_langbot.png) +Streaming related: +![Streaming related](../../../assets/image/zh/deploy/bots/lark/connect_to_langbot01.png) + After filling in, start LangBot. If configured successfully, the log will show `[01-29 23:42:56.796] manager.py (68) - [INFO] : Initializing platform adapter 1: lark`, keep LangBot running. :::warning diff --git a/docs/en/deploy/platforms/qq/aiocqhttp/lagrange.md b/docs/en/deploy/platforms/qq/aiocqhttp/lagrange.md index 1b800b11a..ee8eacb2e 100644 --- a/docs/en/deploy/platforms/qq/aiocqhttp/lagrange.md +++ b/docs/en/deploy/platforms/qq/aiocqhttp/lagrange.md @@ -10,7 +10,7 @@ You need to use NT QQ to interact with the bot, old versions of QQ will not work ## Deployment Steps -The following only provides general steps for Windows, for detailed steps or other platforms, please refer to the [Lagrange official documentation](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/) +The following only provides general steps for Windows, for detailed steps or other platforms, please refer to the [Lagrange official documentation](https://lagrangedev.github.io/Lagrange.Doc/v1/Lagrange.OneBot/) ### Environment Configuration diff --git a/docs/en/deploy/settings.md b/docs/en/deploy/settings.md index cb3702d31..ca2600d85 100644 --- a/docs/en/deploy/settings.md +++ b/docs/en/deploy/settings.md @@ -46,7 +46,7 @@ mcp: # SSE mode: # name Server name, self-defined # enable Whether to enable this Server - # mode Fixed as SSE + # mode Fixed as sse # url MCP SSE Server access URL # headers Connection headers, optional # timeout Connection timeout @@ -63,7 +63,7 @@ mcp: # servers: # - name: 'SSE Server' # enable: true - # mode: SSE + # mode: sse # url: 'http://127.0.0.1:8000/sse' # headers: {} # timeout: 10 diff --git a/docs/en/insight/features.md b/docs/en/insight/features.md index 009166ec0..a36f2076b 100644 --- a/docs/en/insight/features.md +++ b/docs/en/insight/features.md @@ -10,10 +10,10 @@ LangBot is an open-source LLM native instant messaging robot development platfor | QQ Official API | ✅ | | | WeCom | ✅ | | | WeComCS | ✅ | | -| Lark | ✅ | | -| DingTalk | ✅ | | +| Lark | ✅ | Support streaming output | +| DingTalk | ✅ | Support streaming output | | Discord | ✅ | | -| Telegram | ✅ | | +| Telegram | ✅ | Support streaming output | | Slack | ✅ | | | LINE | 🚧 | | | WhatsApp | 🚧 | | @@ -32,7 +32,8 @@ LangBot is an open-source LLM native instant messaging robot development platfor | [Zhipu AI](https://open.bigmodel.cn/) | ✅ | | | [CompShare](https://www.compshare.cn/?ytag=GPU_YY-gh_langbot) | ✅ | LLM and GPU resource platform | | [Dify](https://dify.ai) | ✅ | LLMOps platform | -| [PPIO](https://ppinfra.com/user/register?invited_by=QJKFYD&utm_source=github_langbot) | ✅ | LLM and GPU resource platform | +| [PPIO](https://ppio.com/user/register?invited_by=QJKFYD&utm_source=github_langbot) | ✅ | LLM and GPU resource platform | +| [ShengSuanYun](https://www.shengsuanyun.com/login?code=7DS2QLH5) | ✅ | LLM and GPU resource platform | | [302.AI](https://share.302.ai/SuTG99) | ✅ | LLM gateway(MaaS) | | [Google Gemini](https://aistudio.google.com/prompts/new_chat) | ✅ | | | [Ollama](https://ollama.com/) | ✅ | Local LLM running platform | diff --git a/docs/zh/deploy/langbot/docker.md b/docs/zh/deploy/langbot/docker.md index 6541f5c26..8d7888cf9 100644 --- a/docs/zh/deploy/langbot/docker.md +++ b/docs/zh/deploy/langbot/docker.md @@ -26,7 +26,7 @@ docker compose up ``` :::info -- 如果你的主机位于中国大陆,可以把上方命令的`https://github.com/langbot-app/LangBot`改为`https://gitcode.com/langbot-app/LangBot`以使用国内镜像源。 +- 如果你的主机位于中国大陆,可以把上方命令的`https://github.com/langbot-app/LangBot`改为`https://gitcode.com/RockChinQ/LangBot`以使用国内镜像源。 - 如果你的主机位于中国大陆,可以考虑把 `docker-compose.yaml` 文件中的镜像名称改为`docker.langbot.app/langbot-public/rockchin/langbot:latest`以使用我们提供的镜像源。 - 推荐[设置 Docker 容器代理](https://yeasy.gitbook.io/docker_practice/advanced_network/http_https_proxy),以便保证 LangBot 在运行期间的网络访问通畅。 ::: diff --git a/docs/zh/deploy/langbot/manual.md b/docs/zh/deploy/langbot/manual.md index b76a6a576..04945c906 100644 --- a/docs/zh/deploy/langbot/manual.md +++ b/docs/zh/deploy/langbot/manual.md @@ -22,10 +22,10 @@ git clone https://github.com/langbot-app/LangBot cd LangBot ``` -若您位于中国大陆境内,可以从 [GitCode 镜像](https://gitcode.com/langbot-app/LangBot) 克隆: +若您位于中国大陆境内,可以从 [GitCode 镜像](https://gitcode.com/RockChinQ/LangBot) 克隆: ```bash -git clone https://gitcode.com/langbot-app/LangBot +git clone https://gitcode.com/RockChinQ/LangBot cd LangBot ``` diff --git a/docs/zh/deploy/platforms/dingtalk.md b/docs/zh/deploy/platforms/dingtalk.md index e8c6f2456..7e4be1290 100644 --- a/docs/zh/deploy/platforms/dingtalk.md +++ b/docs/zh/deploy/platforms/dingtalk.md @@ -24,6 +24,35 @@ 点击`事件订阅`,将其中的推送方式改为`Stream模式推送`。 +如果需要卡片流式,则需要在权限管理中申请卡片权限,如图: +![申请卡片权限前](/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png) + +![申请卡片权限后](/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png) + +另外卡片消息主要创建卡片模板,并记录模板id填入配置信息,流程如下: +> 卡片内容模板ID,可通过登录开发者后台 > [卡片平台](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV)获取 + +新建模板填写信息,如图: +![新建模板填写信息](/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png) + +选择预设模板(直接选第一个然后进去后更改模板内容),如图: +![选择预设模板](/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png) +点击使用 +![点击](/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png) +创建 +![创建](/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png) + +点击创建后会跳转到编辑模板。如图,这样你就可以尽情的编辑你想要的卡片消息了: +![编辑模板](/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png) + +主内容这里默认content不要改动即可: +![不改动](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk13.png) + +编辑好没问题之后保存即可,并复制模板id用以填写配置文件: +![保存](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk14.png) +![复制模板id](../../../assets/image/zh/deploy/bots/dingtalk/dingtalk15.png) + + ## 填写配置信息 点击`凭证与基础信息`,记录`Client ID` 和 `Client Secret`, @@ -31,8 +60,14 @@ `markdown_card` 为是否启用 Markdown 形式的回复,当此配置项关闭时,`@发送者` 配置开关不会生效。 将以上配置项 记录下来,填到 LangBot 机器人配置表单中。 +点击[卡片平台](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV)模板列表复制绑定的对应的模板id填入卡片模板id + + ![对接 LangBot](/assets/image/zh/deploy/bots/dingtalk/connect_to_langbot.png) +流式相关: +![img.png](../../../assets/image/zh/deploy/bots/lark/lark_15.png) + **启动 LangBot** 。 ## 添加机器人 diff --git a/docs/zh/deploy/platforms/lark.md b/docs/zh/deploy/platforms/lark.md index 6fb0fc0df..42ffd0e06 100644 --- a/docs/zh/deploy/platforms/lark.md +++ b/docs/zh/deploy/platforms/lark.md @@ -15,6 +15,10 @@ ![alt text](/assets/image/zh/deploy/bots/lark/lark_04.png) +如需卡片流式权限则多添加如下图的创建与更新卡片: + +![img_1.png](../../../assets/image/zh/deploy/bots/lark/lark_14.png) + ## 对接 LangBot 在`凭证与基础信息`页找到`app_id`和`app_secret`。 @@ -29,6 +33,9 @@ ![alt text](/assets/image/zh/deploy/bots/lark/connect_to_langbot.png) +流式相关: +![流式相关](../../../assets/image/zh/deploy/bots/lark/connect_to_langbot01.png) + 填写完成后启动 LangBot,若成功配置,日志中会出现`[01-29 23:42:56.796] manager.py (68) - [INFO] : 初始化平台适配器 1: lark`的字样,保持 LangBot 运行。 :::warning diff --git a/docs/zh/deploy/platforms/qq/aiocqhttp/lagrange.md b/docs/zh/deploy/platforms/qq/aiocqhttp/lagrange.md index 512c3788f..8ad9bceca 100644 --- a/docs/zh/deploy/platforms/qq/aiocqhttp/lagrange.md +++ b/docs/zh/deploy/platforms/qq/aiocqhttp/lagrange.md @@ -10,7 +10,7 @@ Lagrange 是一个 QQNT 协议逆向工程框架,轻便且相对稳定。通 ## 部署步骤 -以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/Lagrange.OneBot/) +以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/v1/Lagrange.OneBot/) ### 环境配置 diff --git a/docs/zh/deploy/settings.md b/docs/zh/deploy/settings.md index db9d1a330..44fcd74c2 100644 --- a/docs/zh/deploy/settings.md +++ b/docs/zh/deploy/settings.md @@ -46,7 +46,7 @@ mcp: # SSE 模式: # name 服务器名称,自行定义 # enable 是否启用本 Server - # mode 固定填写SSE + # mode 固定填写 sse # url MCP SSE Server 的访问 URL # headers 连接时的 headers,可选 # timeout 连接超时时间 @@ -54,7 +54,7 @@ mcp: # stdio 模式: # name 服务器名称,自行定义 # enable 是否启用本 Server - # mode 固定填写stdio + # mode 固定填写 stdio # command 执行命令 # args 执行命令的参数 # env 执行命令的环境变量,可选 @@ -63,7 +63,7 @@ mcp: # servers: # - name: 'SSE Server' # enable: true - # mode: SSE + # mode: sse # url: 'http://127.0.0.1:8000/sse' # headers: {} # timeout: 10 @@ -94,4 +94,4 @@ system: expire: 604800 # JWT 密钥,首次启动时会自动生成一个密钥 secret: 'xxxx' -``` \ No newline at end of file +``` diff --git a/docs/zh/insight/features.md b/docs/zh/insight/features.md index 2f340c4e0..4f10d0bb4 100644 --- a/docs/zh/insight/features.md +++ b/docs/zh/insight/features.md @@ -11,10 +11,10 @@ LangBot 是一个开源的大语言模型原生即时通信机器人开发平台 | 企业微信 | ✅ | | | 企微对外客服 | ✅ | | | 微信公众号 | ✅ | | -| 飞书 | ✅ | | -| 钉钉 | ✅ | | +| 飞书 | ✅ | 支持流式输出 | +| 钉钉 | ✅ | 支持流式输出 | | Discord | ✅ | | -| Telegram | ✅ | | +| Telegram | ✅ | 支持流式输出 | | Slack | ✅ | | | LINE | 🚧 | | | WhatsApp | 🚧 | | @@ -32,7 +32,8 @@ LangBot 是一个开源的大语言模型原生即时通信机器人开发平台 | [xAI](https://x.ai/) | ✅ | | | [智谱AI](https://open.bigmodel.cn/) | ✅ | | | [优云智算](https://www.compshare.cn/?ytag=GPU_YY-gh_langbot) | ✅ | 大模型和 GPU 资源平台 | -| [PPIO](https://ppinfra.com/user/register?invited_by=QJKFYD&utm_source=github_langbot) | ✅ | 大模型和 GPU 资源平台 | +| [PPIO](https://ppio.com/user/register?invited_by=QJKFYD&utm_source=github_langbot) | ✅ | 大模型和 GPU 资源平台 | +| [胜算云](https://www.shengsuanyun.com/login?code=7DS2QLH5) | ✅ | 大模型和 GPU 资源平台 | | [302.AI](https://share.302.ai/SuTG99) | ✅ | 大模型聚合平台 | | [Google Gemini](https://aistudio.google.com/prompts/new_chat) | ✅ | | | [Dify](https://dify.ai) | ✅ | LLMOps 平台 |