Configuration Guide
This document details all configuration options for the Feishu plugin.
Basic Configuration
Required
json
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxx",
"appSecret": "xxxxx"
}
}
}Optional
json
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxx",
"appSecret": "xxxxx",
"domain": "feishu",
"requireMention": true,
"connectionMode": "websocket"
}
}
}Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | false | Enable Feishu channel |
| appId | string | - | Feishu app ID |
| appSecret | string | - | Feishu app secret |
| domain | string | "feishu" | Domain: feishu or lark |
| requireMention | boolean | true | Require @ mention to reply |
| connectionMode | string | "websocket" | Connection: websocket or webhook |
| historyLimit | number | 50 | Private message history limit |
Group Configuration
Configure different behavior for each group:
json
{
"channels": {
"feishu": {
"requireMention": true,
"groupPolicy": "open",
"groups": {
"oc_xxxxx": {
"requireMention": false,
"groupPolicy": "open",
"systemPrompt": "You are a professional assistant"
}
}
}
}
}Group Policy (groupPolicy)
| Value | Description |
|---|---|
| open | Open, all group members can interact |
| allowlist | Only whitelisted users can interact |
| disabled | Disable the group |
requireMention
true(default): Need to @ the bot to get a responsefalse: Any message in the group triggers a response
Tool Switches
You can disable unused tool groups to reduce context overhead:
json
{
"channels": {
"feishu": {
"tools": {
"doc": true,
"wiki": true,
"bitable": true,
"calendar": true,
"task": true,
"drive": false
}
}
}
}Message Configuration
Reply Mode
json
{
"channels": {
"feishu": {
"replyMode": "auto"
}
}
}| Value | Description |
|---|---|
| auto | Automatically select best mode |
| static | Static message (send at once) |
| streaming | Streaming message (real-time typing effect) |
Footer Configuration
json
{
"channels": {
"feishu": {
"footer": {
"status": true,
"elapsed": true
}
}
}
}Heartbeat Configuration
json
{
"channels": {
"feishu": {
"heartbeat": {
"every": "30m",
"activeHours": {
"start": "08:00",
"end": "22:00",
"timezone": "Asia/Shanghai"
}
}
}
}
}Complete Example
json
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxx",
"appSecret": "xxxxx",
"domain": "feishu",
"requireMention": true,
"groupPolicy": "open",
"connectionMode": "websocket",
"historyLimit": 50,
"replyMode": "auto",
"footer": {
"status": true,
"elapsed": true
},
"tools": {
"doc": true,
"wiki": true,
"bitable": true,
"calendar": true,
"task": true,
"drive": true
},
"heartbeat": {
"every": "30m"
},
"groups": {
"oc_team_chat": {
"requireMention": false,
"groupPolicy": "open",
"systemPrompt": "You are a team collaboration assistant"
}
}
}
}
}Next Steps
- Permissions - Learn about OAuth authorization
- Security - Security recommendations