├── docs
├── public
│ ├── c12e8803945846f4ea730e249db79574.txt
│ ├── star.gif
│ ├── favicon.ico
│ ├── social.png
│ ├── chrome-192.png
│ ├── chrome-512.png
│ ├── social_en.png
│ ├── social_zh.png
│ ├── QChatGPT-0516.png
│ ├── langbot-logo.png
│ ├── langbot-logo-0.5x.png
│ ├── langbot-logo-block.png
│ ├── langbot-logo-final.png
│ └── langbot-plugin-social.png
├── en
│ ├── index.md
│ ├── develop
│ │ ├── comp-arch.md
│ │ ├── dev-config.md
│ │ └── plugin-runtime.md
│ ├── workshop
│ │ ├── 302ai-integration.md
│ │ ├── ppio-integration.md
│ │ ├── mcp-details.md
│ │ ├── newapi-integration.md
│ │ ├── impl-platform-adapter.md
│ │ └── network-details.md
│ ├── deploy
│ │ ├── command.md
│ │ ├── update.md
│ │ ├── langbot
│ │ │ ├── docker.md
│ │ │ ├── manual.md
│ │ │ └── one-click
│ │ │ │ ├── 1panel.md
│ │ │ │ └── bt.md
│ │ ├── platforms
│ │ │ ├── qq
│ │ │ │ └── aiocqhttp
│ │ │ │ │ ├── llonebot.md
│ │ │ │ │ ├── napcat.md
│ │ │ │ │ └── lagrange.md
│ │ │ ├── telegram.md
│ │ │ ├── readme.md
│ │ │ ├── wecom
│ │ │ │ ├── wecomcs.md
│ │ │ │ ├── wecombot.md
│ │ │ │ └── wecom.md
│ │ │ ├── discord.md
│ │ │ └── slack.md
│ │ ├── models
│ │ │ └── readme.md
│ │ ├── knowledge
│ │ │ └── readme.md
│ │ └── pipelines
│ │ │ ├── langflow.md
│ │ │ ├── n8n.md
│ │ │ ├── dify.md
│ │ │ └── readme.md
│ ├── insight
│ │ ├── community.md
│ │ └── guide.md
│ └── plugin
│ │ ├── dev
│ │ ├── apis
│ │ │ └── tech-details.md
│ │ ├── components
│ │ │ └── add.md
│ │ ├── migration.md
│ │ └── publish.md
│ │ ├── compatibility.md
│ │ └── plugin-intro.md
├── index.md
├── zh
│ ├── index.md
│ ├── tob
│ │ ├── contact.md
│ │ ├── index.md
│ │ ├── provider.md
│ │ └── platform.md
│ ├── develop
│ │ ├── comp-arch.md
│ │ ├── dev-config.md
│ │ └── plugin-runtime.md
│ ├── workshop
│ │ ├── 302ai-integration.md
│ │ ├── ppio-integration.md
│ │ ├── shengsuanyun-integration.md
│ │ ├── tokenpony-integration.md
│ │ ├── mcp-details.md
│ │ ├── newapi-integration.md
│ │ ├── impl-platform-adapter.md
│ │ └── network-details.md
│ ├── deploy
│ │ ├── command.md
│ │ ├── platforms
│ │ │ ├── qq
│ │ │ │ ├── official.md
│ │ │ │ ├── aiocqhttp
│ │ │ │ │ ├── llonebot.md
│ │ │ │ │ ├── napcat.md
│ │ │ │ │ └── lagrange.md
│ │ │ │ └── official_webhook.md
│ │ │ ├── wecom
│ │ │ │ ├── wecomcs.md
│ │ │ │ ├── wecombot.md
│ │ │ │ └── wecom.md
│ │ │ ├── telegram.md
│ │ │ ├── readme.md
│ │ │ ├── discord.md
│ │ │ ├── slack.md
│ │ │ ├── wxoa.md
│ │ │ ├── lark.md
│ │ │ └── dingtalk.md
│ │ ├── update.md
│ │ ├── pipelines
│ │ │ ├── tbox.md
│ │ │ ├── n8n.md
│ │ │ ├── langflow.md
│ │ │ ├── dify.md
│ │ │ └── readme.md
│ │ ├── knowledge
│ │ │ └── readme.md
│ │ ├── models
│ │ │ └── readme.md
│ │ ├── langbot
│ │ │ ├── docker.md
│ │ │ ├── one-click
│ │ │ │ ├── 1panel.md
│ │ │ │ └── bt.md
│ │ │ └── manual.md
│ │ └── settings.md
│ ├── plugin
│ │ ├── dev
│ │ │ ├── apis
│ │ │ │ └── tech-details.md
│ │ │ ├── migration.md
│ │ │ ├── components
│ │ │ │ ├── add.md
│ │ │ │ └── event-listener.md
│ │ │ └── publish.md
│ │ ├── compatibility.md
│ │ └── plugin-intro.md
│ └── insight
│ │ ├── community.md
│ │ ├── guide.md
│ │ └── features.md
├── assets
│ ├── icon
│ │ ├── chrome-mask-192.png
│ │ ├── chrome-mask-512.png
│ │ └── guide-maskable.png
│ └── image
│ │ └── zh
│ │ ├── deploy
│ │ ├── bots
│ │ │ ├── arch.png
│ │ │ ├── lark
│ │ │ │ ├── lark_01.png
│ │ │ │ ├── lark_02.png
│ │ │ │ ├── lark_03.png
│ │ │ │ ├── lark_04.png
│ │ │ │ ├── lark_05.png
│ │ │ │ ├── lark_06.png
│ │ │ │ ├── lark_07.png
│ │ │ │ ├── lark_08.png
│ │ │ │ ├── lark_09.png
│ │ │ │ ├── lark_10.png
│ │ │ │ ├── lark_11.png
│ │ │ │ ├── lark_12.png
│ │ │ │ ├── lark_13.png
│ │ │ │ ├── lark_14.png
│ │ │ │ ├── lark_15.png
│ │ │ │ ├── connect_to_langbot.png
│ │ │ │ └── connect_to_langbot01.png
│ │ │ ├── line
│ │ │ │ ├── line01.png
│ │ │ │ ├── line02.png
│ │ │ │ ├── line03.png
│ │ │ │ ├── line04.png
│ │ │ │ ├── line05.png
│ │ │ │ ├── line06.png
│ │ │ │ ├── line07.png
│ │ │ │ ├── line08.png
│ │ │ │ ├── line09.png
│ │ │ │ ├── line10.png
│ │ │ │ ├── line11.png
│ │ │ │ ├── line12.png
│ │ │ │ ├── line13.png
│ │ │ │ ├── line14.png
│ │ │ │ ├── line15.png
│ │ │ │ ├── line16.png
│ │ │ │ ├── line17.png
│ │ │ │ ├── line18.png
│ │ │ │ ├── line19.png
│ │ │ │ ├── line20.png
│ │ │ │ ├── line21.png
│ │ │ │ ├── line22.png
│ │ │ │ ├── line23.png
│ │ │ │ ├── line24.png
│ │ │ │ ├── line25.png
│ │ │ │ ├── line26.png
│ │ │ │ ├── line27.png
│ │ │ │ ├── line28.png
│ │ │ │ └── line29.png
│ │ │ ├── wxoa
│ │ │ │ ├── wxoa1.png
│ │ │ │ ├── wxoa2.png
│ │ │ │ └── connect_to_langbot.png
│ │ │ ├── slack
│ │ │ │ ├── slack_01.jpg
│ │ │ │ ├── slack_02.jpg
│ │ │ │ ├── slack_03.jpg
│ │ │ │ ├── slack_04.jpg
│ │ │ │ ├── slack_05.jpg
│ │ │ │ └── connect_to_langbot.png
│ │ │ ├── dingtalk
│ │ │ │ ├── dingtalk1.png
│ │ │ │ ├── dingtalk10.png
│ │ │ │ ├── dingtalk11.png
│ │ │ │ ├── dingtalk12.png
│ │ │ │ ├── dingtalk13.png
│ │ │ │ ├── dingtalk14.png
│ │ │ │ ├── dingtalk15.png
│ │ │ │ ├── dingtalk2.png
│ │ │ │ ├── dingtalk3.png
│ │ │ │ ├── dingtalk4.png
│ │ │ │ ├── dingtalk5.png
│ │ │ │ ├── dingtalk6.png
│ │ │ │ ├── dingtalk7.png
│ │ │ │ ├── dingtalk8.png
│ │ │ │ ├── dingtalk9.png
│ │ │ │ └── connect_to_langbot.png
│ │ │ ├── discord
│ │ │ │ ├── discord_01.png
│ │ │ │ ├── discord_02.png
│ │ │ │ ├── discord_03.png
│ │ │ │ ├── discord_04.png
│ │ │ │ ├── discord_05.png
│ │ │ │ ├── discord_06.png
│ │ │ │ ├── discord_07.png
│ │ │ │ ├── discord_08.png
│ │ │ │ ├── discord_09.png
│ │ │ │ └── connect_to_langbot.png
│ │ │ ├── wecom
│ │ │ │ ├── wecom
│ │ │ │ │ ├── wecom1.png
│ │ │ │ │ ├── wecom2.png
│ │ │ │ │ ├── wecom3.jpg
│ │ │ │ │ ├── wecom4.png
│ │ │ │ │ ├── wecom5.png
│ │ │ │ │ └── connect_to_langbot.png
│ │ │ │ ├── wecomcs
│ │ │ │ │ ├── wecomcs_01.jpg
│ │ │ │ │ └── connect_to_langbot.png
│ │ │ │ └── wecombot
│ │ │ │ │ ├── wecombot_1.png
│ │ │ │ │ ├── wecombot_2.png
│ │ │ │ │ ├── wecombot_3.png
│ │ │ │ │ ├── wecombot_4.png
│ │ │ │ │ ├── wecombot_5.png
│ │ │ │ │ ├── wecombot_6.png
│ │ │ │ │ └── wecombot_7.png
│ │ │ ├── gewechat
│ │ │ │ ├── gewechat_01.png
│ │ │ │ └── gewechat_02.png
│ │ │ ├── telegram
│ │ │ │ ├── telegram_01.png
│ │ │ │ ├── telegram_02.png
│ │ │ │ ├── telegram_03.png
│ │ │ │ ├── telegram_04.png
│ │ │ │ ├── telegram_05.png
│ │ │ │ └── connect_to_langbot.png
│ │ │ └── qq
│ │ │ │ ├── official
│ │ │ │ ├── qqofficial1.png
│ │ │ │ ├── qqofficial2.png
│ │ │ │ └── qqofficial3.png
│ │ │ │ └── onebot
│ │ │ │ ├── lagrange
│ │ │ │ ├── dl_lgr_1.png
│ │ │ │ ├── dl_lgr_2.png
│ │ │ │ ├── dl_lgr_3.png
│ │ │ │ └── config_lgr.png
│ │ │ │ ├── llonebot
│ │ │ │ └── llob_cfg.png
│ │ │ │ └── napcat
│ │ │ │ ├── napcat_webui_01.png
│ │ │ │ ├── napcat_webui_02.png
│ │ │ │ └── napcat_webui_03.png
│ │ ├── models
│ │ │ ├── arch.png
│ │ │ ├── create_model.png
│ │ │ ├── model_config.png
│ │ │ ├── embedding_model.png
│ │ │ └── other_provider.png
│ │ ├── pipelines
│ │ │ ├── arch.png
│ │ │ ├── more_runner.png
│ │ │ ├── n8n
│ │ │ │ ├── create_wf.png
│ │ │ │ ├── config_auth.png
│ │ │ │ ├── config_runner.png
│ │ │ │ ├── config_respond.png
│ │ │ │ └── config_webhook.png
│ │ │ ├── edit_pipeline_ai.png
│ │ │ ├── tbox
│ │ │ │ ├── find_appid.png
│ │ │ │ ├── tbox_runner.png
│ │ │ │ └── create_api_key.png
│ │ │ ├── dify
│ │ │ │ ├── dify_sv_api_01.png
│ │ │ │ ├── dify_sv_api_02.png
│ │ │ │ └── dify_workflow_output_key.png
│ │ │ └── langflow
│ │ │ │ ├── edit_flow.png
│ │ │ │ ├── create_flow.png
│ │ │ │ ├── get_api_key.png
│ │ │ │ ├── get_flow_id.png
│ │ │ │ └── set_langflow_runner.png
│ │ ├── knowledge
│ │ │ ├── use_kb.png
│ │ │ ├── upload_docs.png
│ │ │ ├── use_kb_in_chat.png
│ │ │ └── use_local_agent.png
│ │ ├── platforms
│ │ │ └── wechat
│ │ │ │ ├── page1.png
│ │ │ │ ├── login1.png
│ │ │ │ ├── login2.png
│ │ │ │ ├── login3.png
│ │ │ │ ├── gettoken.png
│ │ │ │ ├── ipadlogin.jpg
│ │ │ │ ├── langbotset.png
│ │ │ │ ├── sendtoken.png
│ │ │ │ ├── Snipaste_2025-06-09_22-30-49.png
│ │ │ │ ├── Snipaste_2025-06-09_22-33-18.png
│ │ │ │ ├── Snipaste_2025-06-09_22-33-45.png
│ │ │ │ ├── Snipaste_2025-06-09_22-36-41.png
│ │ │ │ ├── Snipaste_2025-06-09_22-37-40.png
│ │ │ │ ├── Snipaste_2025-06-09_22-38-10.png
│ │ │ │ └── Snipaste_2025-06-09_22-41-05.png
│ │ └── langbot
│ │ │ ├── manual
│ │ │ └── dl_release.png
│ │ │ └── one-click
│ │ │ ├── 1p_install_01.png
│ │ │ ├── 1p_langbot_01.png
│ │ │ ├── 1p_langbot_02.png
│ │ │ ├── 1p_langbot_03.png
│ │ │ ├── bt_install_01.png
│ │ │ ├── bt_install_02.png
│ │ │ ├── bt_langbot_01.png
│ │ │ └── bt_langbot_02.png
│ │ ├── insight
│ │ ├── group_chat.png
│ │ ├── private_chat.png
│ │ └── features
│ │ │ ├── bot-page.png
│ │ │ ├── create-model.png
│ │ │ ├── edit-pipeline.png
│ │ │ └── plugin-market.png
│ │ ├── develop
│ │ ├── confirm_venv.png
│ │ └── comp_arch
│ │ │ └── develop_comp_arch_1.png
│ │ ├── plugin
│ │ ├── plugin_config.png
│ │ ├── update_plugin.png
│ │ ├── dev
│ │ │ ├── create_plugin.png
│ │ │ ├── login_space.png
│ │ │ ├── plugin_submission.png
│ │ │ ├── plugin_system_arch.png
│ │ │ ├── space_device_flow.png
│ │ │ ├── debug_plugin_loaded.png
│ │ │ ├── launch_debug_plugin.png
│ │ │ ├── components
│ │ │ │ ├── command_use.png
│ │ │ │ ├── info_command_demo.png
│ │ │ │ └── tool_use_in_chat.png
│ │ │ └── apis
│ │ │ │ └── plugin_dev_messages_01.png
│ │ ├── install_from_local.png
│ │ └── install_from_marketplace.png
│ │ └── workshop
│ │ ├── ppio-integration
│ │ └── model.png
│ │ ├── 302ai-integration
│ │ └── model.png
│ │ ├── dify-service-api
│ │ ├── dify_01.png
│ │ ├── dify_02.png
│ │ ├── dify_03.png
│ │ ├── dify_04.png
│ │ ├── dify_05.png
│ │ ├── dify_06.png
│ │ ├── dify_07.png
│ │ ├── dify_08.png
│ │ ├── dify_09.png
│ │ ├── dify_10.png
│ │ ├── dify_11.png
│ │ ├── dify_12.png
│ │ ├── dify_13.png
│ │ ├── dify_14.png
│ │ └── dify_workflow_var.png
│ │ ├── newapi-integration
│ │ ├── model.png
│ │ └── model2.png
│ │ ├── tokenpony-integration
│ │ ├── add-model.png
│ │ ├── get-api-key.png
│ │ ├── tokenpony-mainpage.png
│ │ └── access-api-key-page.png
│ │ ├── shengsuanyun-integration
│ │ ├── llm-models.png
│ │ └── add-llm-model.png
│ │ └── impl-platform-adapter
│ │ └── workshop_impl_platform_adapter_01.png
└── .vitepress
│ └── theme
│ ├── index.ts
│ └── custom.css
├── .gitignore
├── package.json
├── README.md
└── README_EN.md
/docs/public/c12e8803945846f4ea730e249db79574.txt:
--------------------------------------------------------------------------------
1 | 785b5351176ee5e392b36dab82b333308cbf8146
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | docs/.vitepress/cache/
3 | docs/.vitepress/dist
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/docs/en/index.md:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/docs/zh/index.md:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/docs/public/star.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/star.gif
--------------------------------------------------------------------------------
/docs/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/favicon.ico
--------------------------------------------------------------------------------
/docs/public/social.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/social.png
--------------------------------------------------------------------------------
/docs/zh/tob/contact.md:
--------------------------------------------------------------------------------
1 | # 咨询方式
2 |
3 | 作者长期提供定制服务,欢迎咨询:
4 |
5 | - 微信:junyan_qin
6 | - QQ:1010553892
--------------------------------------------------------------------------------
/docs/public/chrome-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/chrome-192.png
--------------------------------------------------------------------------------
/docs/public/chrome-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/chrome-512.png
--------------------------------------------------------------------------------
/docs/public/social_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/social_en.png
--------------------------------------------------------------------------------
/docs/public/social_zh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/social_zh.png
--------------------------------------------------------------------------------
/docs/zh/develop/comp-arch.md:
--------------------------------------------------------------------------------
1 | # 组件架构
2 |
3 | 
--------------------------------------------------------------------------------
/docs/public/QChatGPT-0516.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/QChatGPT-0516.png
--------------------------------------------------------------------------------
/docs/public/langbot-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/langbot-logo.png
--------------------------------------------------------------------------------
/docs/public/langbot-logo-0.5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/langbot-logo-0.5x.png
--------------------------------------------------------------------------------
/docs/public/langbot-logo-block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/langbot-logo-block.png
--------------------------------------------------------------------------------
/docs/public/langbot-logo-final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/langbot-logo-final.png
--------------------------------------------------------------------------------
/docs/assets/icon/chrome-mask-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/icon/chrome-mask-192.png
--------------------------------------------------------------------------------
/docs/assets/icon/chrome-mask-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/icon/chrome-mask-512.png
--------------------------------------------------------------------------------
/docs/assets/icon/guide-maskable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/icon/guide-maskable.png
--------------------------------------------------------------------------------
/docs/public/langbot-plugin-social.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/public/langbot-plugin-social.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/arch.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/models/arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/models/arch.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/group_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/group_chat.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/arch.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/develop/confirm_venv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/develop/confirm_venv.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/private_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/private_chat.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/plugin_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/plugin_config.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/update_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/update_plugin.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_04.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_06.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_07.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_08.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_09.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_10.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_11.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_12.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_13.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_14.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/lark_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/lark_15.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line04.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line06.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line07.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line08.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line09.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line10.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line11.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line12.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line13.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line14.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line15.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line16.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line17.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line18.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line19.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line20.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line21.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line22.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line23.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line24.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line25.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line26.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line27.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line28.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/line/line29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/line/line29.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wxoa/wxoa1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wxoa/wxoa1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wxoa/wxoa2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wxoa/wxoa2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/knowledge/use_kb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/knowledge/use_kb.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/create_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/create_plugin.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/login_space.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/login_space.png
--------------------------------------------------------------------------------
/docs/zh/tob/index.md:
--------------------------------------------------------------------------------
1 | # 规模使用和商用指南
2 |
3 | LangBot 已经具备了一定的生产能力,目前已在多家公司的生产环境运行并承担一定的业务。我们相信您非常重视合规性和稳定性方面的问题,此章节将基于一些已有的案例讲解商用最佳实践。
4 |
5 | 请点击左侧目录查看具体内容。
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/slack_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/slack_01.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/slack_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/slack_02.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/slack_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/slack_03.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/slack_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/slack_04.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/slack_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/slack_05.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/models/create_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/models/create_model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/models/model_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/models/model_config.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/features/bot-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/features/bot-page.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/install_from_local.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/install_from_local.png
--------------------------------------------------------------------------------
/docs/en/develop/comp-arch.md:
--------------------------------------------------------------------------------
1 | # Component Architecture
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/knowledge/upload_docs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/knowledge/upload_docs.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/models/embedding_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/models/embedding_model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/models/other_provider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/models/other_provider.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/more_runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/more_runner.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/page1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/page1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/features/create-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/features/create-model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/plugin_submission.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/plugin_submission.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/plugin_system_arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/plugin_system_arch.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/space_device_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/space_device_flow.png
--------------------------------------------------------------------------------
/docs/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | // .vitepress/theme/index.ts
2 | import DefaultTheme from 'vitepress/theme'
3 | import './custom.css'
4 |
5 | export default DefaultTheme
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk10.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk11.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk12.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk13.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk14.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk15.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk3.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk4.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk5.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk6.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk7.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk8.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/dingtalk9.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_04.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_06.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_07.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_08.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/discord_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/discord_09.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom3.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom4.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/wecom5.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/knowledge/use_kb_in_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/knowledge/use_kb_in_chat.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/n8n/create_wf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/n8n/create_wf.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/login1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/login1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/login2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/login2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/login3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/login3.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/features/edit-pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/features/edit-pipeline.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/insight/features/plugin-market.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/insight/features/plugin-market.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/debug_plugin_loaded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/debug_plugin_loaded.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/launch_debug_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/launch_debug_plugin.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/install_from_marketplace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/install_from_marketplace.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/ppio-integration/model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/ppio-integration/model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/gewechat/gewechat_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/gewechat/gewechat_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/gewechat/gewechat_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/gewechat/gewechat_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/telegram_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/telegram_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/telegram_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/telegram_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/telegram_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/telegram_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/telegram_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/telegram_04.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/telegram_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/telegram_05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/knowledge/use_local_agent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/knowledge/use_local_agent.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/manual/dl_release.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/manual/dl_release.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/edit_pipeline_ai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/edit_pipeline_ai.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/n8n/config_auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/n8n/config_auth.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/n8n/config_runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/n8n/config_runner.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/tbox/find_appid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/tbox/find_appid.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/tbox/tbox_runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/tbox/tbox_runner.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/gettoken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/gettoken.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/ipadlogin.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/ipadlogin.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/langbotset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/langbotset.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/sendtoken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/sendtoken.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/components/command_use.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/components/command_use.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/302ai-integration/model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/302ai-integration/model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_04.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_06.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_07.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_08.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_09.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_10.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_11.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_12.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_13.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_14.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/newapi-integration/model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/newapi-integration/model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/newapi-integration/model2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/newapi-integration/model2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/official/qqofficial1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/official/qqofficial1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/official/qqofficial2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/official/qqofficial2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/official/qqofficial3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/official/qqofficial3.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/slack/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/slack/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecomcs/wecomcs_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecomcs/wecomcs_01.jpg
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wxoa/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wxoa/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/dify/dify_sv_api_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/dify/dify_sv_api_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/dify/dify_sv_api_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/dify/dify_sv_api_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/langflow/edit_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/langflow/edit_flow.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/n8n/config_respond.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/n8n/config_respond.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/n8n/config_webhook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/n8n/config_webhook.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/tbox/create_api_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/tbox/create_api_key.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/dingtalk/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/dingtalk/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/discord/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/discord/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/lark/connect_to_langbot01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/dl_lgr_3.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/llonebot/llob_cfg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/llonebot/llob_cfg.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/telegram/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/telegram/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_2.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_3.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_4.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_5.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_6.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecombot/wecombot_7.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/1p_install_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/1p_install_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/1p_langbot_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/bt_install_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/bt_install_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/bt_install_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/bt_install_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/bt_langbot_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/bt_langbot_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/langbot/one-click/bt_langbot_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/langbot/one-click/bt_langbot_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/langflow/create_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/langflow/create_flow.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/langflow/get_api_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/langflow/get_api_key.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/langflow/get_flow_id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/langflow/get_flow_id.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/develop/comp_arch/develop_comp_arch_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/develop/comp_arch/develop_comp_arch_1.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/apis/plugin_dev_messages_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/apis/plugin_dev_messages_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/components/info_command_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/components/info_command_demo.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/plugin/dev/components/tool_use_in_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/plugin/dev/components/tool_use_in_chat.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/config_lgr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/lagrange/config_lgr.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/tokenpony-integration/add-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/tokenpony-integration/add-model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_01.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_02.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/qq/onebot/napcat/napcat_webui_03.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecom/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecom/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/bots/wecom/wecomcs/connect_to_langbot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/bots/wecom/wecomcs/connect_to_langbot.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/dify-service-api/dify_workflow_var.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/dify-service-api/dify_workflow_var.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/shengsuanyun-integration/llm-models.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/shengsuanyun-integration/llm-models.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/tokenpony-integration/get-api-key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/tokenpony-integration/get-api-key.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/dify/dify_workflow_output_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/dify/dify_workflow_output_key.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/pipelines/langflow/set_langflow_runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/pipelines/langflow/set_langflow_runner.png
--------------------------------------------------------------------------------
/docs/zh/workshop/302ai-integration.md:
--------------------------------------------------------------------------------
1 | # 接入 302.AI 的模型
2 |
3 | 打开 WebUI 页面,添加模型时选择[302.AI](https://share.302.ai/SuTG99)即可
4 |
5 | 
6 |
7 |
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/shengsuanyun-integration/add-llm-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/shengsuanyun-integration/add-llm-model.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/tokenpony-integration/tokenpony-mainpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/tokenpony-integration/tokenpony-mainpage.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/tokenpony-integration/access-api-key-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/tokenpony-integration/access-api-key-page.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-30-49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-30-49.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-33-18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-33-18.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-33-45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-33-45.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-36-41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-36-41.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-37-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-37-40.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-38-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-38-10.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-41-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/deploy/platforms/wechat/Snipaste_2025-06-09_22-41-05.png
--------------------------------------------------------------------------------
/docs/assets/image/zh/workshop/impl-platform-adapter/workshop_impl_platform_adapter_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/the-lazy-me/Langbot-Wiki/HEAD/docs/assets/image/zh/workshop/impl-platform-adapter/workshop_impl_platform_adapter_01.png
--------------------------------------------------------------------------------
/docs/en/workshop/302ai-integration.md:
--------------------------------------------------------------------------------
1 | # Integrating Models with 302 AI
2 |
3 | Open the WebUI page, and select [302 AI](https://share.302.ai/SuTG99) when adding a model.
4 |
5 | 
--------------------------------------------------------------------------------
/docs/zh/workshop/ppio-integration.md:
--------------------------------------------------------------------------------
1 | # 接入 PPIO 派欧云 API 的模型
2 |
3 | 打开 WebUI 页面,添加模型时选择[派欧云](https://ppio.cn/user/register?from=ppinfra&invited_by=QJKFYD&utm_source=github_langbot)即可
4 |
5 | 
--------------------------------------------------------------------------------
/docs/zh/deploy/command.md:
--------------------------------------------------------------------------------
1 | # 命令
2 |
3 | LangBot 将以 `!` 开头的消息视为命令。官方提供了 [`EssentialCommands` 插件](https://space.langbot.app/market?author=langbot-team&plugin=EssentialCommands),包含了常用的命令。
4 |
5 | 您也可以开发自己的命令插件,请参考 [命令插件开发](/zh/plugin/dev/components/command.md)。
--------------------------------------------------------------------------------
/docs/.vitepress/theme/custom.css:
--------------------------------------------------------------------------------
1 | /* .vitepress/theme/custom.css */
2 | :root {
3 | /* 自定义主页的hero部分的 name 的字体颜色 */
4 | --vp-home-hero-name-color: transparent;
5 | --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff);
6 | }
--------------------------------------------------------------------------------
/docs/en/workshop/ppio-integration.md:
--------------------------------------------------------------------------------
1 | # Integrating Models with PPIO Cloud API
2 |
3 | Open the WebUI page, and select [PPIO Cloud](https://ppio.cn/user/register?from=ppinfra&invited_by=QJKFYD&utm_source=github_langbot) when adding a model.
4 |
5 | 
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "devDependencies": {
3 | "vitepress": "^1.3.4"
4 | },
5 | "scripts": {
6 | "docs:dev": "vitepress dev docs",
7 | "docs:build": "vitepress build docs",
8 | "docs:preview": "vitepress preview docs"
9 | },
10 | "dependencies": {
11 | "mermaid": "^11.8.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/docs/zh/tob/provider.md:
--------------------------------------------------------------------------------
1 | # AI 内容合规性
2 |
3 | > 国家对AIGC的管理办法参考资料
4 | >
5 | > - [生成式人工智能服务管理暂行办法](https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)
6 |
7 | 在内容管控方面,LangBot 内置了`关键词检测`、`百度智能云审核`等内容过滤器,具体请查看配置文件章节。
8 |
9 | 在实践中,应该辅以群内管理员禁言之类的方式管控内容,模型方面,以下是推荐的方案(按推荐顺序):
10 |
11 | 1. 使用国产模型
12 | 2. 使用严格的内容过滤器(可自行实现,详细参考插件功能章节)
13 | 3. 在使用境外模型时辅以严格的 Prompt
--------------------------------------------------------------------------------
/docs/en/deploy/command.md:
--------------------------------------------------------------------------------
1 | # Command
2 |
3 | LangBot will regard messages starting with `!` as commands. Official provides [`EssentialCommands` plugin](https://space.langbot.app/market?author=langbot-team&plugin=EssentialCommands), which includes commonly used commands.
4 |
5 | You can also develop your own command plugin, please refer to [Command Plugin Development](/en/plugin/dev/components/command.md).
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/qq/official.md:
--------------------------------------------------------------------------------
1 | # 使用 QQ 官方机器人 API(使用websocket方式)
2 |
3 | :::warning
4 | QQ 官方已停止维护 WebSocket 方式,请使用 Webhook 方式。
5 | :::
6 |
7 | QQ官方机器人所有人均可申请,可以在频道和群聊中使用,私聊也可。
8 |
9 | ## 注册 QQ 机器人
10 |
11 | 前往[QQ开放平台](https://q.qq.com/#/),找到下方的 QQ 机器人文档,按照指引注册 QQ 频道机器人。
12 |
13 | ## 获取凭证
14 |
15 | 注册完成后,前往机器人控制台,找到 开发设置,获取 `AppId(机器人ID)` 和 `AppSecret(机器人密钥)`,接下来进入填写配置信息步骤。
--------------------------------------------------------------------------------
/docs/en/insight/community.md:
--------------------------------------------------------------------------------
1 | # Community Resources
2 |
3 |
4 | ## Simplified Tutorials
5 | > Simplified tutorials: such as video tutorials, simpler text tutorials, suitable for beginners
6 |
7 | Collected at: https://blog.thelazy.top/tags/langbot
8 |
9 | ## 🥰 Community
10 |
11 | Join our community on Discord: [](https://discord.gg/wdNEHETs87)
--------------------------------------------------------------------------------
/docs/zh/plugin/dev/apis/tech-details.md:
--------------------------------------------------------------------------------
1 | # 插件技术细节
2 |
3 | ## 架构
4 |
5 |
6 |
7 | 在 4.0 版本中,我们引入了一种高安全性、高灵活性的生产级插件系统,并为插件开发者提供了丰富的 API 和易用的配套工具。
8 |
9 | Plugin Runtime (插件运行时),用于管理插件的生命周期,协调 LangBot 与插件之间的交互。有两种运行模式:`stdio` 和 `websocket`。当 LangBot 是由用户直接启动(未运行在容器内时),会使用 `stdio` 模式,这种场景多为个人用户或轻量级环境。当 LangBot 运行在容器内时,会使用 `websocket` 模式,此场景专为生产级环境设计。
10 |
11 | Plugin Runtime 会自动启动各个已安装的插件,通过 stdio 交互。在插件开发场景中,开发者可以使用 `lbp` 命令行工具启动插件并通过 WebSocket 连接到已启动的 Runtime 进行调试。
--------------------------------------------------------------------------------
/docs/zh/deploy/update.md:
--------------------------------------------------------------------------------
1 | # 更新 LangBot
2 |
3 | ## 使用 Docker(或基于 Docker 的一键部署)
4 |
5 | 请在之前 Clone 的 LangBot 目录下执行:
6 |
7 | ```bash
8 | git pull
9 | ```
10 |
11 | 并在 `docker/` 目录下执行:
12 |
13 | ```bash
14 | docker compose up --force-recreate --pull always -d
15 | ```
16 |
17 | 此命令将拉取最新的 LangBot 镜像并重建容器。
18 |
19 | :::info
20 | 4.3.0 版本更改了 `docker/docker-compose.yaml` 文件的内容和位置,若您由之前版本更新而来,请[根据文档重新部署](/zh/deploy/langbot/docker)。
21 | :::
22 |
23 | ## 手动部署
24 |
25 | 从 [Releases](https://github.com/langbot-app/LangBot/releases) 页面下载最新发行版的 Assets 下的 `langbot--all.zip`,解压到原来部署到目录重启即可。
--------------------------------------------------------------------------------
/docs/zh/workshop/shengsuanyun-integration.md:
--------------------------------------------------------------------------------
1 | # 接入来自胜算云的模型
2 |
3 | 胜算云是一家提供大模型和 GPU 资源的平台,支持将国内外各种大模型接入 LangBot,包括 Claude、GPT、DeepSeek、Gemini 等。
4 |
5 | ## 注册胜算云
6 |
7 | 点击[链接](https://www.shengsuanyun.com/?from=CH_KYIPP758)注册胜算云账号,完成后前往`控制台`,`API 密钥`页面,生成并复制 API Key。
8 |
9 | ## 使用聊天模型
10 |
11 | 在胜算云顶部进入`大厂模型Router`,即可查看可用的模型列表,并复制模型名称。
12 |
13 |
14 |
15 | 前往 LangBot 模型管理页,添加模型(选择胜算云提供商,填入模型名称和 API Key):
16 |
17 |
18 |
19 | 现在即可在流水线中选择使用该模型。
--------------------------------------------------------------------------------
/docs/zh/insight/community.md:
--------------------------------------------------------------------------------
1 | # 社区资源
2 |
3 |
4 | ## 简化版教程
5 | > 简化版教程:如视频教程、更简单的文字教程,适合小白
6 |
7 | 收录于:https://blog.thelazy.top/tags/langbot
8 |
9 | ## 本项目交流 QQ 群
10 |
11 | > 遇到问题请先认真阅读文档,如无法解决再加群提问
12 |
13 | ### 🥰 社区总群
14 |
15 | 解答各种问题
16 |
17 | - LangBot 社区(三):966235608 ([链接](https://qm.qq.com/q/JLi38whHum))
18 | - 【已满】LangBot 社区(二):1030838208 ([链接](https://qm.qq.com/q/PF9OuQCCcM))
19 | - 【已满】LangBot 社区(一):619154800 ([链接](https://qm.qq.com/q/1K9GjQuza))
20 |
21 | ### 🧩 插件开发群
22 |
23 | 插件和 LangBot 开发、发布、交流
24 |
25 | :::warning 注意
26 | 此群群友只对开发插件感兴趣,不会解答您的任何其他问题。
27 | :::
28 |
29 | - LangBot 插件&开发:1032327138 ([链接](https://qm.qq.com/q/G7ENGTjeou))
30 |
--------------------------------------------------------------------------------
/docs/zh/plugin/compatibility.md:
--------------------------------------------------------------------------------
1 | # 系统兼容性
2 |
3 | LangBot 插件系统运用了`Asyncio`和`Subprocess`等机制,这在unix-like系统(如Linux、MacOS)上运行良好,但在Windows上存在一些问题,导致插件无法正常运行。
4 |
5 | Windows 上的 Python 异步事件循环默认使用 `ProactorEventLoop`,但该事件循环对 Stdio 的支持性缺失,而非 Docker 环境下 LangBot 依赖 Stdio 与 Plugin Runtime 通信、Plugin Runtime 也依赖 Stdio 与插件通信。
6 |
7 | 若改为使用`SelectorEventLoop`,则会导致无法正常启动 Plugin Runtime 和插件,因为`SelectorEventLoop`不支持`Subprocess`。
8 |
9 | 详细问题参阅:[Python官方文档](https://docs.python.org/zh-cn/3.13/library/asyncio-platforms.html)
10 |
11 | ## 解决方案(拟)
12 |
13 | 后续将支持在 Windows 上默认采用 Websocket 作为 LangBot 到 Plugin Runtime 、Plugin Runtime 到插件的通信方式。
14 |
15 | 现阶段请您使用 Unix-like 系统部署 LangBot,或在 Windows 上使用 Docker 或 WSL2。
--------------------------------------------------------------------------------
/docs/zh/deploy/pipelines/tbox.md:
--------------------------------------------------------------------------------
1 | # 在 LangBot 上使用 TBox(蚂蚁百宝箱)
2 |
3 | [TBox(百宝箱)](https://tbox.cn/)是蚂蚁集团推出的面向 AI 开发者的一站式智能体应用开发平台。在平台上,无论您是否拥有编程基础,都可以通过自然语言,基于各种大模型搭建属于您自己的智能体应用,并将其发布到支付宝小程序、web 服务、浏览器插件等生态渠道。
4 |
5 | LangBot 支持接入 TBox 上编排好的智能体,用作流水线 Runner。
6 |
7 | 在 TBox 上搭建好智能体后,请到[`开放平台`](https://www.tbox.cn/open/authorized-management)创建 API Key:
8 |
9 | 
10 |
11 | 并在 TBox 的智能体编排页面找到该应用的 AppID:
12 |
13 | 
14 |
15 | 接着回到 LangBot 流水线设置中,切到`AI 能力`配置页面,选择`蚂蚁百宝箱平台 API` 作为运行器:
16 |
17 | 
18 |
19 | 现在即可使用 TBox 上的智能体了。
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/wecom/wecomcs.md:
--------------------------------------------------------------------------------
1 | # 部署企业微信客服
2 |
3 | :::info
4 |
5 | 本文详细讲述 LangBot 部署到企业微信客服号的过程,此功能可以将客服号与普通微信进行对话。若只需要在企业微信内部使用,请参考[企业微信内部应用实现](wecom.md)。
6 |
7 | **部署企业微信客服号需要企业资质**,具体查看[企业微信客服号接入指南](https://developer.work.weixin.qq.com/document/path/94638),并且根据此文档提供对应的企业资质证明。
8 |
9 | :::
10 |
11 | ## 效果图
12 |
13 | 
14 |
15 | ## 对接 LangBot
16 |
17 | 
18 |
19 | 后续的配置方式和配置项和[企业微信内部应用](wecom.md)一样,只是不需要 `contacts_secret`。
20 |
21 | ## 注意事项
22 |
23 | 1. 一定要按照上文的企业微信官方文档步骤走,将客服账号添加入 `api 管理`中。
24 | 2. 步骤与企业微信内部应用一样,不要漏看,同样需要保存回调地址,因为本质上只是在企业微信内部应用上增加了其他的权限。
25 | 3. LangBot 不会读取敏感信息如聊天记录和企业资质内容。
26 |
27 |
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/qq/aiocqhttp/llonebot.md:
--------------------------------------------------------------------------------
1 | # 部署消息平台 LiteLoaderQQNT
2 |
3 | 通过 OneBot 11 协议接入,需选择使用``OneBot v11``作为适配器。
4 |
5 | # LiteLoaderQQNT
6 |
7 | - [LiteLoaderQQNT 的 OneBot API 插件](https://github.com/LLOneBot/LLOneBot) 注入 QQ 客户端并将其转换为 OneBot 11 协议
8 |
9 | 安装LiteLoaderQQNT的教程:https://llonebot.github.io/zh-CN/guide/getting-started
10 |
11 | 
12 |
13 | 确保地址中 IP地址 是 LangBot 运行的主机的地址(若在同一网络内运行则为 127.0.0.1)
14 |
15 | ## Lagrange 对接
16 |
17 | 接下来打开 LangBot 配置页面
18 |
19 | 点击机器人,点击添加
20 |
21 | `平台/适配器选择`为`OneBot v11`
22 |
23 | 
24 |
25 | ::: info
26 | 注意,如果涉及多个 docker 容器的网络连接问题,请参考[网络配置详解](/zh/workshop/network-details)
27 | :::
--------------------------------------------------------------------------------
/docs/zh/workshop/tokenpony-integration.md:
--------------------------------------------------------------------------------
1 | # 接入来自小马算力的模型
2 |
3 | 
4 |
5 | TokenPony(小马算力)提供统一的API,可以通过单一端点访问数百个AI模型,同时自动处理回退并选择最具成本效益的选项。在 LangBot 中已完美适配,可按照以下步骤添加来自小马算力的模型。
6 |
7 | ## 注册小马算力
8 |
9 | 点击[链接](https://www.tokenpony.cn/453z1)注册小马算力账号,完成后点击右上角账户按钮,点击`API Keys`
10 |
11 | 
12 |
13 | 生成并复制 API Key。
14 |
15 | 
16 |
17 | ## 使用聊天模型
18 |
19 | 在小马算力顶部进入[`模型`](https://www.tokenpony.cn/#/model),即可查看可用的模型列表,并复制模型名称。
20 |
21 | 前往 LangBot 模型管理页,添加模型(选择小马算力提供商,填入模型名称和 API Key):
22 |
23 | 
24 |
25 | 现在即可在流水线中选择使用该模型。
--------------------------------------------------------------------------------
/docs/zh/tob/platform.md:
--------------------------------------------------------------------------------
1 | # 消息平台稳定性
2 |
3 | :::info 目录
4 | [[toc]]
5 | :::
6 |
7 | 主流的机器人都是使用`逆向工程`的方式,破解QQ的通信协议,实现程序控制的功能。这种方式具有一定的灰色性质,可能会被腾讯系统风控。
8 |
9 | 目前的案例来看,现有的逆向工程可以实现多个月的较稳定运行,服务宕机恢复不会超过24小时,有完善的社区支持,可以较好地应对商业用途。
10 |
11 | ## 降低被风控风险
12 |
13 | - 在配置文件中启用`强制消息延迟`、`请求限速功能`,使机器人回复用户消息的速度降低,减少被风控的风险。
14 |
15 | - 避免将机器人放到人员复杂的大群里使用。这个一般不会出问题,有过在3000人大群稳定运行近一年的案例。但若是群内人员频繁举报机器人账号,可能会被风控。
16 |
17 | - 使用境内主机或家用网络的电脑运行消息平台,尽量不使用境外主机。
18 |
19 | ## 机器人服务多开
20 |
21 | 如果机器人的业务与账号本身弱相关,可以考虑开启多个`消息平台`(例如使用两个账号登录两个Lagrange实例),在一个机器人被腾讯封号后,另一个机器人还可以继续服务。
22 |
23 | ## 使用 QQ 官方机器人 API
24 |
25 | 腾讯官方在23年下半年开放了Q群机器人API,LangBot 很好地支持这个 API,可以查看部署教程中的配置方式使用。
26 |
27 | 但 QQ 官方机器人API具有以下已知的局限性:
28 |
29 | - 需要企业资质才能申请
30 | - 仅支持群内使用,不支持私聊
31 | - 仅能接收到群内@机器人的消息,无法接收到群内其他消息
32 | - 主动发送消息每天限次
33 | - 腾讯对 AIGC 功能的机器人审核较严格
--------------------------------------------------------------------------------
/docs/en/deploy/update.md:
--------------------------------------------------------------------------------
1 | # Update LangBot
2 |
3 | ## Using Docker (or one-click deployment based on Docker)
4 |
5 | Please execute in the directory you cloned LangBot:
6 |
7 | ```bash
8 | git pull
9 | ```
10 |
11 | Please execute in the `docker/` directory:
12 |
13 | ```bash
14 | docker compose up --force-recreate --pull always -d
15 | ```
16 |
17 | This command will pull the latest LangBot image and rebuild the container.
18 |
19 | :::info
20 | 4.3.0 version changed the content and location of the `docker-compose.yaml` file, if you updated from a previous version, please [redploy according to the documentation](/en/deploy/langbot/docker).
21 | :::
22 |
23 | ## Manual Deployment
24 |
25 | Download the latest release's `langbot--all.zip` from the Assets section on the [Releases](https://github.com/langbot-app/LangBot/releases) page, extract it to the original deployment directory, and restart.
26 |
--------------------------------------------------------------------------------
/docs/zh/workshop/mcp-details.md:
--------------------------------------------------------------------------------
1 | # MCP 生态详解
2 |
3 | [MCP协议](https://modelcontextprotocol.io/) 是一种描述应用程序与 LLM 交互的协议,目前已经被多种产品采用。LangBot 可以作为 MCP Client 接入 MCP Server,大量扩展工具供 LLM 在与用户对话时使用。
4 |
5 | ## 寻找 MCP Server
6 |
7 | 要在 LangBot 使用 MCP 工具,需要找到已有的 MCP Server 并接入。
8 | 市面上有两种类型的 MCP Server:
9 |
10 | - 基于 node 或 python 实现的可执行文件,通过 `stdio`(标准输入输出)与 LangBot 通信
11 | - 基于 http 协议的 web 服务,通过 http 协议与 LangBot 通信
12 |
13 |
14 | :::info
15 |
16 | - 可以到 [MCP Server 列表](https://github.com/punkpeye/awesome-mcp-servers) 查看已有的 MCP Server。
17 | - 在线托管的 MCP Server 可以到 [Composio MCP](https://mcp.composio.dev/) 查找。
18 | - 自行编写 MCP Server 可以参考 [MCP 协议文档](https://modelcontextprotocol.io/quickstart/server) 和 [MCP Server 示例](https://modelcontextprotocol.io/examples)。
19 |
20 | :::
21 |
22 | ## 配置 MCP Server
23 |
24 | 查看 [系统设置文档](/zh/deploy/settings.html)
25 |
26 | 配置完成后即可在聊天中通过`!func`命令查看已经注册的 MCP 工具,在与支持 Function Calling 的模型对话时,LangBot 会自动调用 MCP 工具。
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/telegram.md:
--------------------------------------------------------------------------------
1 | # 接入 Telegram 机器人
2 |
3 | ## 创建机器人
4 |
5 | 前往 [Telegram 机器人创建页面](https://t.me/botfather),按照提示操作,创建一个机器人。
6 |
7 | 
8 |
9 | 
10 |
11 | 创建完成后,BotFather 会返回一个 API Token,请妥善保存。接下来关闭`Privacy Mode`,以便在群聊中使用。
12 |
13 | 
14 |
15 | ## 对接 LangBot
16 |
17 | 打开 LangBot Webui 页面,创建一个新机器人
18 |
19 | 
20 |
21 | 填写完成后启动 LangBot,若成功配置,日志中会出现`[02-02 16:48:15.263] manager.py (68) - [INFO] : 初始化平台适配器 1: telegram`的字样,保持 LangBot 运行。
22 |
23 | ## 使用机器人
24 |
25 | 现在在群里或者私聊机器人都可以正常使用了。
26 |
27 | 
28 |
29 | 
--------------------------------------------------------------------------------
/docs/zh/insight/guide.md:
--------------------------------------------------------------------------------
1 | # 欢迎访问 LangBot 文档
2 |
3 | LangBot 是一个开源的大语言模型(LLM)原生即时通信机器人平台,支持多种消息平台和模型供应商。提供对 Dify、阿里云百炼等 LLMOps 平台的支持。并提供 WebUI 供用户快速部署和使用。
4 |
5 | :::info
6 | 这是 LangBot 4.0 的文档,3.0 文档请[访问](https://v3.docs.langbot.app)。
7 | :::
8 |
9 | ## 文档结构
10 |
11 | 文档分为以下几个部分:
12 |
13 | - 部署和使用(必读):部署和使用 LangBot 的详细步骤
14 | - 插件:插件使用和开发相关信息
15 | - 实践:许多不错的 LangBot 使用案例
16 | - 开发:参与 LangBot 开发的相关信息
17 |
18 |
19 | ## 快速开始指南
20 |
21 | > 两种方式快速开始:
22 | >
23 | > - 使用社区资源的简化版教程(见左侧)
24 | > - 阅读文档自行部署(下述为快速开始的方法)
25 |
26 | ### 1. 部署 LangBot
27 |
28 | 阅读左侧 **部署 LangBot** 部分,选择部署 LangBot 的方式
29 |
30 | 部署完成后,打开`http://127.0.0.1:5300`或者`http://服务器公网IP:5300`
31 |
32 | 进行初始化,填入邮箱和密码并记录保存下来
33 |
34 | ### 2. 配置机器人
35 |
36 | 查看左侧的[配置机器人](/zh/deploy/platforms/readme)
37 |
38 | ### 3. 配置模型
39 |
40 | 查看左侧[配置对话模型](/zh/deploy/models/readme)
41 |
42 |
43 |
44 | 完成以上两步后即可使用,如果需要更多功能的配置,可在[流水线](/zh/deploy/pipelines/readme)中设置
45 |
--------------------------------------------------------------------------------
/docs/zh/plugin/dev/migration.md:
--------------------------------------------------------------------------------
1 | # 迁移指南
2 |
3 | 本教程高亮了某些注意事项,请各位插件开发者在已阅读现版本插件教程后,再以此文档作为参考进行插件迁移。
4 |
5 | ## 从 3.x 支持的异步插件迁移
6 |
7 | :::info
8 | 插件特征:
9 | - 主要时间段:2024.2 ~ 2025.8
10 | - 注册方式:`main.py` 中的插件类中使用 `@handler` 装饰器注册事件监听器、使用 `@llm_func` 装饰器注册内容函数(工具);处理函数均为异步函数(async def)
11 | :::
12 |
13 | - 插件和组件注册方式:已由以往的单一插件类中的装饰器注册方式,改为了清单文件注册方式,参阅[清单文件](/zh/plugin/dev/basic-info);并将各个不同类型的组件独立出来,详细请见[添加组件](/zh/plugin/dev/components/add)。
14 | - 消息链实体:现已重构,每个消息链元素的构造方法现在需要显式传入**具名参数**,参阅[消息平台实体](/zh/plugin/dev/apis/messages)。
15 | - 事件监听器:提供向后兼容性,但不再于上下文中提供`query: Query`对象,详细请参阅[流水线事件](/zh/plugin/dev/apis/pipeline-events)。
16 | - 命令组件:现已重构,请参阅[命令组件](/zh/plugin/dev/components/command)。
17 |
18 | ## 从 2.x 和 3.x 支持的同步插件迁移
19 |
20 | :::info
21 | 插件特征:
22 | - 主要时间段:2023.1 ~ 2024.2
23 | - 注册方式:`main.py` 中的插件类中使用 `@on` 装饰器注册事件监听器、使用 `@func` 装饰器注册内容函数(工具);处理函数均为同步函数(def)
24 | :::
25 |
26 | - 同步改异步:插件运行时现已改为全异步(基于asyncio),请将插件所有涉及 IO 操作的代码改为异步写法。
27 | - 详细内容请参阅上述 3.x 异步插件迁移指南。
--------------------------------------------------------------------------------
/docs/zh/deploy/pipelines/n8n.md:
--------------------------------------------------------------------------------
1 | # 在 LangBot 上使用 n8n
2 |
3 | [n8n](https://n8n.io/) 是一款开源的自动化工作流平台,可以创建、调度、执行各种自动化任务。
4 |
5 | LangBot 目前支持通过 n8n 工作流的 `Webhook` 节点,来触发工作流并获取回复。
6 |
7 | ## 选用 n8n 作为运行器
8 |
9 | 请打开已有的流水线配置页面,或新建流水线(推荐)并打开配置页面,到 `AI 能力`中选择 `n8n 工作流 API` 作为运行器。
10 |
11 | 
12 |
13 | 并根据下方内容设置并填写其他配置。
14 |
15 | ## 配置 n8n 工作流连接
16 |
17 | 
18 |
19 | 需要选择`Webhook`触发,并参考下图配置:
20 |
21 | 
22 |
23 | :::info
24 | Authentication 对应 LangBot 流水线配置中的几种鉴权方式,可自行更改。
25 |
26 | 
27 | :::
28 |
29 | n8n 的工作流响应内容请使用`Respond to Webhook`节点,并参考下图配置:
30 |
31 | 
32 |
33 | `Response Body`中的响应内容键名需要与 LangBot 流水线配置中的`输出键名`一致。
34 |
35 | 在完成 n8n 工作流的配置之后,请在其顶部点击`Active`以启用工作流。
--------------------------------------------------------------------------------
/docs/en/deploy/langbot/docker.md:
--------------------------------------------------------------------------------
1 | # Docker Deployment
2 |
3 | :::warning
4 | It is recommended that you first learn the following:
5 |
6 | - Usage of `Docker` and `Docker Compose`
7 | - Docker container network communication configuration methods
8 | :::
9 |
10 | :::info
11 | - Please ensure Git, Docker, and Docker Compose are installed
12 | :::
13 |
14 | Clone the project:
15 |
16 | ```bash
17 | git clone https://github.com/langbot-app/LangBot
18 | cd LangBot/docker
19 | ```
20 |
21 | Start the container:
22 |
23 | ```bash
24 | docker compose up
25 | ```
26 |
27 | The container maps port `5300` for WebUI access. You can visit `http://127.0.0.1:5300` to view the WebUI.
28 | It also maps ports `2280-2290` for reserved for message platform adapters.
29 |
30 | After completing the LangBot deployment, please continue reading:
31 |
32 | - [Bot Configuration Documentation](/en/deploy/platforms/readme).
33 | - [Model Configuration Documentation](/en/deploy/models/readme).
34 |
--------------------------------------------------------------------------------
/docs/zh/deploy/knowledge/readme.md:
--------------------------------------------------------------------------------
1 | # 使用知识库 (Knowledge Base)
2 |
3 | LangBot 原生支持 RAG(Retrieval-Augmented Generation,即检索增强生成),您可以创建知识库,并将其与流水线绑定,流水线将根据知识库中的内容回答问题。
4 |
5 | :::info
6 | - 知识库的创建和使用需要先配置嵌入模型,请先阅读[配置模型](/zh/deploy/models/readme)。
7 | :::
8 |
9 | ## 构建知识库
10 |
11 | 在知识库页面,点击`创建知识库`按钮,填写知识库名称,选择已配置好的嵌入模型,然后点击`创建`按钮。
12 | 之后请到知识库的“文档”页面,上传文档,LangBot 将会在后台开始解析和索引。
13 |
14 |
15 |
16 | ## 使用知识库
17 |
18 | 请到流水线配置中,“AI 能力”页,选择`内置 Agent`作为运行器,并在下方选择您刚刚创建的知识库。
19 |
20 |
21 |
22 |
23 |
24 | :::info
25 | 仅当运行器为`内置 Agent`时,才可以使用 LangBot 原生知识库,若要在使用其他运行器时使用知识库,请参考所使用的运行器对应产品的文档。
26 | :::
27 |
28 | 现在即可在`对话调试`或流水线所绑定的机器人上使用知识库进行对话:
29 |
30 |
--------------------------------------------------------------------------------
/docs/en/plugin/dev/apis/tech-details.md:
--------------------------------------------------------------------------------
1 | # Plugin Technical Details
2 |
3 | ## Architecture
4 |
5 |
6 |
7 | In version 4.0, we introduced a high-security, high-flexibility production-grade plugin system and provided developers with rich APIs and easy-to-use supporting tools.
8 |
9 | Plugin Runtime is used to manage plugin lifecycles and coordinate interactions between LangBot and plugins. It has two operating modes: `stdio` and `websocket`. When LangBot is started directly by users (not running in a container), it uses `stdio` mode, which is common for personal users or lightweight environments. When LangBot runs in a container, it uses `websocket` mode, designed specifically for production environments.
10 |
11 | Plugin Runtime automatically starts each installed plugin and interacts through stdio. In plugin development scenarios, developers can use the `lbp` command-line tool to start plugins and connect to the running Runtime via WebSocket for debugging.
--------------------------------------------------------------------------------
/docs/zh/deploy/models/readme.md:
--------------------------------------------------------------------------------
1 | # 配置模型 (Models)
2 |
3 | ## 对话模型 (LLM Model)
4 |
5 | 对话模型将被流水线用于处理消息,您配置的第一个模型将被设置为默认流水线的模型。
6 |
7 | 
8 |
9 | 可以添加多个模型,然后再流水线中选择具体使用什么模型
10 |
11 |
12 |
13 | 填入这四个参数`模型名称`、`模型供应商`、`请求 URL`、`API Key`,然后提交即可
14 |
15 | 模型能力方面,请根据具体模型特性来选择:
16 |
17 | - 视觉能力:需要启用才可以识图
18 |
19 | - 函数调用:需要启用才可以在对话中使用 Agent 工具
20 |
21 | :::info
22 |
23 | *如果你没有API Key,你可以[在此中转站获取](https://api.qhaigc.net/)*
24 |
25 | 如果需要使用第三方中转 API 等模型提供商
26 |
27 | 选择 `OpenAI`即可
28 |
29 | 请求 URL 填入中转的 Base URL 即可,例如
30 |
31 |
32 |
33 | :::
34 |
35 | ## 嵌入模型 (Embedding Model)
36 |
37 | 嵌入模型将被用于计算消息的向量,若您需要使用知识库,请配置此模型。
38 |
39 |
40 |
41 | 填入这四个参数`模型名称`、`模型供应商`、`请求 URL`、`API Key`,然后提交即可,之后请在知识库中配置使用此模型。
42 |
--------------------------------------------------------------------------------
/docs/zh/deploy/pipelines/langflow.md:
--------------------------------------------------------------------------------
1 | # 在 LangBot 上使用 Langflow
2 |
3 | Langflow 是一个开源的用于构建和部署基于 AI 的 Agent 和工作流的项目。其支持本地和云端部署,并提供 API 供其他应用接入。
4 |
5 | LangBot 目前支持使用 Langflow 作为运行器。
6 |
7 | ## 在 Langflow 上创建工作流
8 |
9 | 请根据 [Langflow 文档](https://langflow.com/docs/introduction) 部署 Langflow 实例。
10 |
11 | 以默认模板中的 Simple Agent 为例:
12 |
13 | 
14 |
15 | 您可根据需求修改工作流:
16 |
17 | 
18 |
19 | ## 配置 LangBot
20 |
21 | 打开 LangBot WebUI 页面,添加一个新的流水线或在已有流水线中切换到 AI 能力配置页面,选择`Langflow API` 作为运行器。
22 |
23 | 
24 |
25 | 根据提示填入`Base URL`(根据实际网络情况填写) `API Key` `Flow ID` 等信息,API Key 可在 Langflow 的 Settings 中获取:
26 |
27 | 
28 |
29 | Flow ID 可点击编辑页右上角的`Share` -> `API access` 并示例代码中获取:
30 |
31 | 
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/qq/aiocqhttp/napcat.md:
--------------------------------------------------------------------------------
1 | # 部署消息平台 NapCat
2 |
3 | 通过 OneBot 11 协议接入,需选择使用``OneBot v11``作为适配器。
4 |
5 | ## NapCat安装教程
6 |
7 | 按照 [NapCat 官方文档安装](https://napcat.napneko.icu/guide/start-install)
8 |
9 | ## NapCat配置教程
10 |
11 | 仅以 webui 操作为例,其他的配置方式请查看 NapCat 文档。
12 |
13 | 登录后,在控制台或Bash上可以查看日志 , 找到 `[NapCat] [WebUi] WebUi Publish Panel Url: http://x.x.x.x:6099/webui?token=xxxxx `
14 | 
15 |
16 | 复制Url到浏览器或者 Windows11 按照Ctrl点击Url即可 扫码登录后即可进入网络配置一页
17 |
18 | 点击添加网络配置 WebSocket客户端 点击启用 然后在Url一栏填入 `ws://127.0.0.1:2280/ws` 并保存即可
19 | 
20 |
21 | ## NapCat 对接
22 |
23 | 接下来打开 LangBot 配置页面
24 |
25 | 点击机器人,点击添加
26 |
27 | `平台/适配器选择`为`OneBot v11`
28 |
29 | 
30 |
31 | ::: info
32 | 注意,如果涉及多个 docker 容器的网络连接问题,请参考[网络配置详解](/zh/workshop/network-details)
33 | :::
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [LangBot](https://github.com/langbot-app/LangBot) 官方文档
2 |
3 | > 此仓库是 LangBot 的文档仓库,代码仓库:
4 | > [LangBot 代码仓库](https://github.com/langbot-app/LangBot)
5 | > 这是 LangBot 4.0 的文档,3.0 文档请见 `v3` 分支
6 |
7 | ## 参与编写
8 |
9 | 文档基于 VitePress 生成,本地编写需要安装 Node 和 VitePress
10 |
11 | Clone 本仓库,在目录下执行以下命令安装依赖:
12 |
13 | ```bash
14 | npm install
15 | ```
16 |
17 | 完成后即可修改文档,修改完后使用以下命令本地启动:
18 |
19 | ```bash
20 | npm run docs:dev
21 | ```
22 |
23 | ### 使用图片
24 |
25 | 把图片放到 `docs/assets/image` 目录下,然后在文档中使用Web访问时的绝对路径引用,如:
26 |
27 | ```markdown
28 | 
29 | ```
30 |
31 | ### 部署细节
32 |
33 | 现在使用 Cloudflare Pages 托管,提交后 [@RockChinQ](https://github.com/RockChinQ) 更新分支进行自动部署。
34 |
35 | ### 一些规范化标准
36 |
37 | - 文件夹和文件的命名:**一律使用全小写,单词直接`-`隔开,如**`plugin-intro.md`
38 | - 子文件(夹)的命名,**不加前缀**(即文件夹的名称),如:`deploy`文件夹下的,文件夹`langbot`,`langbot`文件夹下的`manual`文件称之为`manual.md`
39 | - 由于这是有关于文档的规范化命名,所以任何文件的名称都可以以教程的角度来理解,如`deploy`是有关部署的教程
40 | - 除了配置文件板块的文档,其他的页面都不要在顶部加目录
41 |
42 | ---
43 |
44 | **[English README](README_EN.md)**
45 |
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/readme.md:
--------------------------------------------------------------------------------
1 | # 配置机器人 (Bots)
2 |
3 | 机器人用于从消息平台接收消息事件并调用流水线处理消息。
4 |
5 | 
6 |
7 |
8 | | 平台 | 状态 | 备注 |教程 |
9 | | ------ | ---- | ---- | ---- |
10 | | OneBot v11 | ✅ | 使用普通的 QQ 号作为机器人,需要使用独立的协议端,支持 OneBot v11 | [NapCat](/zh/deploy/platforms/qq/aiocqhttp/napcat)
[Lagrange](/zh/deploy/platforms/qq/aiocqhttp/lagrange)
[LiteLoaderQQNT](/zh/deploy/platforms/qq/aiocqhttp/llonebot) |
11 | | QQ 官方机器人 | ✅ | 接入 QQ 开放平台的机器人 API | [教程](/zh/deploy/platforms/qq/official_webhook) |
12 | | 企业微信 | ✅ | 企业内部机器人 | [教程](/zh/deploy/platforms/wecom/wecom) |
13 | | 企业微信客服 | ✅ | 企业对外机器人 | [教程](/zh/deploy/platforms/wecom/wecomcs) |
14 | | 企业微信智能机器人 | ✅ | 智能机器人 | [教程](/zh/deploy/platforms/wecom/wecombot) |
15 | | 微信公众号 | ✅ | 微信公众平台机器人 | [教程](/zh/deploy/platforms/wxoa.md) |
16 | | 飞书 | ✅ | | [教程](/zh/deploy/platforms/lark) |
17 | | 钉钉 | ✅ | | [教程](/zh/deploy/platforms/dingtalk) |
18 | | Discord | ✅ | | [教程](/zh/deploy/platforms/discord) |
19 | | Telegram | ✅ | | [教程](/zh/deploy/platforms/telegram) |
20 | | Slack | ✅ | | [教程](/zh/deploy/platforms/slack) |
21 | | LINE | ✅ | | [教程](/zh/deploy/platforms/line) |
22 |
--------------------------------------------------------------------------------
/docs/zh/develop/dev-config.md:
--------------------------------------------------------------------------------
1 | # 开发配置
2 |
3 | LangBot 分为前端和后端,前端使用 Next.js + shadcn 开发,后端通过 Quart(Flask 的异步版本)开发。
4 |
5 | ## 后端
6 |
7 | 代码位于 `pkg` 目录下,由根目录的 `main.py` 文件引导启动。
8 |
9 | 安装依赖,我们使用 uv 管理依赖。
10 |
11 | ```bash
12 | pip install uv
13 | uv sync
14 | ```
15 |
16 | 启动后端
17 |
18 | ```bash
19 | uv run main.py
20 | ```
21 |
22 | 此时配置文件会自动生成到 `data/config.yaml` 文件中。
23 |
24 | ## 前端
25 |
26 | 代码位于 `web` 目录下,需要安装 Node.js,[pnpm](https://pnpm.io/zh/installation)。
27 |
28 | 复制 `.env.example` 到 `.env`。
29 |
30 | - linux环境使用
31 |
32 | ```bash
33 | cp .env.example .env
34 | ```
35 |
36 | - windows环境使用
37 |
38 | ```bash
39 | copy .env.example .env
40 | ```
41 |
42 | 安装依赖并启动前端
43 |
44 | ```bash
45 | pnpm install
46 | pnpm dev
47 |
48 | # 若未安装pnpm,也可以使用npm来解决依赖并启动
49 | npm install
50 | npm run dev
51 | ```
52 |
53 | 然后根据输出信息,访问`http://127.0.0.1:3000`查看独立启动的前端页面。
54 |
55 | :::info
56 | 本地使用`pnpm dev`启动时,会携带`.env`中的环境变量`NEXT_PUBLIC_API_BASE_URL`,该变量会自动被前端使用,以确保前端可以访问到本地启动的后端的`5300`端口。
57 |
58 | 生产环境中,前端会被预编译成静态文件,由后端提供服务,前端会自动访问同域的后端地址。
59 | :::
60 |
61 | ## API 文档
62 |
63 | 我们在开发每个接口之前都会先在 APIFox 中编写接口文档,请查看 [API 文档](https://ok52vhsenr.apifox.cn/)。
64 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/qq/aiocqhttp/llonebot.md:
--------------------------------------------------------------------------------
1 | # Deploy Message Platform LiteLoaderQQNT
2 |
3 | Connect through the OneBot 11 protocol, you need to select ``OneBot v11`` as the adapter.
4 |
5 | # LiteLoaderQQNT
6 |
7 | - [LiteLoaderQQNT's OneBot API plugin](https://github.com/LLOneBot/LLOneBot) injects into the QQ client and converts it to the OneBot 11 protocol
8 |
9 | Installation tutorial for LiteLoaderQQNT: https://llonebot.github.io/zh-CN/guide/getting-started
10 |
11 | 
12 |
13 | Make sure the IP address in the address is the address of the host running LangBot (if running on the same network, use 127.0.0.1)
14 |
15 | ## Lagrange Integration
16 |
17 | Next, open the LangBot configuration page
18 |
19 | Click on Bots, then click Add
20 |
21 | Select `OneBot v11` for `Platform/Adapter Selection`
22 |
23 | 
24 |
25 | ::: info
26 | Note, if you have network connection issues involving multiple docker containers, please refer to [Network Configuration Details](/en/workshop/network-details)
27 | :::
28 |
--------------------------------------------------------------------------------
/docs/en/deploy/models/readme.md:
--------------------------------------------------------------------------------
1 | # Configure Models (Models)
2 |
3 | Models will be used by pipelines to process messages. The first model you configure will be set as the model for the default pipeline.
4 |
5 | 
6 |
7 | You can add multiple models, and then select which model to use in the pipeline.
8 |
9 | 
10 |
11 | Enter these four parameters: `Model Name`, `Model Provider`, `Request URL`, and `API Key`, then submit.
12 |
13 | For model capabilities, please choose according to the specific model characteristics:
14 |
15 | - Visual Capability: Needs to be enabled to recognize images
16 |
17 | - Function Calling: Needs to be enabled to use Agent tools in conversations
18 |
19 | :::info
20 |
21 | *If you don't have an API Key, you can [get one from this relay station](https://api.qhaigc.net/)*
22 |
23 | If you need to use third-party API relays or other model providers,
24 |
25 | Select `OpenAI`
26 |
27 | Fill in the relay's Base URL for the Request URL, for example:
28 |
29 | 
30 |
31 | :::
32 |
--------------------------------------------------------------------------------
/docs/en/plugin/compatibility.md:
--------------------------------------------------------------------------------
1 | # System Compatibility
2 |
3 | LangBot's plugin system utilizes mechanisms such as `Asyncio` and `Subprocess`, which work well on Unix-like systems (such as Linux, macOS), but have some issues on Windows, preventing plugins from running properly.
4 |
5 | Python's asynchronous event loop on Windows defaults to using `ProactorEventLoop`, but this event loop lacks support for Stdio, while LangBot in non-Docker environments relies on Stdio to communicate with Plugin Runtime, and Plugin Runtime also depends on Stdio to communicate with plugins.
6 |
7 | If we switch to using `SelectorEventLoop`, it would prevent Plugin Runtime and plugins from starting properly, as `SelectorEventLoop` does not support `Subprocess`.
8 |
9 | For detailed information about these issues, please refer to: [Python Official Documentation](https://docs.python.org/3.13/library/asyncio-platforms.html)
10 |
11 | ## Proposed Solution
12 |
13 | In the future, we plan to support WebSocket as the default communication method between LangBot and Plugin Runtime, as well as between Plugin Runtime and plugins on Windows.
14 |
15 | For now, please deploy LangBot on Unix-like systems, or use Docker or WSL2 on Windows.
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/telegram.md:
--------------------------------------------------------------------------------
1 | # Connect to Telegram Bot
2 |
3 | ## Create Bot
4 |
5 | Go to the [Telegram Bot Creation Page](https://t.me/botfather), follow the prompts, and create a bot.
6 |
7 | 
8 |
9 | 
10 |
11 | After creation, BotFather will return an API Token, please keep it safe. Next, turn off `Privacy Mode` to use it in group chats.
12 |
13 | 
14 |
15 | ## Connect to LangBot
16 |
17 | Open the LangBot Webui page, create a new bot
18 |
19 | 
20 |
21 | After filling in, start LangBot. If configured successfully, the log will show `[02-02 16:48:15.263] manager.py (68) - [INFO] : Initializing platform adapter 1: telegram`, keep LangBot running.
22 |
23 | ## Use Bot
24 |
25 | Now you can use the bot normally in groups or private messages.
26 |
27 | 
28 |
29 | 
30 |
--------------------------------------------------------------------------------
/docs/zh/deploy/langbot/docker.md:
--------------------------------------------------------------------------------
1 | # Docker部署
2 |
3 | :::warning
4 | 建议您先学习以下内容:
5 |
6 | - `Docker` 和 `Docker Compose` 的使用
7 | - Docker 容器间网络通信配置方式
8 | :::
9 |
10 | :::info
11 | - 请先确保 Git、 Docker 和 Docker Compose 已安装
12 | - 推荐使用[阿里云,服务器价格低至 38 元一年,更可以享受8折优惠](https://www.aliyun.com/minisite/goods?userCode=ys4ad8gs)
13 | :::
14 |
15 | Git 克隆本项目:
16 |
17 | ```bash
18 | git clone https://github.com/langbot-app/LangBot
19 | cd LangBot/docker
20 | ```
21 |
22 | 启动容器:
23 |
24 | ```bash
25 | docker compose up
26 | ```
27 |
28 | :::info
29 | - 如果你的主机位于中国大陆,可以把上方命令的`https://github.com/langbot-app/LangBot`改为`https://gitcode.com/RockChinQ/LangBot`以使用国内镜像源。
30 | - 如果你的主机位于中国大陆,可以考虑把 `docker-compose.yaml` 文件中的镜像名称改为`docker.langbot.app/langbot-public/rockchin/langbot:latest`以使用我们提供的镜像源。
31 | - 推荐[设置 Docker 容器代理](https://yeasy.gitbook.io/docker_practice/advanced_network/http_https_proxy),以便保证 LangBot 在运行期间的网络访问通畅。
32 | :::
33 |
34 | 首次启动会输出创建配置文件的提示,请继续按照文件配置。
35 |
36 | 容器会映射`5300`端口供 WebUI 使用,您可以访问`http://127.0.0.1:5300`查看 WebUI。
37 | 还会映射`2280-2290`端口供使用 OneBot 协议的消息平台适配器反向连接。
38 |
39 | 完成 LangBot 部署后,请继续阅读:
40 |
41 | - [配置机器人文档](/zh/deploy/platforms/readme)。
42 | - [配置模型文档](/zh/deploy/models/readme)。
43 |
--------------------------------------------------------------------------------
/docs/zh/workshop/newapi-integration.md:
--------------------------------------------------------------------------------
1 | # LangBot 接入 New API
2 |
3 | New API 是新一代大模型网关与 AI 资产管理系统,旨在解决多 AI 服务商接入分散、成本难管控、服务稳定性不足等问题,核心优势集中在三点:
4 |
5 | 1. **多服务商兼容**:已整合 **30+ AI 服务商**,且实现 **100% OpenAI 兼容**(即支持按 OpenAI 接口格式调用其他服务商模型,降低开发成本);
6 | 2. **高可用性**:承诺 **99.9% 服务可用性**,满足企业级稳定需求;
7 | 3. **易用与可控**:支持 “一键部署” 快速接入,同时提供 “灵活计费” 功能,帮助用户管控 AI 使用成本,兼顾 “安全稳定” 特性。
8 |
9 | ## 一、本地部署 New API(Docker 容器方式)
10 |
11 | > 更多部署方式,参考 [New API 部署指南](https://docs.newapi.pro/installation/)
12 |
13 | 本部署方式使用 SQLite 数据库(轻量无需额外部署)
14 |
15 | 命令行中输入
16 |
17 | ```bash
18 | docker run --name new-api -d --restart always \
19 | -p 3000:3000 \
20 | -e TZ=Asia/Shanghai \
21 | -v ./new-api/data:/data \
22 | calciumion/new-api:latest
23 | ```
24 |
25 | > ⚠️ 注意:
26 | > - 把 `./new-api/data` 替换成你要使用的实际文件夹
27 |
28 | 部署完成后,打开`http://服务器IP:3000`进行配置 New API
29 |
30 | ## 二、LangBot 连接本地 New API
31 |
32 | 1. **添加 New API 模型**
33 | - 模型名称:输入 New API 中配置的模型名称
34 | - 模型供应商:选择 New API
35 | - 请求 URL:输入`http://服务器IP:3000/v1`
36 | - API Key:输入 New API 中创建的令牌
37 |
38 | 
39 |
40 | 2. **流水线选择使用刚才配置的模型**
41 |
42 | 
43 |
44 | 3. 接下来就可以使用 New API 中的模型了
--------------------------------------------------------------------------------
/docs/zh/plugin/plugin-intro.md:
--------------------------------------------------------------------------------
1 | # LangBot 插件
2 |
3 | LangBot 内部由多种组件组成,如大模型工具、命令、消息平台适配器、大模型请求器等。为了满足扩展性和灵活性的需求,我们实现了一套生产级的插件系统。
4 |
5 | 每个插件被运行在独立的进程中,由 Plugin Runtime 统一管理。
6 |
7 |
8 |
9 | :::warning
10 | 由于 Python Asyncio 的兼容性问题,目前无法正常在 Windows 原生环境中使用插件系统,请改为使用 Docker 或 WSL2部署:[系统兼容性](/zh/plugin/compatibility)
11 | :::
12 |
13 | ## 插件结构
14 |
15 | 插件根据具体功能可由以下组件构成:
16 |
17 | - 事件处理器:监听流水线执行期间的事件,对上下文或流水线进行修改。
18 | - 命令:由用户通过`!`(或其他已设置的前缀)开头的命令消息触发。
19 | - 工具:供 LangBot 内置的 Local Agent 在执行期间由 LLM 调用。
20 |
21 | 后续还将支持更多组件的插件化。
22 |
23 | ## 安装插件
24 |
25 | 目前支持上传插件包和从插件市场安装插件。
26 | 在 LangBot 的插件管理页面,点击右上角即可选择安装方式
27 |
28 |
29 |
30 | 选择他人分享的或从 Marketplace 下载的`.lbpkg`文件,即可安装插件。
31 |
32 | 或点击插件市场 Tab,选择插件后点击安装。
33 |
34 |
35 |
36 | ## 插件管理
37 |
38 | ### 插件配置项
39 |
40 | 某些插件可能会要求您填入特定的配置项(请参考插件 README 说明),请点击插件卡片进入插件详情页,按照提示获取并输入。
41 |
42 |
43 |
44 | ### 更新插件
45 |
46 | 仅支持更新从插件市场安装的插件。
47 |
48 |
49 |
50 | ## 插件市场
51 |
52 | 插件市场可以从 LangBot 内部的`插件管理`页面进入,也可以访问独立站点[LangBot 插件市场](https://space.langbot.app/market)。
53 |
--------------------------------------------------------------------------------
/docs/zh/plugin/dev/components/add.md:
--------------------------------------------------------------------------------
1 | # 添加组件
2 |
3 | 插件由一种或多种组件构成,为 LangBot 提供不同的功能。目前支持的组件类型有:
4 |
5 | - 事件监听器(EventListener):监听流水线执行期间的事件,对上下文或流水线进行修改。
6 | - 命令(Command):由用户通过`!`(或其他已设置的前缀)开头的命令消息触发。
7 | - 工具(Tool):供 LangBot 内置的 Local Agent 在执行期间由 LLM 调用。
8 |
9 | ## 添加组件
10 |
11 | 在插件目录下执行命令:
12 |
13 | ```bash
14 | lbp comp
15 | ```
16 |
17 | 例如,添加一个事件监听器:
18 |
19 | ```bash
20 | lbp comp EventListener
21 | ```
22 |
23 | 请根据提示输入组件的配置(若有)。
24 |
25 | ```bash
26 | ➜ HelloPlugin > lbp comp EventListener
27 | Generating component EventListener...
28 | Component EventListener generated successfully.
29 | 组件 EventListener 生成成功。
30 | ➜ HelloPlugin >
31 | ```
32 |
33 | :::info
34 | CLI 将在插件目录下生成一个 `components` 目录,并在其中创建组件对应目录
35 |
36 | ```
37 | .
38 | ├── assets
39 | │ └── icon.svg
40 | ├── components
41 | │ ├── __init__.py
42 | │ └── event_listener
43 | │ ├── __init__.py
44 | │ ├── default.py
45 | │ └── default.yaml
46 | ├── main.py
47 | ├── manifest.yaml
48 | ├── README.md
49 | └── requirements.txt
50 | ```
51 |
52 | 同时,会在插件的`manifest.yaml`中添加组件发现配置:
53 |
54 | ```yaml
55 | ...
56 | components:
57 | EventListener:
58 | fromDirs:
59 | - path: components/event_listener/
60 | ...
61 | ```
62 | 如需删除组件,可自行删除对应信息。
63 | :::
64 |
65 |
66 | ## 组件类型
67 |
68 | 各个组件的详细使用方式请参考:
69 |
70 | - [EventListener](./event-listener.md)
71 | - [Command](./command.md)
72 | - [Tool](./tool.md)
--------------------------------------------------------------------------------
/docs/zh/deploy/langbot/one-click/1panel.md:
--------------------------------------------------------------------------------
1 | # 1Panel部署
2 |
3 | 使用[1Panel](https://www.bt.cn/new/download.html?r=dk_LangBot)一键部署 LangBot。
4 |
5 | :::warning
6 |
7 | 除非您打算使用 Discord、飞书等无需额外容器的消息平台,或您熟悉1Panel上 Docker 容器间的网络连接,否则不建议使用1Panel一键部署,请考虑使用[Docker部署](/zh/deploy/langbot/docker)。
8 |
9 | :::
10 |
11 |
12 |
13 | :::info
14 | 使用[阿里云,服务器价格低至 38 元一年,更可以享受8折优惠](https://www.aliyun.com/minisite/goods?userCode=ys4ad8gs),一键安装1Panel更方便
15 | :::
16 |
17 | ## 安装1Panel
18 |
19 | > 服务器系统推荐(来自1Panel):Debian 12,Ubuntu 22等
20 | >
21 | > 本文默认所述的是拥有公网IPv4地址的服务器,如果是家用机器没有公网 IP,可以通过下文中的内网来访问相关页面
22 |
23 | 打开[1Panel](https://www.bt.cn/new/download.html?r=dk_LangBot),使用1Panel官方提供的Linux面板安装脚本,根据自己使用的系统选择对应的脚本
24 |
25 | 
26 |
27 | 复制对应脚本,粘贴到服务器执行。
28 |
29 | 等待一段时间后,1Panel安装完成
30 |
31 | 然后将`外部地址`复制到浏览器打开。
32 |
33 | ## 安装LangBot
34 |
35 | 打开`应用商店`,选择`AI`类别,点击安装 LangBot
36 |
37 | 
38 |
39 | 勾选`端口外部访问`,点击确认即可
40 |
41 | 
42 |
43 | 稍等片刻,安装完成
44 |
45 | 点击左侧`容器`,选择`容器`类目,即可看到 LangBot 容器栏
46 |
47 | 
48 |
49 | 复制服务器公网地址,例如`http://xxx.xxx.xxx.xxx:5300`(xxx.xxx.xxx.xxx为1Panel 明白所在服务器的 IP,5300为端口号)
50 |
51 | 打开后输入管理员邮箱和密码,然后点击初始化。
52 |
53 | 然后就可以在可视化界面进行配置了。
54 |
55 | 接下来请继续阅读[部署消息平台](/zh/deploy/platforms/readme)页。
56 |
--------------------------------------------------------------------------------
/docs/en/workshop/mcp-details.md:
--------------------------------------------------------------------------------
1 | # MCP Ecosystem Details
2 |
3 | The [MCP Protocol](https://modelcontextprotocol.io/) is a protocol that describes the interaction between applications and LLMs, and has been adopted by various products. LangBot can act as an MCP Client to connect to MCP Servers, providing extensive tools for LLMs to use during conversations with users.
4 |
5 | ## Finding MCP Servers
6 |
7 | To use MCP tools in LangBot, you need to find and connect to existing MCP Servers.
8 | There are two types of MCP Servers in the market:
9 |
10 | - Executable files implemented in Node or Python, communicating with LangBot through `stdio` (standard input/output)
11 | - Web services based on HTTP protocol, communicating with LangBot through HTTP protocol
12 |
13 | :::info
14 |
15 | - You can check existing MCP Servers in the [MCP Server List](https://github.com/punkpeye/awesome-mcp-servers).
16 | - For online hosted MCP Servers, you can find them at [Composio MCP](https://mcp.composio.dev/).
17 | - To write your own MCP Server, you can refer to the [MCP Protocol Documentation](https://modelcontextprotocol.io/quickstart/server) and [MCP Server Examples](https://modelcontextprotocol.io/examples).
18 |
19 | :::
20 |
21 | ## Configuring MCP Server
22 |
23 | Please refer to the [System Settings Documentation](/zh/deploy/settings.html)
24 |
25 | After configuration, you can use the `!func` command in chat to view registered MCP tools. When chatting with models that support Function Calling, LangBot will automatically call MCP tools.
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/discord.md:
--------------------------------------------------------------------------------
1 | # 接入 Discord 机器人
2 |
3 | ## 创建机器人
4 |
5 | 前往[Discord 开发者门户](https://discord.com/developers/applications),登录后,创建应用。
6 |
7 | 
8 |
9 | 修改基础信息,点击`Save Changes`保存。
10 |
11 | 
12 |
13 | 点击左侧`Bot`,点击`Reset Token`,复制生成的 Token。
14 |
15 | 
16 |
17 | 并在此页面的`Privileged Gateway Intents`中勾选所有选项,点击`Save Changes`保存。
18 |
19 | 
20 |
21 | **最后,点击左侧`OAuth2`,复制页面上的`Client ID`。**
22 |
23 | ## 对接 LangBot
24 |
25 | 点击添加一个新的机器人,将上一步获取的`Client ID`和`Token`填写到配置中。
26 |
27 | 
28 |
29 | :::warning
30 |
31 | 如果你在中国大陆境内使用此适配器,可能需要设置网络代理。
32 |
33 | :::
34 |
35 | 填写完成后启动 LangBot,若成功配置,日志中会出现`[02-02 16:48:15.263] manager.py (68) - [INFO] : 初始化平台适配器 1: discord`的字样,保持 LangBot 运行。
36 |
37 | ## 邀请机器人到服务器
38 |
39 | 你需要先创建一个服务器,然后邀请机器人到服务器。
40 |
41 | 前往`OAuth2`页面,选择`URL Generator`,选择`bot`,按照图中所示勾选权限。
42 |
43 | 
44 |
45 | 
46 |
47 | 点击`Copy`,将生成的 URL 粘贴到浏览器中打开,邀请机器人到你的服务器。
48 |
49 | 
50 |
51 | ## 使用机器人
52 |
53 | 现在在群里或者私聊机器人都可以正常使用了。
54 |
55 | 
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/readme.md:
--------------------------------------------------------------------------------
1 | # Configure Bots (Bots)
2 |
3 | Bots are used to receive message events from messaging platforms and call pipelines to process messages.
4 |
5 | 
6 |
7 |
8 | | Platform | Status | Notes | Tutorial |
9 | | ------ | ---- | ---- | ---- |
10 | | Discord | ✅ | | [Tutorial](/en/deploy/platforms/discord) |
11 | | Telegram | ✅ | | [Tutorial](/en/deploy/platforms/telegram) |
12 | | Slack | ✅ | | [Tutorial](/en/deploy/platforms/slack) |
13 | | LINE | ✅ | | [Tutorial](/en/deploy/platforms/line) |
14 | | Lark | ✅ | | [Tutorial](/en/deploy/platforms/lark) |
15 | | DingTalk | ✅ | | [Tutorial](/en/deploy/platforms/dingtalk) |
16 | | WeCom (Enterprise WeChat) | ✅ | Enterprise internal bot | [Tutorial](/en/deploy/platforms/wecom/wecom) |
17 | | WeCom Intelligent Bot | ✅ | wecom intelligent bot | [Tutorial](/en/deploy/platforms/wecom/wecombot) |
18 | | WeCom Customer Service | ✅ | Enterprise external bot | [Tutorial](/en/deploy/platforms/wecom/wecomcs) |
19 | | WeChat Official Account | ✅ | WeChat public platform bot | [Tutorial](/en/deploy/platforms/wxoa) |
20 | | OneBot v11 | ✅ | Uses a personal QQ account as a bot, requires an independent protocol client, supports OneBot v11 | [NapCat](/en/deploy/platforms/qq/aiocqhttp/napcat)
[Lagrange](/en/deploy/platforms/qq/aiocqhttp/lagrange)
[LiteLoaderQQNT](/en/deploy/platforms/qq/aiocqhttp/llonebot) |
21 | | QQ Official Bot | ✅ | Connects to the QQ Open Platform bot API | [Tutorial](/en/deploy/platforms/qq/official_webhook) |
22 |
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/wecom/wecombot.md:
--------------------------------------------------------------------------------
1 | # 部署企业微信智能机器人
2 |
3 | :::info
4 | 企业微信智能机器人官方接口目前仍在快速迭代中,暂时只能接受7s之内的请求。
5 | :::
6 |
7 | ## 创建机器人
8 |
9 | 首先登录[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#/)。
10 |
11 | 
12 |
13 | 点击左边栏的`安全与管理`,点击`管理工具`里面的`智能机器人`。
14 |
15 | 如图:
16 |
17 | 
18 |
19 | 点击`创建机器人`,拉至页面最底部,点击`API模式创建`,进入页面:
20 |
21 | 
22 |
23 | 点击随机获取 Token 和 EncodingAESKey,然后填写上方的机器人基本信息,**注意设置可见范围**。
24 |
25 | 点击左边栏的`我的企业`,保存最下方的企业ID。
26 |
27 | ## 配置回调地址
28 |
29 | 启动 LangBot 主程序,适配器选择 `企业微信智能机器人`,填写配置项,
30 | 其中,令牌为 Token,消息加解密密钥为 EncodingAESKey,机器人ID填写入xxx(或者随便填写,后续会改),填写之后点击
31 | `保存`,并`启用`机器人。
32 |
33 | 
34 |
35 | 返回企业微信机器人配置页面,在`URL回调`中填写入机器人回调地址(接受http),例:**http://xxx.xxx.xx.xx:2291/callback/command** 。若创建成功,则会跳转至详情页面,若出现`请求URL失败`字样,请再三检查上述操作是否一一完成。
36 |
37 | 创建成功之后的详情页:
38 | 
39 |
40 | 复制企业微信机器人详情页的`Bot ID`,回到LangBot管理页面,将部署的智能机器人的机器人Id改为复制的ID,重新启动机器人。
41 |
42 | ## 开始使用
43 |
44 | 进入企业微信,点击 `➕`,如图:
45 |
46 | 
47 |
48 | 点击`企业创建的`,选择创建的机器人,进入聊天界面。
49 |
50 | 同理,若想邀请机器人进入群聊,那么点击群聊的添加人员,在其中添加机器人。
51 |
52 | ## 效果图
53 |
54 | 
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/docs/en/deploy/knowledge/readme.md:
--------------------------------------------------------------------------------
1 | # Using Knowledge Base
2 |
3 | LangBot natively supports RAG (Retrieval-Augmented Generation), you can create a knowledge base and bind it to a pipeline, and the pipeline will answer questions based on the content in the knowledge base.
4 |
5 | :::info
6 | - You need to configure the embedding model before creating a knowledge base, please read [Configure Models](/en/deploy/models/readme).
7 | :::
8 |
9 | ## Build Knowledge Base
10 |
11 | In the knowledge base page, click the `Create Knowledge Base` button, fill in the knowledge base name, select the configured embedding model, and click the `Create` button.
12 |
13 |
14 |
15 | ## Use Knowledge Base
16 |
17 | Please go to the pipeline configuration, in the "AI" page, select `Local Agent` as the runner, and select the knowledge base you just created below.
18 |
19 |
20 |
21 |
22 |
23 | :::info
24 | Only when the runner is `Local Agent`, can you use the LangBot native knowledge base, if you want to use the knowledge base with other runners, please refer to the documentation of the corresponding product.
25 | :::
26 |
27 | Now you can use the knowledge base to chat in the `Chat Debug` or the robot bound to the pipeline:
28 |
29 |
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/slack.md:
--------------------------------------------------------------------------------
1 | # 接入 Slack 机器人
2 |
3 | ## 创建机器人
4 |
5 | 前往 [Slack的App平台](https://api.slack.com/apps)。
6 |
7 | 
8 |
9 | 点击右上角的 `Create New App` ,选择从 `from a manifest` , 选择要部署机器人的工作区,选择下一步,
10 | 选择创建机器人。
11 |
12 | 进入左侧 `Basic Information` 选项,记录 `signing_secret`。
13 |
14 | 进入左侧 `OAuth & Permissions` ,往下拉到 `Scopes`,添加如下机器人权限:
15 |
16 | 
17 |
18 |
19 | 
20 |
21 | 添加上述权限之后,点击 `Install to your workspace`,记录下开头为 `xoxb-xxxxx`的token。
22 |
23 | **注:**
24 | **若没有一次性添加成功权限,后续则需要重新安装App。**
25 |
26 | 进入左侧 `App Home` 栏,滑到最下面有 `Message Tab`,打开并且勾选
27 | `Allow users to send Slash commands and messages from the messages tab`。
28 |
29 | ## 对接 LangBot
30 |
31 | 进入左侧 `Event Subscriptions` ,打开开关,点击 `Subscribe to bot events`,
32 | 将如下权限添加进去:
33 | 
34 |
35 | 上述操作都完成之后,打开 LangBot Webui 配置页面,添加一个新的机器人
36 |
37 | 
38 |
39 | ## 启动机器人
40 |
41 | Slack 配置项在填写完成后,**启动 LangBot**。
42 | 然后在刚才Event Subscriptions的 `Request URL`中,填写入你的 LangBot 的部署地址。
43 |
44 | ::: info
45 | 由于 Slack 官方要求使用 https,可以参考[QQ官方机器人部署流程中的Caddy配置部分](/zh/deploy/platforms/qq/official_webhook.md#操作caddy流程),注意端口使用 Slack 适配器配置的端口。
46 |
47 | :::
48 |
49 | 上述配置项都填写完成后,点击保存链接,若标识为绿色的**Verified**,那么就说明部署成功。
50 | 否则查看上述配置项是否填写正确。
51 |
52 | ## 效果图
53 |
54 | 
55 |
56 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/wecom/wecomcs.md:
--------------------------------------------------------------------------------
1 | # Deploy WeCom Customer Service
2 |
3 | :::info
4 |
5 | This article details the process of deploying LangBot to a WeCom customer service account, which allows conversations between the customer service account and regular WeChat. If you only need to use it within WeCom, please refer to [WeCom Internal Application Implementation](wecom.md).
6 |
7 | **Deploying a WeCom customer service account requires enterprise qualifications**. Please check the [WeCom Customer Service Integration Guide](https://developer.work.weixin.qq.com/document/path/94638) and provide the corresponding enterprise qualification certificates according to this document.
8 |
9 | :::
10 |
11 | ## Effect Demonstration
12 |
13 | 
14 |
15 | ## Connect to LangBot
16 |
17 | 
18 |
19 | The subsequent configuration method and configuration items are the same as [WeCom Internal Application](wecom.md), except that `contacts_secret` is not required.
20 |
21 | ## Notes
22 |
23 | 1. Be sure to follow the steps in the official WeCom documentation above and add the customer service account to `API Management`.
24 | 2. The steps are the same as for WeCom internal applications, don't miss anything. You also need to save the callback address, because essentially it's just adding other permissions to the WeCom internal application.
25 | 3. LangBot will not read sensitive information such as chat records and enterprise qualification content.
26 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/qq/aiocqhttp/napcat.md:
--------------------------------------------------------------------------------
1 | # Deploy Message Platform NapCat
2 |
3 | Connect through the OneBot 11 protocol, you need to select ``OneBot v11`` as the adapter.
4 |
5 | ## NapCat Installation Tutorial
6 |
7 | Follow the [NapCat official documentation for installation](https://napcat.napneko.icu/guide/start-install)
8 |
9 | ## NapCat Configuration Tutorial
10 |
11 | Only using webui operation as an example, for other configuration methods, please check the NapCat documentation.
12 |
13 | After logging in, you can check the logs in the console or Bash, find `[NapCat] [WebUi] WebUi Publish Panel Url: http://x.x.x.x:6099/webui?token=xxxxx `
14 | 
15 |
16 | Copy the Url to your browser or on Windows 11, press Ctrl and click the Url. After scanning the QR code to log in, you will enter the network configuration page.
17 |
18 | Click Add Network Configuration, select WebSocket Client, click Enable, then fill in `ws://127.0.0.1:2280/ws` in the Url field and save.
19 | 
20 |
21 | ## NapCat Integration
22 |
23 | Next, open the LangBot configuration page
24 |
25 | Click on Bots, then click Add
26 |
27 | Select `OneBot v11` for `Platform/Adapter Selection`
28 |
29 | 
30 |
31 | ::: info
32 | Note, if you have network connection issues involving multiple docker containers, please refer to [Network Configuration Details](/en/workshop/network-details)
33 | :::
34 |
--------------------------------------------------------------------------------
/docs/zh/workshop/impl-platform-adapter.md:
--------------------------------------------------------------------------------
1 | # 实现一个消息平台适配器
2 |
3 | 本文章将以`aiocqhttp`适配器为例,讲解如何为 LangBot 实现一个新的消息平台适配器,以便接入 WhatsApp、Discord 等新的消息平台协议。
4 |
5 | ## 注册
6 |
7 | ```text
8 | 新增一个消息平台适配器,例如:接入 WhatsApp、Discord 等。
9 |
10 | - 基类:`pkg.platform.adapter.MessageSourceAdapter`
11 | - 装饰器:`pkg.platform.adapter.adapter_class(name: str)`
12 | - 参考实现:`pkg.platform.sources/`
13 | ```
14 |
15 | 我们实现一个消息平台适配器,本质上就是实现一个继承于`基类`的类,并使用`装饰器`进行注册。最后在运行阶段供用户选择并使用。
16 |
17 | ### 贡献到主仓库
18 |
19 | 在 `pkg/platform/sources/` 目录下新建一个 `aiocqhttp.py` 文件:
20 |
21 | ```python
22 | from .. import adapter
23 |
24 | @adapter.adapter_class("aiocqhttp")
25 | class AiocqhttpAdapter(adapter.MessageSourceAdapter):
26 | pass
27 | ```
28 |
29 | 同时在 `pkg/platform/manager.py` 的第40行导入此模块:
30 |
31 | ```python
32 | from .sources import nakuru, aiocqhttp, qqbotpy
33 | ```
34 |
35 | 最后参考其他适配器的清单文件,编写自己的清单文件。
36 |
37 | ## 事件、消息转换器
38 |
39 | 消息平台适配器,主要的工作就是`接收消息平台协议的事件,将其转换成LangBot的格式`,传递给核心组件,LangBot 核心组件处理完后,将需要回复的内容传递给消息平台适配器,消息平台适配器再`将内容转换成平台协议的格式,发送给消息平台`。
40 |
41 | 下图展示了两种情况的处理模式:消息平台协议无 SDK、有成熟 SDK。第一种情况我们需要根据消息平台协议的文档,自行实现连接管理、网络格式数据转换成 LB 消息 Python 对象。第二种情况,消息平台有成熟的 SDK,我们只需要根据 SDK 的文档,调用 SDK 的 API 创建连接,注册事件监听器,并实现消息转换器。
42 |
43 | 
44 |
45 | 在`pkg.platform.sources.aiocqhttp`文件里,我们可以看到不只有`AiocqhttpAdapter`,还有`class AiocqhttpMessageConverter(adapter.MessageConverter):` 和 `class AiocqhttpEventConverter(adapter.EventConverter):`。
46 |
47 | - `MessageConverter` 用于进行 LangBot 消息和平台消息的互相转换。
48 | - `EventConverter` 用于进行 LangBot 事件和平台事件的互相转换。
49 |
50 | TBC...
--------------------------------------------------------------------------------
/docs/en/deploy/pipelines/langflow.md:
--------------------------------------------------------------------------------
1 | # Using Langflow with LangBot
2 |
3 | [Langflow](https://langflow.com/) is an open-source project for building and deploying AI-based Agents and Workflows. It supports local and cloud deployment, and provides APIs for other applications to integrate.
4 |
5 | LangBot currently supports using Langflow as the runner.
6 |
7 | ## Creating a Workflow in Langflow
8 |
9 | Please follow the [Langflow documentation](https://langflow.com/docs/introduction) to deploy Langflow instance.
10 |
11 | As an example of the default template's Simple Agent:
12 |
13 | 
14 |
15 | You can modify the workflow according to your needs:
16 |
17 | 
18 |
19 | ## Configuring LangBot
20 |
21 | Open the LangBot WebUI page, add a new pipeline or switch to the AI capability configuration page in an existing pipeline, and select `Langflow API` as the runner.
22 |
23 | 
24 |
25 | Fill in the other settings according to the prompts, including `Base URL` (fill in according to actual network conditions), `API Key`, `Flow ID`, etc. The API Key can be obtained from Langflow's Settings:
26 |
27 | 
28 |
29 | Flow ID can be obtained by clicking the `Share` -> `API access` button in the top right corner of the edit page and obtaining it from the example code:
30 |
31 | 
--------------------------------------------------------------------------------
/docs/zh/deploy/pipelines/dify.md:
--------------------------------------------------------------------------------
1 | # 在 LangBot 上使用 Dify
2 |
3 | [Dify](https://dify.ai) 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
4 | Dify 可以创建聊天助手(含Chatflow)、Agent、文本生成应用、工作流等应用。
5 |
6 | LangBot 目前支持`聊天助手`(含Chatflow)、`Agent`、`工作流`三种 Dify 应用类型。
7 |
8 | ## 在 Dify 上创建应用
9 |
10 | 请根据 [Dify文档](https://docs.dify.ai) 部署dify并创建你的应用。
11 |
12 | 发布应用后,在应用的 `访问API` 页面,生成 API 密钥。
13 |
14 | 
15 |
16 | 保存 API 服务器和 API 密钥,在 LangBot 的流水线的`AI 能力`配置。
17 |
18 | :::info
19 | 以上为 Dify 云服务版本的示例,若您使用本地自部署的社区版本,请使用 LangBot 访问你自己 Dify 服务的地址作为 `base-url`,后方需要添加 `/v1` 作为路径。
20 |
21 | - 若 LangBot 与 Dify 部署在同一台主机,并且都是使用 Docker 部署的,可以参考文章:[网络配置详解](/zh/workshop/network-details.html#langbot-%E5%92%8C%E6%B6%88%E6%81%AF%E5%B9%B3%E5%8F%B0%E5%9D%87%E8%BF%90%E8%A1%8C%E5%9C%A8-docker-%E5%AE%B9%E5%99%A8%E4%B8%AD)。其中,请将启动 Dify 的 docker-compose.yaml 中所有容器的`networks`均添加`langbot-network`,并为`nginx`容器添加容器名`dify-nginx`,最后在 LangBot 配置中将`base-url`设置为`http://dify-nginx/v1`。
22 | - 其他情况请咨询贵司运维人员。
23 | :::
24 |
25 | ## 配置 LangBot
26 |
27 | 打开 LangBot WebUI 页面,添加一个新的流水线或在已有流水线中切换到 AI 能力配置页面。
28 |
29 | 
30 |
31 | ::: info
32 | ### 工作流输出键
33 |
34 | 如果使用的是 Dify 的工作流应用,那么请使用 `summary` 作为键传递输出内容。
35 |
36 | 
37 |
38 | ## 输出处理
39 |
40 | 使用 工作流 应用或 Agent 应用时,如果开启了 LangBot 流水线`输出处理`中的`track-function-calls`,将会在 Dify 执行每个工具调用时,输出一个`调用函数xxx`的消息给用户。
41 | 但如果是使用`chat`应用下的`ChatFlow`(聊天助手->工作流编排),无论如何只会输出 Answer(直接回复)节点返回的文本。
42 | :::
--------------------------------------------------------------------------------
/docs/zh/deploy/langbot/one-click/bt.md:
--------------------------------------------------------------------------------
1 | # 宝塔面板部署
2 |
3 | 使用[宝塔面板](https://www.bt.cn/new/download.html?r=dk_LangBot)一键部署 LangBot。
4 |
5 | :::warning
6 | - 除非您打算使用 Discord、飞书等无需额外容器的消息平台,或您熟悉宝塔面板上 Docker 容器间的网络连接,否则不建议使用宝塔面板一键部署,请考虑使用[Docker部署](/zh/deploy/langbot/docker)。
7 | - 如果你已经安装了宝塔,请更新到 **9.2.0** 及以上
8 | :::
9 |
10 |
11 | :::info
12 | 使用[阿里云,服务器价格低至 38 元一年,更可以享受8折优惠](https://www.aliyun.com/minisite/goods?userCode=ys4ad8gs),一键安装宝塔更方便
13 | :::
14 |
15 | ## 安装宝塔
16 |
17 | > 服务器系统推荐(来自宝塔):Debian 12,Ubuntu 22等
18 | >
19 | > 本文默认所述的是拥有公网IPv4地址的服务器,如果是家用机器没有公网 IP,可以通过下文中的内网来访问相关页面
20 |
21 | 打开[宝塔面板](https://www.bt.cn/new/download.html?r=dk_LangBot),使用宝塔官方提供的Linux面板安装脚本,根据自己使用的系统选择对应的脚本
22 |
23 | 
24 |
25 | 复制对应脚本,粘贴到服务器执行。
26 |
27 | ## 安装LangBot
28 |
29 | 等待一段时间后,宝塔安装完成
30 |
31 | 可以看到提示信息中类似这样的一段,将外网面板地址复制到浏览器打开。
32 |
33 | 
34 |
35 | 首次打开应该会弹出`推荐安装套件`,无需安装,关闭跳过即可。
36 |
37 | 然后点击侧边栏的`docker`,首次会提示安装Docker和Docker Compose服务,点击立即安装,若已安装请忽略。
38 |
39 | 然后在`Docker -> 应用商店`,搜索`LangBot`(注意大小写),点击`安装`,使用默认配置。
40 |
41 | 稍等一段时间,可以看到提示名为`langbot_XXXX`的容器显示`运行中`
42 |
43 | 
44 |
45 | 点击上图中红色圆圈查看运行日志
46 |
47 | 
48 |
49 | 可以看到WebUI的配置页面(可视化配置页面)的外网和内网访问路径,复制公网地址,例如`http://xxx.xxx.xxx.xxx:5300`(xxx.xxx.xxx.xxx为宝塔面板IP,5300为端口号,可能变化,具体如图)
50 |
51 | 打开后输入管理员邮箱和密码,然后点击初始化。
52 |
53 | 然后就可以在可视化界面进行配置了。
54 |
55 | 接下来请继续阅读[部署消息平台](/zh/deploy/platforms/readme)页。
56 |
--------------------------------------------------------------------------------
/docs/en/deploy/pipelines/n8n.md:
--------------------------------------------------------------------------------
1 | # Using n8n with LangBot
2 |
3 | [n8n](https://n8n.io/) is an open-source workflow automation platform that allows you to create, schedule, and execute various automated tasks.
4 |
5 | LangBot currently supports triggering workflows and receiving responses through the `Webhook` node in n8n workflows.
6 |
7 | ## Using n8n as the runner
8 |
9 | Please open the configuration page of an existing pipeline or create a new pipeline (recommended) and open the configuration page. Select `n8n Workflow API` as the runner in `AI`.
10 |
11 | 
12 |
13 | Then configure and fill in the other settings according to the content below.
14 |
15 | ## Configuring n8n Workflow Connection
16 |
17 | 
18 |
19 | You need to select `Webhook` as the trigger and configure it according to the image below:
20 |
21 | 
22 |
23 | :::info
24 | Authentication corresponds to the authentication methods in LangBot's pipeline configuration, which you can modify as needed.
25 |
26 | 
27 | :::
28 |
29 | For the workflow response content in n8n, please use the `Respond to Webhook` node and configure it according to the image below:
30 |
31 | 
32 |
33 | The response content key name in `Response Body` needs to match the `output key name` in LangBot's pipeline configuration.
34 |
35 | After completing the n8n workflow configuration, please click `Active` at the top to enable the workflow.
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/wxoa.md:
--------------------------------------------------------------------------------
1 | # 部署微信公众号机器人
2 |
3 | 部署微信公众号机器人接入 LangBot 。
4 |
5 | ## LangBot 微信公众号接入模式
6 |
7 | 目前,LangBot 提供两种方式接入微信公众号:
8 |
9 | 1. **传统收发消息模式**
10 | - 公众号要求请求必须在 **15 秒内** 处理完成,超时的 AI 生成内容将无法发送。
11 | - 当 AI 生成内容超时发生后,LangBot 会在控制台打印请求超时信息。
12 |
13 | 2. **“发送任意文字回复消息”模式**
14 | - 该方法可突破 **15 秒** 限制,但 **过长的文本** 可能无法成功发送。
15 | - 使用此方法时,给公众号发消息,公众号会回复“AI正在思考中,请发送任意内容获取回答”,此时,需要发送任意内容获取回答。
16 |
17 | 如需更复杂的功能,请联系 **LangBot 团队** 进行定制化支持。
18 |
19 | ## 创建机器人
20 |
21 | 进入[微信公众平台](https://mp.weixin.qq.com/),如果已经有公众号账号,那么直接扫码登录,进入控制台。
22 | 如果之前没有注册过公众号,那么点击立即注册,选择 `公众号`,依次填写信息,进入控制台。控制台是这样的:
23 | 
24 |
25 |
26 | ## 设置回调地址
27 |
28 | ### 获取配置项
29 |
30 | 点击`设置与开发`,`开发接口管理`,出现这样的页面:
31 | 
32 |
33 | 记录下来`开发者ID(AppID)`,`开发者密码(AppSecret)`,并将部署 LangBot 的服务器添加入`IP白名单`。
34 |
35 | ### 设置反向代理
36 |
37 | 由于微信公众号的只支持http(80端口),https(443端口),所以本文假设80端口已被占用,使用443端口反向代理至 LangBot 。
38 |
39 | 具体的反向代理配置教程与[QQ官方机器人反向代理配置](/zh/deploy/platforms/qq/official_webhook.md#操作caddy流程)相同,只是将`reverse_proxy 127.0.0.1:2284`改为`reverse_proxy 127.0.0.1:2287`。
40 |
41 | ### 保存回调地址
42 |
43 | 点击设置服务器配置,输入`Token`,`EncodingAESKey`,并将消息加解密方式改为`安全模式`。
44 |
45 | 至此,打开 LangBot Webui 页面,创建一个新的机器人,将获取到的四个配置项( AppID , AppSecret , token , EncodingAESKey )填入
46 |
47 | 
48 |
49 | 在配置项中,`Mode`选项为选择的接入模式,其中默认为`drop`,`drop` 为传统收发消息模式,`passive` 为发送任意文字获取回复模式。
50 |
51 | `LoadingMessage`选项为加载信息,可以更改为其他内容,仅在模式为`passive`下有效。将 `enable` 设置为 `true` 。
52 |
53 | 填写成功后,**启动 LangBot** 。
54 |
55 | 将 URL 填写为`https://your_domain_name/callback/command`,其中的 `your_domain_name` 就是 Caddy 中填写的域名。点击保存。如果可以保存成功,那么意味着部署成功。如果出现**系统发生错误,请稍后重试**,那么请重新检查以上配置内容是否填写正确。
56 |
57 |
--------------------------------------------------------------------------------
/docs/zh/deploy/pipelines/readme.md:
--------------------------------------------------------------------------------
1 | # 修改对话流水线配置 (Pipelines)
2 |
3 | 流水线控制了收到消息之后的处理流程,以及与大模型之间的信息交互。每个机器人可以绑定到一条流水线上,同一条流水线能被多个机器人绑定。
4 |
5 | LangBot 首次启动时会自动创建一个默认的流水线。创建机器人时,会自动绑定到默认流水线。创建第一个模型时,会自动将其设置为默认流水线的模型。
6 |
7 | 
8 |
9 | 您可以创建多条流水线,用于不同的机器人,适应不同的场景。
10 |
11 |
12 |
13 | 当前流水线可以配置以下功能
14 |
15 | ## AI 能力
16 |
17 | 可以选择使用:`内置 Agent`、[`Dify`](https://dify.ai/)、[`阿里云百炼`](https://www.aliyun.com/product/bailian?source=5176.29345612&userCode=ys4ad8gs)、[`n8n`](https://n8n.io/)、[`TBox(蚂蚁百宝箱)`](https://tbox.cn/)
18 |
19 | AI 能力主要分为两个部分,选择运行器和配置运行器参数。
20 |
21 | 运行器定义了如何调度大模型处理消息,默认为`内置 Agent`,这是 LangBot 实现的一个多回合 Agent 策略,当且仅当选择此运行器时,才会使用 LangBot 内部配置的模型和工具。
22 |
23 | **
24 |
25 |
26 |
27 | 您也可以选择使用 `Dify`、 [`n8n`](https://n8n.io/) 等外部 LLMOps 平台,这种情况下所使用的模型和提示词、工具等资源将由 LLMOps 平台提供。
28 |
29 |
30 |
31 | - 接入 Dify 的详细步骤可以[参考教程](/zh/deploy/pipelines/dify.html)。
32 | - 接入 n8n 的详细步骤可以[参考教程](/zh/deploy/pipelines/n8n.html)。
33 |
34 | ### 请求变量
35 |
36 | 当使用外部 LLMOps 平台时,LangBot 会显式传入以下参数,您可以自行在 LLMOps 平台的开始节点中添加(下图以 Dify 为例):
37 |
38 | - `user_message_text`:用户消息的纯文本
39 | - `session_id`:用户会话id,私聊为 `person_`,群聊为 `group_`
40 | - `conversation_id`:字符串,用户会话id,由 LangBot 生成。用户重置会话后,会重新生成
41 | - `msg_create_time`:数字类型,收到此消息的时间戳(秒)
42 |
43 | 您可以[通过插件自定义任何变量](/zh/plugin/dev/apis/common.html#%E8%AE%BE%E7%BD%AE%E8%AF%B7%E6%B1%82%E5%8F%98%E9%87%8F)。
44 |
45 | 
46 |
47 | ## 其他配置
48 |
49 | 请参考配置表单中的描述信息。
--------------------------------------------------------------------------------
/docs/zh/workshop/network-details.md:
--------------------------------------------------------------------------------
1 | # 网络配置详解
2 |
3 | ::: info
4 | 某些消息平台(如 QQ 个人号)需要使用独立的协议端来处理消息,如果您使用的是此类消息平台,请参考以下网络配置。
5 | 同时,若您的 LangBot 实例需要连接其他在容器中运行的服务(如 Ollama),也可以参考以下配置,自行替换`消息平台`为`您要连接的服务`。
6 | :::
7 |
8 | LangBot 和部分消息平台均可采用 Docker 部署,以下是四种情况下的网络配置详解。
9 |
10 | :::info 目录
11 | [[toc]]
12 | :::
13 |
14 | ## LangBot 和消息平台均运行在 Docker 容器中
15 |
16 | 如果消息平台(NapCat/Lagrange)和 LangBot 均使用 Docker 启动,那么你需要配置 Docker 的网络连接。
17 |
18 | 新建一个网络:
19 |
20 | ```bash
21 | docker network create langbot-network
22 | ```
23 |
24 | 在 LangBot 目录的 `docker-compose.yaml` 文件中添加网络配置(添加到 `services.langbot` 字段下,并在 `networks` 字段下添加 `langbot-network` 网络配置):
25 |
26 | ```yaml
27 | services:
28 | langbot:
29 | ...
30 | networks:
31 | - langbot-network
32 | ...
33 |
34 | networks:
35 | langbot-network:
36 | external: true
37 | ```
38 |
39 | 然后在消息平台的 `docker-compose.yaml` 文件中添加同样的网络配置(如果是直接 docker run 命令启动的,请在启动命令中添加 `--network langbot-network`)。接着在消息平台配置文件中,把 WS 反向连接地址中的 IP 地址修改为 `langbot`(例如:`ws://langbot:2280/ws`)。
40 |
41 | 重启两个容器。
42 |
43 |
44 |
45 | ## 仅 LangBot 运行在 Docker 容器中
46 |
47 | 当只有 LangBot 采用 Docker 部署时,默认已经映射 2280 到 2290 端口到容器外。此时 LangBot 只能作为 WebSocket 服务器,接受消息平台作为客户端连接。
48 |
49 | 请把消息平台设置为 ReverseWebSocket(称为 `反向 ws` 或 `WebSocket 客户端`),端口对应 LangBot 的 aiocqhttp 适配器启用的端口,连接本地 127.0.0.1 即可。
50 |
51 |
52 | ## LangBot 和消息平台都不使用 Docker 部署
53 |
54 | 根据文档配置消息平台和 LangBot 设置,两者端口设置为统一的不被占用的即可,都连接本地 127.0.0.1。
55 |
56 | ## 仅消息平台运行在 Docker 容器中(不建议)
57 |
58 | :::warning
59 | 仅支持 Linux ,或其他支持 host 模式 docker 网络的系统。
60 | :::
61 |
62 | 目前 LangBot 的 aiocqhttp 适配器仅支持 反向 WebSocket 连接,当消息平台运行在 Docker 容器中而 LangBot 直接运行在宿主机时,必须由 消息平台作为客户端连接 LangBot。此时只能将 消息平台的 network 设置为 `host` 模式,再设置其 WS 连接地址为 127.0.0.1,端口对应 LangBot 的 aiocqhttp 适配器启用的端口。
63 |
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/wecom/wecom.md:
--------------------------------------------------------------------------------
1 | # 部署企业微信机器人
2 |
3 | 部署企业微信机器人接入 LangBot 。
4 |
5 | :::info
6 | 此种接入方式为企业内部自建应用,是在企业内部使用的,若需要对外接待,请查看[企业微信客服接入方案](wecomcs.md)。
7 | :::
8 |
9 |
10 | ## 创建机器人
11 |
12 | 进入[企业微信管理后台](https://work.weixin.qq.com/),登陆账号,进入主页面后,点击` 应用管理 `,` 自建 `,` 创建应用 `,填写机器人基本信息,创建好之后,会出现类似这样的界面:
13 | 
14 |
15 | ## 设置回调地址
16 |
17 | ### 获取企业微信配置项
18 |
19 | 1. 打开企业微信管理后台主页,点击`我的企业`,记录下最下面的企业ID。
20 |
21 | 
22 |
23 | 2. 开启通讯录同步权限
24 |
25 | :::info
26 | - 此配置项是为了实现 LangBot 的群发消息,具体代码位于libs/wecom_api/api.py 。
27 | - 目前 LangBot 仍在开发,所以未实现此配置项的相关功能。
28 | - 此配置项可以填写入随机字符,**不能为空**。
29 | :::
30 |
31 | 
32 |
33 | 点击`安全与管理`,`管理工具`,`通讯录同步`
34 |
35 | 
36 |
37 | 点击`查看secret`,记录下来,这是 contacts_secret(通讯录同步 secret)。
38 |
39 | 3. 点击`应用管理`,找到刚才创建的机器人,查看机器人的 secret ,记录下来。
40 |
41 | 
42 |
43 | 至此,已经获得了三个配置项,分别是 corpid(企业ID),secret(机器人 secret),contacts_secret(通讯录同步 secret)。
44 |
45 | ### 配置回调地址
46 |
47 | 进入机器人页面。
48 |
49 | 点击最下方的`企业可信IP`,将部署 LangBot 的服务器添加进去。
50 |
51 | 点击` 接收消息 `,` 设置API接收 `,开始填写接收服务器消息配置。
52 |
53 | URL填写为` http://your_ip_address:2290/callback/command `,你的IP地址就是部署LangBot的服务器的地址。
54 |
55 | Token 和 EncodingAESKey 点击随机获取,并记录下来
56 |
57 | ## 对接 LangBot
58 |
59 | 
60 |
61 | ## 保存回调地址
62 | 当前面五个配置项已经正确获取,并且准确的填入到企业微信适配器中,那么**启动 LangBot**。
63 |
64 | 回到配置回调地址页面并且点击保存,如果以上的配置项填写正确,那么可以保存成功,这意味着企业微信和 LangBot 可以进行通信(部署成功),如果出现**openapi 请求回调地址不通过**,请再三检查你的配置项填写是否正确。
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/docs/en/insight/guide.md:
--------------------------------------------------------------------------------
1 | # Welcome to LangBot Documentation
2 |
3 | LangBot is an open-source Large Language Model (LLM) native instant messaging bot platform that supports multiple messaging platforms and model providers. It provides support for LLMOps platforms such as Dify. It also offers a WebUI for users to quickly deploy and use.
4 |
5 | ## Documentation Structure
6 |
7 | The documentation is divided into the following sections:
8 |
9 | - Deployment and Usage (Must Read): Detailed steps for deploying and using LangBot
10 | - Plugins: Information related to plugin usage and development
11 | - Practice: Many excellent use cases for LangBot
12 | - Development: Information related to participating in LangBot development
13 |
14 | ## Usage Examples
15 |
16 | 
17 |
18 | 
19 |
20 |
21 | ## Quick Start Guide
22 |
23 | > Two ways to get started quickly:
24 | >
25 | > - Use the simplified tutorial from community resources (see left sidebar)
26 | > - Read the documentation to deploy it yourself (method described below)
27 |
28 | ### 1. Deploy LangBot
29 |
30 | Read the **Deploy LangBot** section on the left and choose a method to deploy LangBot
31 |
32 | After deployment, open `http://127.0.0.1:5300` or `http://your-server-public-ip:5300`
33 |
34 | Complete the initialization by entering an email and password, and make sure to save them
35 |
36 | ### 2. Configure Bots
37 |
38 | Check [Configure Bots](/en/deploy/platforms/readme) in the left sidebar
39 |
40 | ### 3. Configure Models
41 |
42 | Check [Configure Dialogue Models](/en/deploy/models/readme) in the left sidebar
43 |
44 |
45 |
46 | After completing the above two steps, you can start using LangBot. If you need to configure more features, you can set them in the [Pipeline](/en/deploy/pipelines/readme) section
47 |
--------------------------------------------------------------------------------
/README_EN.md:
--------------------------------------------------------------------------------
1 | # [LangBot](https://github.com/langbot-app/LangBot) Official Documentation
2 |
3 | > This repository is the documentation repository for LangBot. Code repository:
4 | > [LangBot Code Repository](https://github.com/langbot-app/LangBot)
5 | > This is the documentation for LangBot 4.0. For 3.0 documentation, please see the `v3` branch
6 |
7 | ## Contributing to Documentation
8 |
9 | The documentation is generated based on VitePress. Local development requires Node and VitePress installation.
10 |
11 | Clone this repository and execute the following command in the directory to install dependencies:
12 |
13 | ```bash
14 | npm install
15 | ```
16 |
17 | After completion, you can modify the documentation. After modifications, use the following command to start locally:
18 |
19 | ```bash
20 | npm run docs:dev
21 | ```
22 |
23 | ### Using Images
24 |
25 | Place images in the `docs/assets/image` directory, then reference them using the absolute path when accessed via web, such as:
26 |
27 | ```markdown
28 | 
29 | ```
30 |
31 | ### Deployment Details
32 |
33 | Currently hosted on Cloudflare Pages. After submission, [@RockChinQ](https://github.com/RockChinQ) updates the branch for automatic deployment.
34 |
35 | ### Some Standardization Guidelines
36 |
37 | - Folder and file naming: **Use all lowercase, separate words with `-`, such as** `plugin-intro.md`
38 | - 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`
39 | - 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
40 | - Except for configuration file section documents, other pages should not have a table of contents at the top
41 |
42 | ---
43 |
44 | **[中文版 README](README.md)**
--------------------------------------------------------------------------------
/docs/zh/develop/plugin-runtime.md:
--------------------------------------------------------------------------------
1 | # 调试插件运行时、CLI、SDK
2 |
3 | ::: info
4 | 请先阅读[插件教程](/zh/plugin/plugin-intro),了解插件系统。
5 |
6 | - 插件运行时、CLI、SDK 开源在: https://github.com/langbot-app/langbot-plugin-sdk
7 | :::
8 |
9 | Clone 插件运行时源码:
10 |
11 | ```bash
12 | git clone https://github.com/langbot-app/langbot-plugin-sdk
13 | ```
14 |
15 | 进入插件运行时目录,安装依赖:
16 |
17 | ```bash
18 | cd langbot-plugin-sdk
19 | uv sync --dev
20 | ```
21 |
22 | 此时,uv 将自动为您创建虚拟环境(.venv),若您的编辑器询问您是否使用此虚拟环境,请选择`是`。
23 |
24 |
25 |
26 | 或者请您手动激活此虚拟环境:
27 |
28 | ```bash
29 | source .venv/bin/activate
30 | ```
31 |
32 | ## 启动插件运行时
33 |
34 | ```bash
35 | lbp rt
36 | ```
37 |
38 | 请确保`lbp`命令是该目录下的虚拟环境中的`lbp`可执行文件,或通过`python -m langbot_plugin.cli.__init__ rt`启动。
39 |
40 | Plugin Runtime 接受以下参数:
41 |
42 | - `--debug-only`: 不启动`data/plugins`目录下的插件,仅允许通过调试连接加载插件。
43 | - `--ws-debug-port`: 监听的调试端口,默认是`5401`。
44 | - `--ws-control-port`: 监听的控制端口(供 LangBot 主程序连接),默认是`5400`。
45 | - `-s`: 使用`stdio`接受控制连接。**仅在生产环境使用**。
46 |
47 | ### 使 LangBot 连接到此运行时
48 |
49 | 在 LangBot 的`data/config.yaml`中配置`plugin.runtime_ws_url`为`ws://localhost:5400/control/ws`。
50 |
51 | ```yaml
52 | plugin:
53 | runtime_ws_url: ws://localhost:5400/control/ws
54 | ```
55 |
56 | 并在启动 LangBot 主程序时携带启动参数`--standalone-runtime`(如:`uv run main.py --standalone-runtime`)。
57 | 重启 LangBot,将会使用 WebSocket 连接到此运行时。
58 |
59 | ## langbot-plugin-sdk 架构
60 |
61 | 本代码库中包含以下内容:
62 |
63 | - `langbot_plugin.api`:插件相关实体和 API 定义。
64 | - `langbot_plugin.assets`:插件模板。
65 | - `langbot_plugin.cli`:插件开发 CLI 工具。
66 | - `langbot_plugin.entities`:插件系统中非 API 定义的相关实体。
67 | - `langbot_plugin.runtime`:插件运行时和底层通信(stdio 和 websocket)实现。
68 |
69 | ## `lbp` CLI 工具
70 |
71 | CLI 工具提供 Runtime 启动、插件初始化、插件组件管理、Marketplace 交互等功能。
72 |
73 | 详细的程序入口请查看[`langbot_plugin.cli.__init__`](https://github.com/langbot-app/langbot-plugin-sdk/blob/main/src/langbot_plugin/cli/__init__.py)。
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/qq/aiocqhttp/lagrange.md:
--------------------------------------------------------------------------------
1 | # 部署消息平台 Lagrange
2 |
3 | ## Lagrange介绍
4 |
5 | Lagrange 是一个 QQNT 协议逆向工程框架,轻便且相对稳定。通过 OneBot 11 协议接入,需选择使用`OneBot v11`作为适配器。
6 |
7 | ::: warning
8 | 需要使用 NT QQ 与机器人交互,旧版QQ无法正常使用
9 | :::
10 |
11 | ## 部署步骤
12 |
13 | 以下仅提供 Windows 上的大致步骤,详细步骤或其他平台请参考 [Lagrange官方文档](https://lagrangedev.github.io/Lagrange.Doc/v1/Lagrange.OneBot/)
14 |
15 | ### 环境配置
16 |
17 | 安装.NET 8运行时,[点击直达微软官网下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
18 |
19 | ### 从Github Actions下载最新的build
20 |
21 | 需要登录Github后才能下载,如果你不需要部分特性,可以在Release下载,看图片3
22 |
23 | [Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
24 |
25 | 看图进行下载:
26 |
27 | 
28 |
29 | 
30 |
31 | 
32 |
33 | ### 尾声
34 |
35 | 解压你所下载的zip,打开到有Lagrange.OneBot.exe的目录,在此目录下打开cmd命令提示符,输入
36 |
37 | ```bash
38 | .\Lagrange.OneBot
39 | ```
40 |
41 | 运行一次,如果输出了一个二维码,即可直接用机器人号扫码登录(若二维码显示不清楚,可以到lagrange的data目录下寻找图片文件)。
42 |
43 | 若无法登录,请检查是否正常填写了lagrange配置文件appsettings.json中的签名地址 SignServerUrl ,签名地址请到lagrange文档中寻找。
44 |
45 | ## 修改配置
46 |
47 | 需要配置 Lagrange 以让其连接上 LangBot,请编辑 Lagrange 的配置文件 appsettings.json,确保 Implementations 中的连接配置符合下图内容:
48 |
49 | 
50 |
51 | 其中 Type 必须为 `ReverseWebSocket`;
52 | Host 为 LangBot 运行的主机 IP,若在同一主机上,可以写 `127.0.0.1`;
53 | Suffix 必须为 `/ws`;
54 |
55 | ## Lagrange 对接
56 |
57 | 接下来打开 LangBot 配置页面
58 |
59 | 点击机器人,点击添加
60 |
61 | `平台/适配器选择`为`OneBot v11`
62 |
63 | 
64 |
65 | ::: info
66 | 注意,如果涉及多个 docker 容器的网络连接问题,请参考[网络配置详解](/zh/workshop/network-details)
67 | :::
--------------------------------------------------------------------------------
/docs/en/plugin/dev/components/add.md:
--------------------------------------------------------------------------------
1 | # Adding Components
2 |
3 | Plugins consist of one or more components that provide different functionalities to LangBot. Currently supported component types include:
4 |
5 | - Event Listeners (EventListener): Listen to events during pipeline execution and modify context or pipelines.
6 | - Commands (Command): Triggered by user command messages starting with `!` (or other configured prefixes).
7 | - Tools (Tool): Called by LLMs during execution of LangBot's built-in Local Agent.
8 |
9 | ## Adding Components
10 |
11 | Execute the command in the plugin directory:
12 |
13 | ```bash
14 | lbp comp
15 | ```
16 |
17 | For example, to add an event listener:
18 |
19 | ```bash
20 | lbp comp EventListener
21 | ```
22 |
23 | Follow the prompts to enter the component configuration (if any).
24 |
25 | ```bash
26 | ➜ HelloPlugin > lbp comp EventListener
27 | Generating component EventListener...
28 | Component EventListener generated successfully.
29 | 组件 EventListener 生成成功。
30 | ➜ HelloPlugin >
31 | ```
32 |
33 | :::info
34 | The CLI will generate a `components` directory in the plugin directory and create corresponding component directories within it.
35 |
36 | ```
37 | .
38 | ├── assets
39 | │ └── icon.svg
40 | ├── components
41 | │ ├── __init__.py
42 | │ └── event_listener
43 | │ ├── __init__.py
44 | │ ├── default.py
45 | │ └── default.yaml
46 | ├── main.py
47 | ├── manifest.yaml
48 | ├── README.md
49 | └── requirements.txt
50 | ```
51 |
52 | At the same time, component discovery configuration will be added to the plugin's `manifest.yaml`:
53 |
54 | ```yaml
55 | ...
56 | components:
57 | EventListener:
58 | fromDirs:
59 | - path: components/event_listener/
60 | ...
61 | ```
62 | To remove components, you can delete the corresponding information manually.
63 | :::
64 |
65 | ## Component Types
66 |
67 | For detailed usage of each component, please refer to:
68 |
69 | - [EventListener](./event-listener.md)
70 | - [Command](./command.md)
71 | - [Tool](./tool.md)
--------------------------------------------------------------------------------
/docs/zh/plugin/dev/publish.md:
--------------------------------------------------------------------------------
1 | # 发布插件
2 |
3 | 通过 CLI 将插件发布至 [LangBot 插件市场](https://space.langbot.app/market)。
4 |
5 | ## 在 LangBot Space 创建账号
6 |
7 | LangBot Space 是 LangBot 提供中心化服务平台。请访问[LangBot Space](https://space.langbot.app),点击右上角使用 GitHub 登录并创建账号。
8 |
9 |
10 |
11 | 这将跳转到 GitHub 授权页面,请根据提示完成授权。
12 |
13 | ## 使用 CLI 登录 LangBot Space
14 |
15 | 在任意目录执行命令`lbp login`:
16 |
17 | ```bash
18 | ➜ HelloPlugin > lbp login
19 | Starting LangBot CLI login process...
20 | Generating device code...
21 |
22 | ==================================================
23 | Please copy the user code and complete verification in your browser:
24 | User Code: 6CD64D56
25 | Verification URL: https://space.langbot.app/auth/device
26 | Device code expires in: 120 seconds
27 | ==================================================
28 |
29 | Waiting for verification...
30 | ```
31 |
32 | 请点击`Verification URL`跳转至 LangBot Space,输入`User Code`完成登录。
33 |
34 |
35 |
36 | ```bash
37 | ==================================================
38 | ✅ Login successful!
39 | Access token saved to: ~/.langbot/cli/config.json
40 | Token type: Bearer
41 | Expires in: 21600 seconds
42 | ==================================================
43 | ```
44 |
45 | 登录成功后,您可以继续使用 CLI 上传插件。
46 |
47 | ## 上传插件
48 |
49 | 请在您的插件目录下执行`lbp publish`:
50 |
51 | ```bash
52 | ➜ HelloPlugin > lbp publish
53 | Building plugin to dist/tmp...
54 | - Skipping ignored directory: dist
55 | - Skipping ignored directory: __pycache__
56 | ...
57 | Plugin built successfully: dist/tmp/RockChinQ-HelloPlugin-0.1.0.lbpkg
58 | ✅ Plugin published successfully. You can check it on https://https://space.langbot.app/market
59 | ```
60 |
61 | 您现在可以在[LangBot 插件市场](https://space.langbot.app/market)查看您的插件提交任务。请等待审核通过后,您可以在插件市场查看您的插件。
62 |
63 |
64 |
65 | 有任何问题,您可以发送邮件到`hello@langbot.app`或通过[社区](/zh/insight/community)联系我们。
66 |
--------------------------------------------------------------------------------
/docs/en/develop/dev-config.md:
--------------------------------------------------------------------------------
1 | # Development Configuration
2 |
3 | LangBot is divided into frontend and backend. The frontend is developed using Next.js + shadcn, and the backend is developed using Quart (an asynchronous version of Flask).
4 |
5 | ## Backend
6 |
7 | The code is located in the `pkg` directory and is started by the `main.py` file in the root directory.
8 |
9 | Install dependencies, we use uv to manage dependencies.
10 |
11 | ```bash
12 | pip install uv
13 | uv sync
14 | ```
15 |
16 | Start the backend
17 |
18 | ```bash
19 | uv run main.py
20 | ```
21 |
22 | At this point, the configuration file will be automatically generated in the `data/config.yaml` file.
23 |
24 | ## Frontend
25 |
26 | The code is located in the `web` directory and requires Node.js and [pnpm](https://pnpm.io/installation).
27 |
28 | Copy `.env.example` to `.env` and fill in the values.
29 |
30 | - Usage in Linux and other environments
31 |
32 | ```bash
33 | cp .env.example .env
34 | ```
35 |
36 | - Usage in Windows environments
37 |
38 | ```bash
39 | copy .env.example .env
40 | ```
41 |
42 | Install dependencies and start the frontend
43 |
44 | ```bash
45 | pnpm install
46 | pnpm dev
47 |
48 | # If pnpm is not installed, you can also use npm to solve dependencies and start
49 | npm install
50 | npm run dev
51 | ```
52 |
53 | Then according to the output information, visit `http://127.0.0.1:3000` to view the standalone frontend page.
54 |
55 | :::info
56 | When using `pnpm dev` to start locally, the environment variable `NEXT_PUBLIC_API_BASE_URL` will be automatically used by the frontend to ensure that the frontend can access the `5300` port of the locally running backend.
57 |
58 | In production environments, the frontend will be precompiled into static files and provided by the backend, and the frontend will automatically access the backend address on the same domain.
59 | :::
60 |
61 | ## API Documentation
62 |
63 | We will write API documentation in APIFox before developing each interface. Please refer to [API Documentation(Chinese)](https://ok52vhsenr.apifox.cn/).
64 |
--------------------------------------------------------------------------------
/docs/en/plugin/dev/migration.md:
--------------------------------------------------------------------------------
1 | # Migration Guide
2 |
3 | This tutorial highlights certain considerations. Please read the current version plugin tutorial first, then use this document as a reference for plugin migration.
4 |
5 | ## Migrating from 3.x Supported Asynchronous Plugins
6 |
7 | :::info
8 | Plugin characteristics:
9 | - Main time period: 2024.2 ~ 2025.8
10 | - Registration method: Using `@handler` decorators to register event listeners and `@llm_func` decorators to register content functions (tools) in the plugin class in `main.py`; all handler functions are asynchronous functions (async def)
11 | :::
12 |
13 | - Plugin and component registration method: Changed from the previous single plugin class decorator registration method to manifest file registration method. See [Manifest File](/en/plugin/dev/basic-info); and separated different types of components independently. For details, see [Adding Components](/en/plugin/dev/components/add).
14 | - Message chain entities: Now refactored. The construction method of each message chain element now requires explicit passing of **named parameters**. See [Message Platform Entities](/en/plugin/dev/apis/messages).
15 | - Event listeners: Provides backward compatibility, but no longer provides `query: Query` object in context. For details, see [Pipeline Events](/en/plugin/dev/apis/pipeline-events).
16 | - Command components: Now refactored. See [Command Components](/en/plugin/dev/components/command).
17 |
18 | ## Migrating from 2.x and 3.x Supported Synchronous Plugins
19 |
20 | :::info
21 | Plugin characteristics:
22 | - Main time period: 2023.1 ~ 2024.2
23 | - Registration method: Using `@on` decorators to register event listeners and `@func` decorators to register content functions (tools) in the plugin class in `main.py`; all handler functions are synchronous functions (def)
24 | :::
25 |
26 | - Synchronous to asynchronous: Plugin runtime has now changed to fully asynchronous (based on asyncio). Please change all plugin code involving IO operations to asynchronous writing.
27 | - For detailed content, please refer to the above 3.x asynchronous plugin migration guide.
--------------------------------------------------------------------------------
/docs/zh/deploy/langbot/manual.md:
--------------------------------------------------------------------------------
1 | # 手动部署
2 |
3 | :::warning
4 | 1. 请使用Python 3.10.1(不包含3.10.0)及以上版本,推荐3.10.14版本,没有Python的需自行安装。
5 | 2. 不推荐此方式,后续可能不再支持手动部署,请考虑使用 Docker 部署。
6 | 3. **请勿在 Windows 系统上原生部署 LangBot,[这将导致插件不可用](/zh/plugin/compatibility)**,推荐使用 [WSL2](https://learn.microsoft.com/zh-cn/windows/wsl/install) 或 Docker 部署。
7 | :::
8 |
9 | ## 安装主程序
10 |
11 | 1. 前往[Release](https://github.com/langbot-app/LangBot/releases)页面下载最新版本的压缩包(推荐)`langbot-xxx-all.zip`(请勿下载 Source Code,因为其中不包含 WebUI)。解压,在解压目录打开命令行(终端)
12 |
13 | 
14 |
15 | :::info
16 |
17 | 您也可以使用以下命令克隆最新代码(有可能包含不稳定的代码)并使用:
18 |
19 | ```bash
20 | # 克隆主仓库
21 | git clone https://github.com/langbot-app/LangBot
22 | cd LangBot
23 | ```
24 |
25 | 若您位于中国大陆境内,可以从 [GitCode 镜像](https://gitcode.com/RockChinQ/LangBot) 克隆:
26 |
27 | ```bash
28 | git clone https://gitcode.com/RockChinQ/LangBot
29 | cd LangBot
30 | ```
31 |
32 | 接下来手动构建前端:
33 |
34 | ```bash
35 | # 构建前端,需要 NodeJS >= 22
36 | cd web
37 | npm install && npm run build
38 | cd ..
39 | ```
40 |
41 | :::
42 |
43 | 2. 安装依赖
44 |
45 | 我们使用 uv 管理依赖。
46 |
47 | ```bash
48 | pip install uv
49 | uv sync
50 | ```
51 |
52 | 或者使用清华源
53 |
54 | ```bash
55 | pip install uv -i https://pypi.tuna.tsinghua.edu.cn/simple
56 | uv sync
57 | ```
58 |
59 | 3. 运行一次主程序,生成配置文件
60 |
61 | ```bash
62 | uv run main.py
63 | ```
64 |
65 | 提示如下信息
66 |
67 | ```
68 | _ ___ _
69 | | | __ _ _ _ __ _| _ ) ___| |_
70 | | |__/ _` | ' \/ _` | _ \/ _ \ _|
71 | |____\__,_|_||_\__, |___/\___/\__|
72 | |___/
73 |
74 | ⭐️开源地址: https://github.com/langbot-app/LangBot
75 | 📖文档地址: https://docs.langbot.app
76 |
77 | 以下文件不存在,已自动生成,请按需修改配置文件后重启:
78 | - plugins/__init__.py
79 | ...
80 | ```
81 |
82 | 接下来可以使用 Ctrl+C 退出程序,继续查看[部署机器人](/zh/deploy/platforms/readme)页。
83 |
84 | :::info
85 | LangBot 在每次启动时会检查所有插件的依赖以便确保所有插件都能正常运行。
86 | 如果由于网络问题导致 LangBot 无法正常检查依赖,可以提供`--skip-plugin-deps-check`参数跳过检查,并自行安装插件依赖:命令行切换目录到`plugins`目录下的每个子文件夹(若已安装插件),然后使用`uv sync`安装依赖。
87 | :::
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/lark.md:
--------------------------------------------------------------------------------
1 | # 接入飞书机器人
2 |
3 | ## 创建机器人
4 |
5 | 前往[飞书开放平台](https://open.feishu.cn/app),登录后,创建企业自建应用。
6 |
7 | 
8 |
9 | 
10 |
11 | 为应用添加机器人能力:
12 | 
13 |
14 | 在权限管理中添加图中所示权限:
15 |
16 | 
17 |
18 | 如需卡片流式权限则多添加如下图的创建与更新卡片:
19 |
20 | 
21 |
22 | ## 对接 LangBot
23 |
24 | 在`凭证与基础信息`页找到`app_id`和`app_secret`。
25 |
26 | 
27 |
28 |
29 |
30 | 打开LangBot 的 Webui 配置页面,创建一个新的机器人
31 |
32 | 将相关信息填入表单
33 |
34 | 
35 |
36 | 流式相关:
37 | 
38 |
39 | 填写完成后启动 LangBot,若成功配置,日志中会出现`[01-29 23:42:56.796] manager.py (68) - [INFO] : 初始化平台适配器 1: lark`的字样,保持 LangBot 运行。
40 |
41 | :::warning
42 | 默认使用的是 WebSocket 长连接模式,对应下方的长连接订阅。但某些情况下(如国际版飞书)不具有长连接模式,此时需要使用 Webhook 模式,对应`将事件发送到开发者服务器`模式,请参考以下配置:
43 |
44 | - `enable-webhook`:设置为`true`
45 | - `encrypt-key`:设置为`事件与回调`页面的`加密策略`中的`Encrypt Key`
46 |
47 | 注意,在Webhook模式中,LangBot 需要部署在具有公网 IP 的服务器上,并确保防火墙已开放上方配置的端口。
48 | :::
49 |
50 | ## 配置事件订阅
51 |
52 | 前往`事件与回调`页,配置订阅方式为`长连接`:
53 |
54 | 
55 |
56 | 并添加事件:`接收消息`
57 |
58 | 
59 |
60 | :::warning
61 | Webhook 模式配置方式:
62 |
63 | 
64 |
65 | 请先启动 LangBot,在此处填写你的服务器地址和端口,路径为`/lark/callback`,点击`保存`。
66 |
67 | :::
68 |
69 | ## 发布机器人
70 |
71 | 点击顶部`创建版本`,填写版本号等信息,点击下方`保存`。
72 |
73 | 
74 |
75 | 在飞书群中添加机器人,即可使用:
76 |
77 | 
78 |
79 | 
80 |
81 | 私聊也可以直接使用
82 |
83 | 
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/discord.md:
--------------------------------------------------------------------------------
1 | # Connect to Discord Bot
2 |
3 | ## Create Bot
4 |
5 | Go to the [Discord Developer Portal](https://discord.com/developers/applications), log in, and create an application.
6 |
7 | 
8 |
9 | Modify the basic information, click `Save Changes` to save.
10 |
11 | 
12 |
13 | Click `Bot` on the left, click `Reset Token`, copy the generated Token.
14 |
15 | 
16 |
17 | And check all options in `Privileged Gateway Intents` on this page, click `Save Changes` to save.
18 |
19 | 
20 |
21 | **Finally, click `OAuth2` on the left, copy the `Client ID` on the page.**
22 |
23 | ## Connect to LangBot
24 |
25 | Click to add a new bot, fill in the `Client ID` and `Token` obtained in the previous step into the configuration.
26 |
27 | 
28 |
29 | :::warning
30 |
31 | If you are using this adapter within mainland China, you may need to set up a network proxy.
32 |
33 | :::
34 |
35 | After filling in, start LangBot. If configured successfully, the log will show `[02-02 16:48:15.263] manager.py (68) - [INFO] : Initializing platform adapter 1: discord`, keep LangBot running.
36 |
37 | ## Invite Bot to Server
38 |
39 | You need to create a server first, then invite the bot to the server.
40 |
41 | Go to the `OAuth2` page, select `URL Generator`, select `bot`, check the permissions as shown in the image.
42 |
43 | 
44 |
45 | 
46 |
47 | Click `Copy`, paste the generated URL into your browser to open it, and invite the bot to your server.
48 |
49 | 
50 |
51 | ## Use Bot
52 |
53 | Now you can use the bot normally in groups or private messages.
54 |
55 | 
56 |
--------------------------------------------------------------------------------
/docs/en/workshop/newapi-integration.md:
--------------------------------------------------------------------------------
1 | # Integrating LangBot with New API
2 |
3 | New API is a next-generation large model gateway and AI asset management system, designed to address issues such as fragmented access to multiple AI service providers, difficulty in cost control, and insufficient service stability. Its core advantages are focused on three aspects:
4 |
5 | 1. **Multi-provider compatibility**: It has integrated **over 30 AI service providers** and achieved **100% OpenAI compatibility** (that is, it supports calling models from other service providers in the OpenAI interface format, reducing development costs);
6 | 2. **High availability**: It promises **99.9% service availability** to meet enterprise-level stability requirements;
7 | 3. **Ease of use and controllability**: It supports "one-click deployment" for quick access, and also provides a "flexible billing" function to help users control AI usage costs, while taking into account "security and stability" features.
8 |
9 | ## 1. Deploy New API Locally (Docker Container Method)
10 |
11 | > For more deployment methods, refer to the [New API Deployment Guide](https://docs.newapi.pro/installation/)
12 |
13 | This deployment method uses an SQLite database (lightweight, no additional deployment required).
14 |
15 | Enter in the command line:
16 |
17 | ```bash
18 | docker run --name new-api -d --restart always \
19 | -p 3000:3000 \
20 | -e TZ=Asia/Shanghai \
21 | -v ./new-api/data:/data \
22 | calciumion/new-api:latest
23 | ```
24 |
25 | > ⚠️ Note:
26 | > - Replace `./new-api/data` with the actual folder you want to use.
27 |
28 | After deployment, open `http://server-IP:3000` to configure New API.
29 |
30 | ## 2. Connect LangBot to Local New API
31 |
32 | 1. **Add New API Model**
33 | - Model Name: Enter the model name configured in New API
34 | - Model Provider: Select New API
35 | - Request URL: Enter `http://server-IP:3000/v1`
36 | - API Key: Enter the token created in New API
37 |
38 | 
39 |
40 | 2. **Select the newly configured model in the pipeline**
41 |
42 | 
43 |
44 | 3. Now you can use the models in New API.
--------------------------------------------------------------------------------
/docs/en/deploy/langbot/manual.md:
--------------------------------------------------------------------------------
1 | # Manual Deployment
2 |
3 | :::warning
4 | 1. Please use Python 3.10.1 (not including 3.10.0) or higher version, 3.10.14 is recommended. You need to install Python if you don't have it.
5 | 2. This method is not recommended, manual deployment may not be supported in the future. Please consider using Docker deployment.
6 | 3. **Do not deploy LangBot natively on Windows, [this will make plugins unusable](/en/plugin/compatibility)**, please use [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) or Docker deployment.
7 | :::
8 |
9 | ## Installing the Main Program
10 |
11 | 1. Go to the [Release](https://github.com/langbot-app/LangBot/releases) page to download the latest version of the zip package (recommended) `langbot-xxx-all.zip` (do not download Source Code as it does not include WebUI). Extract it and open a command line (terminal) in the extracted directory.
12 |
13 | 
14 |
15 | :::info
16 |
17 | You can also use the following commands to clone the latest code (may contain unstable code) and use it:
18 |
19 | ```bash
20 | # Clone the main repository
21 | git clone https://github.com/langbot-app/LangBot
22 | cd LangBot
23 | ```
24 |
25 | Then manually build the frontend:
26 |
27 | ```bash
28 | # Build frontend, requires NodeJS >= 22
29 | cd web
30 | npm install && npm run build
31 | cd ..
32 | ```
33 |
34 | :::
35 |
36 | 2. Install dependencies
37 |
38 | We use uv to manage dependencies.
39 |
40 | ```bash
41 | pip install uv
42 | uv sync
43 | ```
44 |
45 | 3. Run the main program once to generate configuration files
46 |
47 | ```bash
48 | uv run main.py
49 | ```
50 |
51 | You will see the following message:
52 |
53 | ```
54 | _ ___ _
55 | | | __ _ _ _ __ _| _ ) ___| |_
56 | | |__/ _` | ' \/ _` | _ \/ _ \ _|
57 | |____\__,_|_||_\__, |___/\___/\__|
58 | |___/
59 |
60 | ⭐️Open Source: https://github.com/langbot-app/LangBot
61 | 📖Documentation: https://docs.langbot.app
62 |
63 | The following files do not exist and have been automatically generated. Please modify the configuration files as needed and restart:
64 | - plugins/__init__.py
65 | ...
66 | ```
67 |
68 | You can now use Ctrl+C to exit the program and continue to the [Deploy Bots](/en/deploy/platforms/readme) page.
69 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/slack.md:
--------------------------------------------------------------------------------
1 | # Connect to Slack Bot
2 |
3 | ## Create Bot
4 |
5 | Go to the [Slack App Platform](https://api.slack.com/apps).
6 |
7 | 
8 |
9 | Click `Create New App` in the top right corner, select `from a manifest`, select the workspace where you want to deploy the bot, select next, and choose to create the bot.
10 |
11 | Enter the `Basic Information` option on the left, record the `signing_secret`.
12 |
13 | Enter `OAuth & Permissions` on the left, scroll down to `Scopes`, add the following bot permissions:
14 |
15 | 
16 |
17 |
18 | 
19 |
20 | After adding the above permissions, click `Install to your workspace`, record the token starting with `xoxb-xxxxx`.
21 |
22 | **Note:**
23 | **If you didn't add all permissions at once, you'll need to reinstall the App later.**
24 |
25 | Enter the `App Home` tab on the left, scroll to the bottom where you'll find `Message Tab`, turn it on and check
26 | `Allow users to send Slash commands and messages from the messages tab`.
27 |
28 | ## Connect to LangBot
29 |
30 | Enter `Event Subscriptions` on the left, turn on the switch, click `Subscribe to bot events`,
31 | add the following permissions:
32 | 
33 |
34 | After completing all the above operations, open the LangBot Webui configuration page, add a new bot
35 |
36 | 
37 |
38 | ## Start Bot
39 |
40 | After filling in the Slack configuration items, **start LangBot**.
41 | Then in the `Request URL` of the Event Subscriptions you just configured, fill in the deployment address of your LangBot.
42 |
43 | ::: info
44 | Since Slack officially requires https, you can refer to the [Caddy configuration part in the QQ official bot deployment process](/en/deploy/platforms/qq/official_webhook.md#caddy-operation-process), note that the port uses the port configured in the Slack adapter.
45 |
46 | :::
47 |
48 | After filling in all the above configuration items, click save link. If it shows a green **Verified**, it means the deployment is successful.
49 | Otherwise, check if the above configuration items are filled in correctly.
50 |
51 | ## Effect Demonstration
52 |
53 | 
54 |
--------------------------------------------------------------------------------
/docs/en/plugin/dev/publish.md:
--------------------------------------------------------------------------------
1 | # Publish Plugin
2 |
3 | Publish plugins to [LangBot Plugin Marketplace](https://space.langbot.app/market) via CLI.
4 |
5 | ## Create Account on LangBot Space
6 |
7 | LangBot Space is LangBot's centralized service platform. Please visit [LangBot Space](https://space.langbot.app), click the top-right corner to log in with GitHub and create an account.
8 |
9 |
10 |
11 | This will redirect to GitHub authorization page, please complete authorization as prompted.
12 |
13 | ## Log in to LangBot Space Using CLI
14 |
15 | Execute command `lbp login` in any directory:
16 |
17 | ```bash
18 | ➜ HelloPlugin > lbp login
19 | Starting LangBot CLI login process...
20 | Generating device code...
21 |
22 | ==================================================
23 | Please copy the user code and complete verification in your browser:
24 | User Code: 6CD64D56
25 | Verification URL: https://space.langbot.app/auth/device
26 | Device code expires in: 120 seconds
27 | ==================================================
28 |
29 | Waiting for verification...
30 | ```
31 |
32 | Please click `Verification URL` to redirect to LangBot Space, enter `User Code` to complete login.
33 |
34 |
35 |
36 | ```bash
37 | ==================================================
38 | ✅ Login successful!
39 | Access token saved to: ~/.langbot/cli/config.json
40 | Token type: Bearer
41 | Expires in: 21600 seconds
42 | ==================================================
43 | ```
44 |
45 | After successful login, you can continue using CLI to upload plugins.
46 |
47 | ## Upload Plugin
48 |
49 | Please execute `lbp publish` in your plugin directory:
50 |
51 | ```bash
52 | ➜ HelloPlugin > lbp publish
53 | Building plugin to dist/tmp...
54 | - Skipping ignored directory: dist
55 | - Skipping ignored directory: __pycache__
56 | ...
57 | Plugin built successfully: dist/tmp/RockChinQ-HelloPlugin-0.1.0.lbpkg
58 | ✅ Plugin published successfully. You can check it on https://https://space.langbot.app/market
59 | ```
60 |
61 | You can now check your plugin submission task at [LangBot Plugin Marketplace](https://space.langbot.app/market). Please wait for approval, after which you can view your plugin in the marketplace.
62 |
63 |
64 |
65 | If you have any questions, you can send an email to `hello@langbot.app` or contact us through [Community](/en/insight/community).
--------------------------------------------------------------------------------
/docs/en/plugin/plugin-intro.md:
--------------------------------------------------------------------------------
1 | # LangBot Plugins
2 |
3 | LangBot is composed of various internal components such as Large Language Model tools, commands, messaging platform adapters, LLM requesters, and more. To meet extensibility and flexibility requirements, we have implemented a production-grade plugin system.
4 |
5 | Each plugin runs in an independent process, managed uniformly by the Plugin Runtime.
6 |
7 |
8 |
9 | :::warning
10 | Due to Python Asyncio compatibility issues, the plugin system currently cannot run properly in native Windows environments. Please use Docker or WSL2 for deployment: [System Compatibility](/en/plugin/compatibility)
11 | :::
12 |
13 | ## Plugin Structure
14 |
15 | Plugins can consist of the following components based on their specific functionality:
16 |
17 | - Event Handlers: Listen to events during pipeline execution and modify context or pipelines.
18 | - Commands: Triggered by user command messages starting with `!` (or other configured prefixes).
19 | - Tools: Called by LLMs during execution of LangBot's built-in Local Agent.
20 |
21 | More component types will be supported for plugin implementation in the future.
22 |
23 | ## Installing Plugins
24 |
25 | Currently supports uploading plugin packages and installing plugins from the plugin marketplace.
26 | In LangBot's plugin management page, click the top-right corner to choose the installation method.
27 |
28 |
29 |
30 | Select `.lbpkg` files shared by others or downloaded from the Marketplace to install plugins.
31 |
32 | Or click the Plugin Marketplace tab, select a plugin, and click install.
33 |
34 |
35 |
36 | ## Plugin Management
37 |
38 | ### Plugin Configuration
39 |
40 | Some plugins may require you to fill in specific configuration items (please refer to the plugin README instructions). Click on the plugin card to enter the plugin details page and obtain and input the required information as prompted.
41 |
42 |
43 |
44 | ### Updating Plugins
45 |
46 | Only plugins installed from the plugin marketplace can be updated.
47 |
48 |
49 |
50 | ## Plugin Marketplace
51 |
52 | The plugin marketplace can be accessed from LangBot's internal `Plugin Management` page, or you can visit the standalone site [LangBot Plugin Marketplace](https://space.langbot.app/market).
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/qq/official_webhook.md:
--------------------------------------------------------------------------------
1 | # 使用 QQ 官方机器人 API(使用webhook方式)
2 |
3 | 本文章只提供测试版机器人的发布,具体机器人上线请按照 [发布流程](https://q.qq.com/qqbot/#/home) 进行部署。
4 |
5 | ## 注册 QQ 机器人(测试机器人)
6 |
7 | ### 配置机器人基本信息
8 |
9 | 前往 [QQ开放平台](https://q.qq.com/#/) ,找到下方的 `应用管理` ,点击创建机器人,填写基本信息之后,进入机器人页面,如图:
10 |
11 | 
12 |
13 | `首页` 选项中的 `发布流程` 即为上线机器人的步骤。由于部署的是测试版机器人,所以只需要进行其中的 `资料` 和 `沙箱配置` 。
14 |
15 | 先进行资料填写,然后点击沙箱配置。
16 |
17 | #### 配置沙箱配置项
18 |
19 | 点击 `沙箱配置` 。
20 | 如果要部署在QQ群中,那么按照 `QQ群ID` 下方的要求进行选择群聊,在消息列表配置中添加有私聊权限的用户。
21 | 如果要部署在QQ频道中,那么按照 `频道ID` 下方的要求选择频道ID,机器人类型为0。
22 |
23 | #### 配置开发管理项
24 |
25 | 点击 `开发管理` 。
26 |
27 | 
28 |
29 | 记录其中的 `AppID` , `Token` , `AppSecret` ,并将 LangBot 所在服务器的IP地址填写到IP白名单中。
30 |
31 | ## 对接 LangBot
32 |
33 | 接下来打开 LangBot 配置页面
34 |
35 | 点击机器人,点击添加
36 |
37 | `平台/适配器选择`为`OneBot v11`
38 |
39 | 
40 |
41 |
42 | ## 配置回调地址
43 |
44 | 由于QQ官方机器人必须要求回调地址是 https 请求,但 LangBot 仅提供 http 方式,所以需要自行配置反向代理。
45 |
46 | 本文建议使用 [Caddy](https://caddy2.dengxiaolong.com/docs/) 反向代理,操作流程如下文。
47 |
48 | ### 操作caddy流程
49 |
50 | #### 安装caddy
51 |
52 | 进入[Caddy安装文档](https://caddy2.dengxiaolong.com/docs/install)。选择对应自己操作系统的安装步骤,进行安装。
53 |
54 | #### 填写Caddyfile
55 |
56 | 本文假设使用 ubuntu 系统部署 LangBot ,那么在系统中,Caddyfile 的默认位置为 `/etc/caddy/Caddyfile`。
57 | 使用 vim 或 nano 编辑 Caddyfile ,Caddyfile文件填写为:
58 | ```json
59 | your_domain_name {
60 | reverse_proxy 127.0.0.1:2284
61 | }
62 | ```
63 | 例如,如果你有域名 testlb.com,并且解析地址为本机,同时开启**443**端口,那么填写为:
64 | ```json
65 | testlb.com {
66 | reverse_proxy 127.0.0.1:2284
67 | }
68 | ```
69 |
70 | 保存并且退出文件。
71 |
72 | **注,Caddyfile文件的填写要求非常严苛,请按照正确的格式填写,如果遇到问题请自行查询Caddy文档或者询问AI。**
73 |
74 | #### 启动caddy
75 | 输入命令
76 | ```bash
77 | sudo systemctl start caddy
78 | ```
79 |
80 | 成功启动后,检查 Caddy 状态命令:
81 | ```bash
82 | sudo systemctl status caddy
83 | ```
84 |
85 |
86 | #### 后续配置
87 |
88 | 若 Caddy 启动不成功,请自行阅读 [Caddy文档](https://caddy2.dengxiaolong.com/docs/quick-starts/caddyfile),或者加入 LangBot 社区群请求帮助。
89 |
90 | 以下是一些可能出现的问题:
91 |
92 | - 没有开启443端口
93 | - 没有将域名解析到本机
94 | - 没有成功保存 Caddyfile
95 |
96 | ### 设置管理端回调地址
97 |
98 |
99 | 首先 **启动 LangBot** 。
100 |
101 | 点击 机器人管理端网页中的 `回调配置`,勾选下面 `添加事件` 中的所有事件。 在请求地址中填写 Caddyfile 中设置的域名,后缀为`/callback/command`。
102 |
103 | 比如域名为 `testlb.com`,那么请求地址中填写 `testlb.com/callback/command` ,点击确定配置。如果回调地址保存成功,那么意味着部署成功。若出现 `校验失败` 字样,请认真检查上述配置项是否填写正确。
104 |
105 | ## 发布方式
106 |
107 | 进入 `首页` 的发布流程 ,按照流程进行机器人发布,上线。
108 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/wecom/wecombot.md:
--------------------------------------------------------------------------------
1 | # Deploying WeCom Intelligent Bot
2 |
3 | :::info
4 | The WeCom Intelligent Robot official API is still being updated, so it currently only accepts requests within 7 seconds.
5 | :::
6 |
7 | ## Creating a Bot
8 |
9 | First, log in to the [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#/).
10 |
11 | 
12 |
13 | Click `Security And Management` in the left sidebar, then click `Intelligent Bot` under `Management Tool`.
14 |
15 | As shown:
16 |
17 | 
18 |
19 | Click `Create Bot`, scroll to the bottom of the page, click `API模式创建`, and enter the page:
20 |
21 | 
22 |
23 | Click to randomly generate Token and EncodingAESKey, then fill in the basic bot information above. **Pay attention to setting the visibility scope**.
24 |
25 | Click `My Company` in the left sidebar and save the Company ID at the bottom.
26 |
27 | ## Configuring Callback URL
28 |
29 | Start the LangBot main program, select the adapter `WeCom Intelligent Bot`, and fill in the configuration items.
30 | Among them, the token is Token, the Encoding-AESKey is EncodingAESKey, and the Bot ID can be filled in as xxx (or filled in randomly, it will be changed later). After filling in, click
31 | `Save`, and `Enable` the robot.
32 |
33 | 
34 |
35 | Return to the WeCom robot configuration page, and fill in the robot callback URL (accepts HTTP) in `URL`, for example: **http://xxx.xxx.xx.xx:2291/callback/command**. If the creation is successful, it will jump to the details page. If the message `Request URL Failed` appears, please double-check whether the above steps have been completed one by one.
36 |
37 | Details page after successful creation:
38 | 
39 |
40 | Copy the `Bot ID` from the WeCom robot details page, return to the LangBot management page, change the Bot ID of the deployed intelligent robot to the copied ID, and restart the robot.
41 |
42 | ## Start Using
43 |
44 | Enter WeCom, click `➕`, as shown:
45 |
46 | 
47 |
48 | Click `Company-Created`, select the created bot, and enter the chat interface.
49 |
50 | Similarly, if you want to invite the bot to a group chat, click the add member button in the group chat and add the bot from there.
51 |
52 | ## Effect Images
53 |
54 | 
--------------------------------------------------------------------------------
/docs/zh/deploy/platforms/dingtalk.md:
--------------------------------------------------------------------------------
1 | # 部署钉钉机器人
2 |
3 | 部署 LangBot 到钉钉。
4 |
5 | ## 创建机器人
6 |
7 | 进入 [钉钉开发者后台](https://open-dev.dingtalk.com/?spm=ding_open_doc.document.0.0.74f445e5MkawbT#/),登录并且进入组织。登录成功后进入开放平台,是这样的:
8 | 
9 |
10 | 点击上方的 `应用开发`,然后点击右面蓝色的按钮 `创建应用`,填写机器人的基本信息,点击保存。
11 |
12 | 进入机器人的后台,比如我们有机器人 langbot2 ,那么它的管理页面是这样的:
13 | 
14 |
15 | ## 配置机器人
16 |
17 | 点击 `添加应用能力`,`其他应用能力`,`机器人`中的 `配置`,点击配置并且填写信息之后,如下图:
18 | 
19 |
20 | 点击页面下方的`发布`,发布成功之后,点击机器人页面中左侧最下方的`版本管理与发布`,如图:
21 | 
22 |
23 | 如果是第一次创建机器人,那么右边是空的,需要点击`创建新版本`,在其中设置信息,然后设置`应用可见范围`,点击保存。
24 |
25 | 点击`事件订阅`,将其中的推送方式改为`Stream模式推送`。
26 |
27 | 如果需要卡片流式,则需要在权限管理中申请卡片权限,如图:
28 | 
29 |
30 | 
31 |
32 | 另外卡片消息主要创建卡片模板,并记录模板id填入配置信息,流程如下:
33 | > 卡片内容模板ID,可通过登录开发者后台 > [卡片平台](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV)获取
34 |
35 | 新建模板填写信息,如图:
36 | 
37 |
38 | 选择预设模板(直接选第一个然后进去后更改模板内容),如图:
39 | 
40 | 点击使用
41 | 
42 | 创建
43 | 
44 |
45 | 点击创建后会跳转到编辑模板。如图,这样你就可以尽情的编辑你想要的卡片消息了:
46 | 
47 |
48 | 主内容这里默认content不要改动即可:
49 | 
50 |
51 | 编辑好没问题之后保存即可,并复制模板id用以填写配置文件:
52 | 
53 | 
54 |
55 |
56 | ## 填写配置信息
57 |
58 | 点击`凭证与基础信息`,记录`Client ID` 和 `Client Secret`,
59 | 点击`应用能力`,`机器人`,记录下 RobotCode 和 机器人名称。
60 | `markdown_card` 为是否启用 Markdown 形式的回复,当此配置项关闭时,`@发送者` 配置开关不会生效。
61 | 将以上配置项 记录下来,填到 LangBot 机器人配置表单中。
62 |
63 | 点击[卡片平台](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV)模板列表复制绑定的对应的模板id填入卡片模板id
64 |
65 |
66 | 
67 |
68 | 流式相关:
69 | 
70 |
71 | **启动 LangBot** 。
72 |
73 | ## 添加机器人
74 |
75 | 本文使用钉钉 windows 桌面版举例,点击上方的`搜索`,`功能`,然后输入刚才机器人创建的名称,如图:
76 | 
77 |
78 | 点击机器人即可和机器人聊天。
79 |
80 | 如果想要添加到群里,那么点击钉钉群的`群管理`,`机器人`,`添加机器人`,然后搜索机器人名称就可以在群中使用。
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/docs/zh/insight/features.md:
--------------------------------------------------------------------------------
1 | # 特性规格
2 |
3 | LangBot 是一个开源的大语言模型原生即时通信机器人开发平台,旨在提供开箱即用的 IM 机器人开发体验,具有 Agent、RAG、MCP 等多种 LLM 应用功能,适配全球主流即时通信平台,并提供丰富的 API 接口,支持自定义开发。
4 |
5 | ## 即时通信平台支持性
6 |
7 | | 平台 | 状态 | 备注 |
8 | | --- | --- | --- |
9 | | QQ 个人号 | ✅ | 由支持 onebot11 协议的第三方应用端支持,支持 QQ 个人号私聊、群聊 |
10 | | QQ 官方机器人 | ✅ | QQ 官方机器人,支持频道、私聊、群聊 |
11 | | 企业微信 | ✅ | |
12 | | 企微智能机器人 | ✅ | |
13 | | 企微对外客服 | ✅ | |
14 | | 微信公众号 | ✅ | |
15 | | 飞书 | ✅ | 支持流式输出 |
16 | | 钉钉 | ✅ | 支持流式输出 |
17 | | Discord | ✅ | |
18 | | Telegram | ✅ | 支持流式输出 |
19 | | Slack | ✅ | |
20 | | LINE | ✅ | |
21 | | WhatsApp | 🚧 | |
22 |
23 | 🚧: 正在开发中
24 |
25 | ## 模型和 LLMOps 平台支持性
26 |
27 | | 供应商/服务 | 状态 | 备注 |
28 | | --- | --- | --- |
29 | | [OpenAI](https://platform.openai.com/) | ✅ | 可接入任何 OpenAI 接口格式模型 |
30 | | [DeepSeek](https://www.deepseek.com/) | ✅ | |
31 | | [Moonshot](https://www.moonshot.cn/) | ✅ | |
32 | | [Anthropic](https://www.anthropic.com/) | ✅ | |
33 | | [xAI](https://x.ai/) | ✅ | |
34 | | [智谱AI](https://open.bigmodel.cn/) | ✅ | |
35 | | [胜算云](https://www.shengsuanyun.com/?from=CH_KYIPP758) | ✅ | 全球大模型都可调用(友情推荐) |
36 | | [优云智算](https://www.compshare.cn/?ytag=GPU_YY-gh_langbot) | ✅ | 大模型和 GPU 资源平台 |
37 | | [PPIO](https://ppio.com/user/register?invited_by=QJKFYD&utm_source=github_langbot) | ✅ | 大模型和 GPU 资源平台 |
38 | | [302.AI](https://share.302.ai/SuTG99) | ✅ | 大模型聚合平台 |
39 | | [Google Gemini](https://aistudio.google.com/prompts/new_chat) | ✅ | |
40 | | [Dify](https://dify.ai) | ✅ | LLMOps 平台 |
41 | | [n8n](https://n8n.io/) | ✅ | LLMOps 平台 |
42 | | [Langflow](https://langflow.org/) | ✅ | LLMOps 平台 |
43 | | [Ollama](https://ollama.com/) | ✅ | 本地大模型运行平台 |
44 | | [LMStudio](https://lmstudio.ai/) | ✅ | 本地大模型运行平台 |
45 | | [GiteeAI](https://ai.gitee.com/) | ✅ | 大模型接口聚合平台 |
46 | | [SiliconFlow](https://siliconflow.cn/) | ✅ | 大模型聚合平台 |
47 | | [阿里云百炼](https://bailian.console.aliyun.com/) | ✅ | 大模型聚合平台, LLMOps 平台 |
48 | | [火山方舟](https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW) | ✅ | 大模型聚合平台, LLMOps 平台 |
49 | | [ModelScope](https://modelscope.cn/docs/model-service/API-Inference/intro) | ✅ | 大模型聚合平台 |
50 | | [TBox(蚂蚁百宝箱)](https://tbox.cn/) | ✅ | LLMOps 平台 |
51 |
52 | ## LLM 应用范式实现
53 |
54 | | 应用范式 | 状态 | 备注 |
55 | | --- | --- | --- |
56 | | Agent | ✅ | |
57 | | RAG | ✅ | 使用 Chroma 作为向量数据库 |
58 | | MCP | ✅ | 支持 Stdio 和 HTTP 两种方式 |
59 |
60 | ## 案例截图
61 |
62 | 
63 |
64 | 
65 |
66 | 
67 |
68 | 
69 |
70 | 
71 |
72 | 
73 |
74 |
--------------------------------------------------------------------------------
/docs/en/deploy/langbot/one-click/1panel.md:
--------------------------------------------------------------------------------
1 | # 1Panel Deployment
2 |
3 | Deploy LangBot with one click using [1Panel](https://www.bt.cn/new/download.html?r=dk_LangBot).
4 |
5 | :::warning
6 |
7 | Unless you plan to use messaging platforms that do not require additional containers (such as Discord or Lark), or you are familiar with the network connection between Docker containers on 1Panel, it is not recommended to use the one-click deployment of 1Panel. Please consider using [Docker Deployment](/en/deploy/langbot/docker) instead.
8 |
9 | :::
10 |
11 | :::info
12 |
13 | With [Alibaba Cloud](https://www.aliyun.com/minisite/goods?userCode=ys4ad8gs), you can get a server for as low as 38 yuan per year, and even enjoy a 20% discount. It is more convenient to install 1Panel with one click.
14 |
15 | :::
16 |
17 | ## Install 1Panel
18 |
19 | > Recommended server systems (from 1Panel): Debian 12, Ubuntu 22, etc.
20 |
21 | This article assumes that the server has a public IPv4 address by default. If you are using a home machine without a public IP, you can access the relevant pages through the internal network described below.
22 |
23 | Visit [1Panel](https://www.bt.cn/new/download.html?r=dk_LangBot) and use the Linux panel installation script provided officially by 1Panel. Select the corresponding script according to your operating system.
24 |
25 |
26 |
27 | 
28 |
29 | Copy the corresponding script, paste it into the server, and execute it.
30 |
31 | After waiting for a period of time, the installation of 1Panel will be completed.
32 |
33 | Then copy the `External Address` and open it in a browser.
34 |
35 | ## Install LangBot
36 |
37 | Open the `App Store`, select the `AI` category, and click to install LangBot.
38 |
39 |
40 |
41 | 
42 |
43 | Check the box for `External Port Access` and click Confirm.
44 |
45 |
46 |
47 | 
48 |
49 | Wait for a moment, and the installation will be completed.
50 |
51 | Click `Containers` on the left side, then select the `Containers` category, and you will see the LangBot container bar.
52 |
53 |
54 |
55 | 
56 |
57 | Copy the public IP address of the server, for example, `http://xxx.xxx.xxx.xxx:5300` (where xxx.xxx.xxx.xxx is the IP address of the server where 1Panel is located, and 5300 is the port number).
58 |
59 | Open the address, enter the administrator email and password, then click Initialize.
60 |
61 | After that, you can configure LangBot in the visual interface.
62 |
63 | Next, please continue to read the [Deploy Messaging Platforms](/en/deploy/platforms/readme) page.
--------------------------------------------------------------------------------
/docs/en/develop/plugin-runtime.md:
--------------------------------------------------------------------------------
1 | # Debugging Plugin Runtime, CLI, SDK
2 |
3 | ::: info
4 | Please read the [Plugin Tutorial](/en/plugin/plugin-intro) first to understand the plugin system.
5 |
6 | - Plugin Runtime, CLI, SDK are open sourced at: https://github.com/langbot-app/langbot-plugin-sdk
7 | :::
8 |
9 | Clone the plugin runtime source code:
10 |
11 | ```bash
12 | git clone https://github.com/langbot-app/langbot-plugin-sdk
13 | ```
14 |
15 | Enter the plugin runtime directory and install dependencies:
16 |
17 | ```bash
18 | cd langbot-plugin-sdk
19 | uv sync --dev
20 | ```
21 |
22 | At this point, uv will automatically create a virtual environment (.venv) for you. If your editor asks whether to use this virtual environment, please select `Yes`.
23 |
24 | Or you can manually activate this virtual environment:
25 |
26 | ```bash
27 | source .venv/bin/activate
28 | ```
29 |
30 | ## Start Plugin Runtime
31 |
32 | ```bash
33 | lbp rt
34 | ```
35 |
36 | Please ensure that the `lbp` command is the `lbp` executable in the virtual environment of this directory, or start it via `python -m langbot_plugin.cli.__init__ rt`.
37 |
38 | Plugin Runtime accepts the following parameters:
39 |
40 | - `--debug-only`: Do not start plugins in the `data/plugins` directory, only allow loading plugins through debug connections.
41 | - `--ws-debug-port`: Debug port to listen on, default is `5401`.
42 | - `--ws-control-port`: Control port to listen on (for LangBot main program connection), default is `5400`.
43 | - `-s`: Use `stdio` to accept control connections. **Use only in production environment**.
44 |
45 | ### Make LangBot Connect to This Runtime
46 |
47 | Configure `plugin.runtime_ws_url` to `ws://localhost:5400/control/ws` in LangBot's `data/config.yaml`.
48 |
49 | ```yaml
50 | plugin:
51 | runtime_ws_url: ws://localhost:5400/control/ws
52 | ```
53 |
54 | And add the startup parameter `--standalone-runtime` when starting the LangBot main program (e.g., `uv run main.py --standalone-runtime`).
55 | Restart LangBot, and it will connect to this runtime using WebSocket.
56 |
57 | ## langbot-plugin-sdk Architecture
58 |
59 | This codebase contains the following:
60 |
61 | - `langbot_plugin.api`: Plugin-related entities and API definitions.
62 | - `langbot_plugin.assets`: Plugin templates.
63 | - `langbot_plugin.cli`: Plugin development CLI tools.
64 | - `langbot_plugin.entities`: Plugin system-related entities not defined in API.
65 | - `langbot_plugin.runtime`: Plugin runtime and underlying communication (stdio and websocket) implementation.
66 |
67 | ## `lbp` CLI Tool
68 |
69 | The CLI tool provides Runtime startup, plugin initialization, plugin component management, Marketplace interaction, and other functions.
70 |
71 | For detailed program entry points, please see [`langbot_plugin.cli.__init__`](https://github.com/langbot-app/langbot-plugin-sdk/blob/main/src/langbot_plugin/cli/__init__.py).
--------------------------------------------------------------------------------
/docs/en/workshop/impl-platform-adapter.md:
--------------------------------------------------------------------------------
1 | # Implementing a Message Platform Adapter
2 |
3 | This article will use the `aiocqhttp` adapter as an example to explain how to implement a new message platform adapter for LangBot, in order to integrate new message platform protocols such as WhatsApp and Discord.
4 |
5 | ## Registration
6 |
7 | ```text
8 | Add a new message platform adapter, for example: integrate WhatsApp, Discord, etc.
9 |
10 | - Base class: `pkg.platform.adapter.MessageSourceAdapter`
11 | - Decorator: `pkg.platform.adapter.adapter_class(name: str)`
12 | - Reference implementation: `pkg.platform.sources/`
13 | ```
14 |
15 | To implement a message platform adapter, we essentially need to implement a class that inherits from the `base class` and register it using the `decorator`. Finally, it will be available for users to select and use during runtime.
16 |
17 | ### Contributing to the Main Repository
18 |
19 | Create a new file `aiocqhttp.py` in the `pkg/platform/sources/` directory:
20 |
21 | ```python
22 | from .. import adapter
23 |
24 | @adapter.adapter_class("aiocqhttp")
25 | class AiocqhttpAdapter(adapter.MessageSourceAdapter):
26 | pass
27 | ```
28 |
29 | Also import this module in `pkg/platform/manager.py` at line 40:
30 |
31 | ```python
32 | from .sources import nakuru, aiocqhttp, qqbotpy
33 | ```
34 |
35 | Finally, write your own manifest file by referring to other adapters' manifest files.
36 |
37 | ## Event and Message Converters
38 |
39 | The main work of a message platform adapter is to `receive events from the message platform protocol, convert them into LangBot's format`, pass them to the core components, and after LangBot's core components process them, pass the content that needs to be replied to the message platform adapter, which then `converts the content into the platform protocol format and sends it to the message platform`.
40 |
41 | The following diagram shows the processing patterns for two scenarios: message platform protocol without SDK and with mature SDK. In the first case, we need to implement connection management and network format data conversion to LB message Python objects according to the message platform protocol documentation. In the second case, the message platform has a mature SDK, we only need to create connections according to the SDK documentation, register event listeners, and implement message converters.
42 |
43 | 
44 |
45 | In the `pkg.platform.sources.aiocqhttp` file, we can see not only `AiocqhttpAdapter`, but also `class AiocqhttpMessageConverter(adapter.MessageConverter):` and `class AiocqhttpEventConverter(adapter.EventConverter):`.
46 |
47 | - `MessageConverter` is used for converting between LangBot messages and platform messages.
48 | - `EventConverter` is used for converting between LangBot events and platform events.
49 |
50 | TBC...
51 |
--------------------------------------------------------------------------------
/docs/en/deploy/pipelines/dify.md:
--------------------------------------------------------------------------------
1 | # Using Dify with LangBot
2 |
3 | [Dify](https://dify.ai) is an open-source large language model (LLM) application development platform. It combines the concepts of Backend as Service and LLMOps, enabling developers to quickly build production-grade generative AI applications.
4 | Dify can create chat assistants (including Chatflow), Agents, text generation applications, workflows, and other types of applications.
5 |
6 | LangBot currently supports three types of Dify applications: `Chat Assistant` (including Chatflow), `Agent`, and `Workflow`.
7 |
8 | ## Creating an Application in Dify
9 |
10 | Please follow the [Dify documentation](https://docs.dify.ai) to deploy Dify and create your application.
11 |
12 | After publishing your application, go to the `Access API` page of your application to generate an API key.
13 |
14 | 
15 |
16 | Save the API server and API key for configuring LangBot's pipeline `AI Capability`.
17 |
18 | :::info
19 | The above is an example for Dify cloud service version. If you are using the self-hosted community version, please use your own Dify service address as the `base-url` in LangBot, and add `/v1` as the path.
20 |
21 | - If LangBot and Dify are deployed on the same host and both are deployed using Docker, you can refer to the article: [Network Configuration Details](/zh/workshop/network-details.html#langbot-%E5%92%8C%E6%B6%88%E6%81%AF%E5%B9%B3%E5%8F%B0%E5%9D%87%E8%BF%90%E8%A1%8C%E5%9C%A8-docker-%E5%AE%B9%E5%99%A8%E4%B8%AD). In this case, add `langbot-network` to the `networks` of all containers in the docker-compose.yaml file that starts Dify, add the container name `dify-nginx` to the `nginx` container, and finally set `base-url` to `http://dify-nginx/v1` in the LangBot configuration.
22 | - For other cases, please consult your company's operations team.
23 | :::
24 |
25 | ## Configuring LangBot
26 |
27 | Open the LangBot WebUI page, add a new pipeline or switch to the AI capability configuration page in an existing pipeline.
28 |
29 | 
30 |
31 | ::: info
32 | ### Workflow Output Key
33 |
34 | If you are using a Dify workflow application, please use `summary` as the key to pass the output content.
35 |
36 | 
37 |
38 | ## Output Processing
39 |
40 | When using a workflow application or Agent application, if you enable `track-function-calls` in LangBot's pipeline `Output Processing`, a message of `calling function xxx` will be output to the user when Dify executes each tool call.
41 | However, if you are using `ChatFlow` under the `chat` application (Chat Assistant -> Workflow Orchestration), it will only output the text returned by the Answer (direct reply) node regardless of the settings.
42 | :::
43 |
--------------------------------------------------------------------------------
/docs/en/deploy/pipelines/readme.md:
--------------------------------------------------------------------------------
1 | # Modify Dialogue Pipeline Configuration (Pipelines)
2 |
3 | The pipeline controls the processing flow after receiving a message, as well as the information exchange with the large language model. Each bot can be bound to one pipeline, and the same pipeline can be bound to multiple bots.
4 |
5 | LangBot automatically creates a default pipeline when first started. When creating a bot, it is automatically bound to the default pipeline. When creating the first model, it is automatically set as the model for the default pipeline.
6 |
7 | 
8 |
9 | You can create multiple pipelines for different bots to adapt to different scenarios.
10 |
11 |
12 |
13 | The current pipeline can be configured with the following features:
14 |
15 | ## AI Capabilities
16 |
17 | You can choose to use: `Built-in Agent`, [`Dify`](https://dify.ai/), [`n8n`](https://n8n.io/)
18 |
19 | AI capabilities are mainly divided into two parts: selecting the runner and configuring runner parameters.
20 |
21 | The runner defines how to schedule the large model to process messages. The default is `Built-in Agent`, which is a multi-round Agent strategy implemented by LangBot. Only when this runner is selected will the models and tools configured internally in LangBot be used.
22 |
23 | **
24 |
25 |
26 |
27 | You can also choose to use external LLMOps platforms such as `Dify`, [`n8n`](https://n8n.io/). In this case, the models, prompts, tools, and other resources used will be provided by the LLMOps platform.
28 |
29 |
30 |
31 | - For detailed steps on connecting to Dify, you can [refer to the tutorial](/en/deploy/pipelines/dify.html).
32 | - For detailed steps on connecting to n8n, you can [refer to the tutorial](/en/deploy/pipelines/n8n.html).
33 |
34 | ### Conversation Variables
35 | When using external LLMOps platforms, LangBot explicitly passes the following parameters, which you can add to the start node of the LLMOps platform workflow (the image below is an example of Dify):
36 |
37 | - `user_message_text`: The plain text of the user message
38 | - `session_id`: User session ID, `person_` for private chat, `group_` for group chat
39 | - `conversation_id`: String, user session ID, generated by LangBot. It will be regenerated after the user resets the session
40 | - `msg_create_time`: Numeric type, timestamp (seconds) when this message was received
41 |
42 | You can [customize any variable through plugins](/zh/plugin/dev/apis/common.html#set-request-variables).
43 |
44 | 
45 |
46 | ## Other Configurations
47 |
48 | Please refer to the descriptions in the configuration form.
49 |
--------------------------------------------------------------------------------
/docs/zh/deploy/settings.md:
--------------------------------------------------------------------------------
1 | # 系统环境设置
2 |
3 | 配置系统运行的一些环境信息,文件位于`data/config.yaml`。
4 | 一般不需要修改。
5 |
6 | ```yaml
7 | # 管理员会话列表,仅在处理命令时有效
8 | # 格式为会话ID(person_xxxx 或 group_xxxx)
9 | # 会话ID 可以在发送消息时查看控制台日志找到
10 | # 例如:
11 | # admins:
12 | # - person_1234567890
13 | # - group_1234567890
14 | admins: []
15 |
16 | # API 端口
17 | api:
18 | port: 5300
19 |
20 | # 命令配置
21 | command:
22 | # 命令前缀,具有这些前缀的消息会被识别为命令
23 | prefix:
24 | - '!'
25 | - !
26 |
27 | # 命令权限配置,key 为命令前缀,value 为权限类型
28 | privilege: {}
29 |
30 | # 并发设置
31 | concurrency:
32 | # 单流水线并发数
33 | pipeline: 20
34 | # 单会话并发数
35 | session: 1
36 |
37 | # MCP 配置
38 | # 后续应该会改为在 WebUI 上可以配置
39 | mcp:
40 | # MCP 服务器列表
41 | # 目前支持两种协议的 MCP 服务器:
42 | # - SSE
43 | # - Stdio(Python)
44 | #
45 | # 格式:
46 | # SSE 模式:
47 | # name 服务器名称,自行定义
48 | # enable 是否启用本 Server
49 | # mode 固定填写 sse
50 | # url MCP SSE Server 的访问 URL
51 | # headers 连接时的 headers,可选
52 | # timeout 连接超时时间
53 | #
54 | # stdio 模式:
55 | # name 服务器名称,自行定义
56 | # enable 是否启用本 Server
57 | # mode 固定填写 stdio
58 | # command 执行命令
59 | # args 执行命令的参数
60 | # env 执行命令的环境变量,可选
61 | #
62 | # 例如:
63 | # servers:
64 | # - name: 'SSE Server'
65 | # enable: true
66 | # mode: sse
67 | # url: 'http://127.0.0.1:8000/sse'
68 | # headers: {}
69 | # timeout: 10
70 | # - name: 'stdio Server'
71 | # enable: true
72 | # mode: stdio
73 | # command: 'python'
74 | # args: ['-m', 'weather']
75 | # env: {}
76 | servers: []
77 |
78 | # 代理配置
79 | proxy:
80 | # HTTP 代理地址
81 | # 如果已经在环境变量设置了代理,则不需要配置
82 | # 例如:
83 | # proxy:
84 | # http: 'http://127.0.0.1:7890'
85 | # https: 'http://127.0.0.1:7890'
86 | http: ''
87 | https: ''
88 |
89 | # 系统配置
90 | system:
91 | # JWT 配置
92 | jwt:
93 | # JWT 过期时间,单位为秒
94 | expire: 604800
95 | # JWT 密钥,首次启动时会自动生成一个密钥
96 | secret: 'xxxx'
97 |
98 | # 插件系统配置
99 | plugin:
100 | # 是否启用插件系统
101 | enable: true
102 | # 插件运行时 WebSocket 地址
103 | # 默认为 Docker 环境下的默认值
104 | # 若要使用独立的 Plugin Runtime,请参考 https://docs.langbot.app/zh/develop/plugin-runtime.html
105 | runtime_ws_url: 'ws://langbot_plugin_runtime:5400/control/ws'
106 | # 是否启用插件市场
107 | enable_marketplace: true
108 | # 插件市场 URL
109 | cloud_service_url: 'https://space.langbot.app'
110 |
111 | # 向量数据库配置
112 | vdb:
113 | # 所使用的向量数据库
114 | # 支持的向量数据库:
115 | # - chroma(默认,嵌入式向量数据库)
116 | # - qdrant(外部向量数据库,请在下方配置)
117 | use: chroma
118 | # Qdrant 配置
119 | qdrant:
120 | # Qdrant 的 URL
121 | url: ''
122 | # Qdrant 的 Host
123 | host: localhost
124 | # Qdrant 的 Port
125 | port: 6333
126 | # Qdrant 的 API Key
127 | api_key: ''
128 | ```
129 |
--------------------------------------------------------------------------------
/docs/zh/plugin/dev/components/event-listener.md:
--------------------------------------------------------------------------------
1 | # 组件:事件监听器
2 |
3 | LangBot 的流水线在运行期间会产生一些事件,供插件 Hook 并处理。每个插件中只允许添加一个事件监听器(components/event_listener/default.yaml),但在其中可以注册任意数量的事件。
4 |
5 | ## 添加事件监听器组件
6 |
7 | 请在插件目录执行命令`lbp comp EventListener`,创建事件监听器组件不需要填写任何配置。
8 |
9 | ```bash
10 | ➜ HelloPlugin > lbp comp EventListener
11 | Generating component EventListener...
12 | Component EventListener generated successfully.
13 | 组件 EventListener 生成成功。
14 | ```
15 |
16 | 现在即会在`components/event_listener/`目录下生成`default.yaml`和`default.py`文件,`.yaml`定义了事件监听器的基础信息,`.py`是该事件监听器的处理程序:
17 |
18 | ```bash
19 | ➜ HelloPlugin > tree
20 | ...
21 | ├── components
22 | │ ├── __init__.py
23 | │ └── event_listener
24 | │ ├── __init__.py
25 | │ ├── default.py
26 | │ └── default.yaml
27 | ...
28 | ```
29 |
30 | ## 清单文件:事件监听器
31 |
32 | 由于每个插件仅允许添加一个事件监听器,故清单文件中不需要修改任何内容。
33 |
34 | ## 插件处理
35 |
36 | 默认会生成如下代码(components/event_listener/default.py),您需要在`DefaultEventListener`类的`initialize`方法中注册并实现事件的处理逻辑。
37 |
38 | ```python
39 | # Auto generated by LangBot Plugin SDK.
40 | # Please refer to https://docs.langbot.app/en/plugin/dev/tutor.html for more details.
41 | from __future__ import annotations
42 |
43 | from langbot_plugin.api.definition.components.common.event_listener import EventListener
44 | from langbot_plugin.api.entities import events, context
45 |
46 |
47 | class DefaultEventListener(EventListener):
48 |
49 | async def initialize(self):
50 | await super().initialize()
51 |
52 | "Fill with your code here"
53 | ```
54 |
55 | 添加对特定事件的监听:
56 |
57 | ```python
58 | ...
59 | class DefaultEventListener(EventListener):
60 |
61 | async def initialize(self):
62 | await super().initialize()
63 |
64 | @self.handler(events.PersonMessageReceived)
65 | async def handler(event_context: context.EventContext):
66 | print("Hello LangBot Plugin!")
67 | print(event_context)
68 |
69 | await event_context.reply(
70 | platform_message.MessageChain([
71 | platform_message.Plain(text=f"Hello from Nahida Plugin!"),
72 | ])
73 | )
74 | ```
75 |
76 | 此代码将注册对`PersonMessageReceived(收到来自私聊的任何消息)`事件的监听,并在事件触发时打印事件的上下文(EventContext)信息,并调用事件上下文 API 回复一条消息。
77 |
78 | EventContext 保存了该此事件触发的通用上下文信息,而 EventContext.event 为 PersonMessageReceived (或其他对应的事件类型)的对象,保存了该事件的详细信息。
79 |
80 | ```python
81 | # EventContext 的定义摘要
82 | class EventContext(pydantic.BaseModel):
83 | """事件上下文, 保存此次事件运行的信息"""
84 | ...
85 |
86 | event: pydantic.SerializeAsAny[BaseEventModel]
87 | """此次事件的对象,具体类型为handler注册时指定监听的类型,可查看events.py中的定义"""
88 |
89 | ...
90 | ```
91 |
92 | ## 事件注册
93 |
94 | 事件注册通过装饰器`@self.handler`实现,装饰器参数为事件类型。可监听的事件均在`langbot_plugin.api.entities.builtin.events`中定义。
95 |
96 | ## 接下来做什么
97 |
98 | 您已经了解了事件监听器的基本信息,接下来可以:
99 |
100 | - 在文档[流水线事件](/zh/plugin/dev/apis/pipeline-events)中查看`可监听的事件列表`和`事件上下文 API`
101 | - 查看[插件通用 API](/zh/plugin/dev/apis/common)
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/qq/aiocqhttp/lagrange.md:
--------------------------------------------------------------------------------
1 | # Deploy Message Platform Lagrange
2 |
3 | ## Lagrange Introduction
4 |
5 | Lagrange is a QQNT protocol reverse engineering framework that is lightweight and relatively stable. Connect through the OneBot 11 protocol, you need to select `OneBot v11` as the adapter.
6 |
7 | ::: warning
8 | You need to use NT QQ to interact with the bot, old versions of QQ will not work properly
9 | :::
10 |
11 | ## Deployment Steps
12 |
13 | 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/)
14 |
15 | ### Environment Configuration
16 |
17 | Install .NET 8 runtime, [Click here to go directly to Microsoft's official website to download](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.4-windows-x64-installer)
18 |
19 | ### Download the latest build from Github Actions
20 |
21 | You need to log in to Github to download. If you don't need certain features, you can download from Release, see image 3
22 |
23 | [Github Actions](https://github.com/KonataDev/Lagrange.Core/actions)
24 |
25 | Follow the images to download:
26 |
27 | 
28 |
29 | 
30 |
31 | 
32 |
33 | ### Final Steps
34 |
35 | Extract the zip you downloaded, navigate to the directory containing Lagrange.OneBot.exe, open a cmd command prompt in this directory, and enter
36 |
37 | ```bash
38 | .\Lagrange.OneBot
39 | ```
40 |
41 | Run it once, if a QR code is output, you can directly scan it with the bot account to log in (if the QR code is not clear, you can look for the image file in the lagrange data directory).
42 |
43 | If you cannot log in, please check if you have correctly filled in the signature address SignServerUrl in the lagrange configuration file appsettings.json. Please look for the signature address in the lagrange documentation.
44 |
45 | ## Modify Configuration
46 |
47 | You need to configure Lagrange to connect to LangBot. Please edit Lagrange's configuration file appsettings.json and ensure that the connection configuration in Implementations matches the content in the image below:
48 |
49 | 
50 |
51 | The Type must be `ReverseWebSocket`;
52 | Host is the IP of the host running LangBot, if on the same host, you can write `127.0.0.1`;
53 | Suffix must be `/ws`;
54 |
55 | ## Lagrange Integration
56 |
57 | Next, open the LangBot configuration page
58 |
59 | Click on Bots, then click Add
60 |
61 | Select `OneBot v11` for `Platform/Adapter Selection`
62 |
63 | 
64 |
65 | ::: info
66 | Note, if you have network connection issues involving multiple docker containers, please refer to [Network Configuration Details](/en/workshop/network-details)
67 | :::
68 |
--------------------------------------------------------------------------------
/docs/en/deploy/platforms/wecom/wecom.md:
--------------------------------------------------------------------------------
1 | # Deploy WeCom Bot
2 |
3 | Deploy WeCom (Enterprise WeChat) bot to connect with LangBot.
4 |
5 | :::info
6 | This integration method is for internal enterprise applications, used within the enterprise. If you need external customer service, please check the [WeCom Customer Service integration solution](wecomcs.md).
7 | :::
8 |
9 |
10 | ## Create Bot
11 |
12 | Enter the [WeCom Admin Portal](https://work.weixin.qq.com/), log in to your account, after entering the main page, click `App Management`, `Build Your Own`, `Create App`, fill in the basic information of the bot, after creation, you will see a page similar to this:
13 | 
14 |
15 | ## Set Callback Address
16 |
17 | ### Get WeCom Configuration Items
18 |
19 | 1. Open the WeCom Admin Portal homepage, click `My Enterprise`, and record the Enterprise ID at the bottom.
20 |
21 | 
22 |
23 | 2. Enable Contact Sync Permission
24 |
25 | :::info
26 | - This configuration item is for implementing LangBot's mass messaging feature, the specific code is located in libs/wecom_api/api.py.
27 | - LangBot is still under development, so the functionality related to this configuration item has not been implemented yet.
28 | - This configuration item can be filled with random characters, but **cannot be empty**.
29 | :::
30 |
31 | 
32 |
33 | Click `Security and Management`, `Management Tools`, `Contact Sync`
34 |
35 | 
36 |
37 | Click `View Secret`, record it, this is the contacts_secret (Contact Sync Secret).
38 |
39 | 3. Click `App Management`, find the bot you just created, view the bot's secret, and record it.
40 |
41 | 
42 |
43 | At this point, you have obtained three configuration items: corpid (Enterprise ID), secret (Bot Secret), and contacts_secret (Contact Sync Secret).
44 |
45 | ### Configure Callback Address
46 |
47 | Enter the bot page.
48 |
49 | Click `Enterprise Trusted IP` at the bottom and add the server where LangBot is deployed.
50 |
51 | Click `Receive Messages`, `Set API Reception`, and start filling in the server message reception configuration.
52 |
53 | Fill in the URL as `http://your_ip_address:2290/callback/command`, where your IP address is the address of the server where LangBot is deployed.
54 |
55 | Click to randomly generate the Token and EncodingAESKey, and record them
56 |
57 | ## Connect to LangBot
58 |
59 | 
60 |
61 | ## Save Callback Address
62 | When the five configuration items above have been correctly obtained and accurately filled into the WeCom adapter, then **start LangBot**.
63 |
64 | Return to the callback address configuration page and click save. If the above configuration items are filled in correctly, the save will be successful, which means that WeCom and LangBot can communicate (deployment successful). If you see **openapi request callback address failed**, please triple-check that your configuration items are filled in correctly.
65 |
--------------------------------------------------------------------------------
/docs/en/workshop/network-details.md:
--------------------------------------------------------------------------------
1 | # Network Configuration Details
2 |
3 | ::: info
4 | Some messaging platforms (such as personal QQ accounts) require an independent protocol endpoint to process messages. If you are using such messaging platforms, please refer to the following network configuration.
5 | At the same time, if your LangBot instance needs to connect to other services running in containers (such as Ollama), you can also refer to the following configuration, replacing `messaging platform` with `the service you want to connect to`.
6 | :::
7 |
8 | LangBot and some messaging platforms can both be deployed using Docker. Below are network configuration details for four different scenarios.
9 |
10 | :::info Table of Contents
11 | [[toc]]
12 | :::
13 |
14 | ## Both LangBot and Messaging Platform Running in Docker Containers
15 |
16 | If the messaging platform (NapCat/Lagrange) and LangBot are both started using Docker, you need to configure Docker's network connection.
17 |
18 | Create a new network:
19 |
20 | ```bash
21 | docker network create langbot-network
22 | ```
23 |
24 | Add network configuration to the `docker-compose.yaml` file in the LangBot directory (add to the `services.langbot` field, and add the `langbot-network` network configuration under the `networks` field):
25 |
26 | ```yaml
27 | services:
28 | langbot:
29 | ...
30 | networks:
31 | - langbot-network
32 | ...
33 |
34 | networks:
35 | langbot-network:
36 | external: true
37 | ```
38 |
39 | Then add the same network configuration to the messaging platform's `docker-compose.yaml` file (if started directly with docker run command, add `--network langbot-network` to the startup command). Then in the messaging platform configuration file, change the IP address in the WS reverse connection address to `langbot` (for example: `ws://langbot:2280/ws`).
40 |
41 | Restart both containers.
42 |
43 |
44 |
45 | ## Only LangBot Running in Docker Container
46 |
47 | When only LangBot is deployed using Docker, ports 2280 to 2290 are already mapped to outside the container by default. At this time, LangBot can only act as a WebSocket server, accepting connections from messaging platforms as clients.
48 |
49 | Please set the messaging platform to ReverseWebSocket (called `reverse ws` or `WebSocket client`), with the port corresponding to the port enabled by LangBot's aiocqhttp adapter, connecting to local 127.0.0.1.
50 |
51 |
52 | ## Neither LangBot nor Messaging Platform Using Docker Deployment
53 |
54 | Configure the messaging platform and LangBot settings according to the documentation, set both ports to the same unused port, and both connect to local 127.0.0.1.
55 |
56 | ## Only Messaging Platform Running in Docker Container (Not Recommended)
57 |
58 | :::warning
59 | Only supports Linux, or other systems that support host mode docker networking.
60 | :::
61 |
62 | Currently, LangBot's aiocqhttp adapter only supports reverse WebSocket connections. When the messaging platform runs in a Docker container while LangBot runs directly on the host machine, the messaging platform must act as a client connecting to LangBot. In this case, you can only set the messaging platform's network to `host` mode, and then set its WS connection address to 127.0.0.1, with the port corresponding to the port enabled by LangBot's aiocqhttp adapter.
63 |
--------------------------------------------------------------------------------
/docs/en/deploy/langbot/one-click/bt.md:
--------------------------------------------------------------------------------
1 | # aaPanel Deployment
2 |
3 | Deploy LangBot with one click using [aaPanel](https://www.bt.cn/new/download.html?r=dk_LangBot).
4 |
5 | :::warning
6 | - Unless you plan to use message platforms like Discord or Feishu that don't require additional containers, or you are familiar with Docker container networking on aaPanel, it's not recommended to use one-click deployment with aaPanel. Please consider using [Docker deployment](/en/deploy/langbot/docker).
7 | - If you already have aaPanel installed, please update to version **9.2.0** or higher
8 | :::
9 |
10 |
11 | ## Installing aaPanel
12 |
13 | > Recommended server systems (from aaPanel): Debian 12, Ubuntu 22, etc.
14 | >
15 | > This document assumes you have a server with a public IPv4 address. If you're using a home machine without a public IP, you can access the relevant pages through the internal network mentioned below.
16 |
17 | Open [aaPanel](https://www.bt.cn/new/download.html?r=dk_LangBot), use the Linux panel installation script provided by aaPanel official, and select the corresponding script based on your system.
18 |
19 | 
20 |
21 | Copy the corresponding script and paste it into your server to execute.
22 |
23 | ## Installing LangBot
24 |
25 | After waiting for a while, aaPanel installation will be complete.
26 |
27 | You'll see a message similar to this, copy the external panel address and open it in your browser.
28 |
29 | 
30 |
31 | When you first open it, you should see a popup for `Recommended Installation Suite`. You can skip this by closing it.
32 |
33 | Then click on `docker` in the sidebar. If it's your first time, you'll be prompted to install Docker and Docker Compose services. Click "Install Now" if prompted, or ignore if already installed.
34 |
35 | Then go to `Docker -> App Store`, search for `LangBot` (note the case sensitivity), click `Install`, and use the default configuration.
36 |
37 | After a short wait, you'll see a container named `langbot_XXXX` showing as `Running`.
38 |
39 | 
40 |
41 | Click the red circle in the image above to view the running logs.
42 |
43 | 
44 |
45 | You can see the external and internal access paths for the WebUI configuration page (visual configuration page). Copy the public address, for example `http://xxx.xxx.xxx.xxx:5300` (where xxx.xxx.xxx.xxx is your aaPanel IP, and 5300 is the port number, which may vary as shown in the image).
46 |
47 | After opening it, enter your admin email and password, then click initialize.
48 |
49 | You can then proceed with configuration in the visual interface.
50 |
51 | If you prefer to directly modify JSON configuration files, you can look at the local mapping directory shown in the image above. Go to the installation directory, where the `data` folder is used to store configuration files, and the `plugins` folder is used for plugin-related files.
52 |
53 | Next, please continue reading the [Deploy Message Platform](/en/deploy/platforms/readme) page.
54 |
--------------------------------------------------------------------------------