Channels
Sidebar → Channels → New
Select the channel type and fill in the credentials, then assign agent + saver + memory. Every user/group chat is isolated automatically.
Supported Channels
| Type | Required fields |
|---|---|
| Lark / Feishu | App ID, App Secret |
| Slack | Bot Token (xoxb-...), App Token (xapp-...) |
| WeCom | Bot ID, Secret |
| QR code login (credentials auto-populated) | |
| DingTalk | Client ID, Client Secret (AppKey / AppSecret, Stream mode) |
| App ID, Client Secret (QQ Bot Open Platform, WebSocket Gateway) | |
| OneBot (QQ) | WS Host, WS Port, optional Access Token |
| XiaoAI | Mi account ID, Login credential, Speaker name |
Lark / Feishu
- Create a bot app in the Feishu Developer Console (or the Lark Developer Console for international)
- Enable Bot capability
- Grant the following permissions under Permissions & Scopes (or use Batch Import with the JSON below):
| Permission | Description |
|---|---|
im:message:send_as_bot | Send messages as bot |
im:message.p2p_msg:readonly | Receive direct messages |
im:message.group_at_msg:readonly | Receive group @bot messages |
im:message.group_msg | Receive all group messages |
im:message:readonly | Read message content |
im:chat:readonly | Read chat/group info |
im:resource | Read files and images in messages |
contact:user.base:readonly | Read basic user info |
contact:contact.base:readonly | Read basic contact info |
Batch import JSON
{
"scopes": {
"tenant": [
"contact:contact.base:readonly",
"contact:user.base:readonly",
"im:chat:readonly",
"im:message.group_at_msg:readonly",
"im:message.group_msg",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource"
],
"user": []
}
}- Under Events & Callbacks, set the subscription mode to Long Connection
- In Web UI → Channels, create a Lark channel and fill in App ID and App Secret
Supports event deduplication, interactive cards, per-user context isolation, and file/image send and receive.
Slack
- Create a Slack app at api.slack.com/apps
- Enable Socket Mode and generate an App-Level Token (
xapp-...) with theconnections:writescope - Add bot scopes:
chat:write,im:history,im:read,app_mentions:read,channels:history,groups:history,files:read - Install the app to your workspace and copy the Bot User OAuth Token (
xoxb-...) - In Web UI → Channels, create a Slack channel and fill in both tokens
WeCom
- Create an AI app in the WeCom Admin Console and obtain the Bot ID and Secret
- In Web UI → Channels, create a WeCom channel and fill in Bot ID and Secret
Connects via WebSocket for real-time messaging, with file and image support.
WeChat
- In Web UI → Channels, create a WeChat channel
- Click QR login and scan the code with WeChat to authenticate
- Credentials are saved automatically once authenticated, and the channel goes live immediately
WeChat integration connects via the iLink Bot API, with file and image support.
DingTalk
- Create a bot app in the DingTalk Open Platform and obtain the Client ID and Client Secret (a.k.a. AppKey / AppSecret)
- Use Stream mode for the bot so no public callback URL is required
- In Web UI → Channels, create a DingTalk channel and fill in Client ID and Client Secret
QQ
The QQ channel connects an official bot from the QQ Bot Open Platform via its WebSocket Gateway.
- Create a bot on the QQ Bot Open Platform and obtain the App ID and Client Secret (AppSecret)
- In Web UI → Channels, create a QQ channel and fill in App ID and Client Secret
QQ vs OneBot
Use QQ for an official QQ bot via the open platform. Use OneBot below to bridge an unofficial QQ adapter (NapCat / Lagrange) over reverse WebSocket.
OneBot (QQ / Telegram bridges / etc.)
OneBot is the standard reverse-WS protocol used by NapCat, Lagrange, and other QQ adapters.
- In Web UI → Channels, create a OneBot channel and configure:
| Field | Description | Default |
|---|---|---|
| WS Host | WebSocket server bind host | 0.0.0.0 |
| WS Port | WebSocket server port | 6700 |
| Access Token | Optional token for authentication | empty |
| Require @mention in groups | Only respond when @bot in group chats | true |
- Configure the OneBot client (NapCat / Lagrange / etc.) to connect via reverse WS to
ws://<sbot-host>:<wsPort>with the same access token
XiaoAI
Talk to your XiaoAi smart speaker as a sbot channel.
- In Web UI → Channels, create a XiaoAI channel and fill in:
| Field | Description |
|---|---|
| 小米 ID | Your Mi account ID |
| 登录方式 | passToken (recommended, obtained via sbox), or Mi account password |
| 密码 / passToken | The credential matching the selected login mode |
| 登录设备 ID | Optional PassportSDK deviceId, obtained via sbox |
| 音箱名称 | Target speaker name (matches a device in your Mi account) |
- The bot logs in to Mi Cloud, listens for voice messages on the device, and replies via TTS through the speaker
Getting passToken and deviceId with sbox
Mi accounts often reject server-side password login (risk control / 2FA), so the recommended path is to log in once with sbox — a desktop helper toolbox — and copy the credentials it extracts:
- Download sbox from the releases page and launch it.
- Open the XiaoAI Login tool and complete the Mi account login in the popup window.
- sbox lists your devices and shows the
passTokenanddeviceId— copy them into the channel fields above.