User Guide
Configuration
Complete config.yaml reference
OpenBee uses a YAML configuration file. Generate one interactively with openbee config, or create it manually.
server:
port: 8080
host: localhost
debug: false
auth:
username: admin
password: ""
jwt_secret: ""
access_token_ttl: 2h
refresh_token_ttl: 168h
database:
path: ./data/openbee.db
bee:
claude:
path: claude
timeout: 30m
mcp:
api_key: "your-api-key"
platforms:
feishu:
enabled: false
app_id: ""
app_secret: ""
max_media_size: 104857600
dingtalk:
enabled: false
client_id: ""
client_secret: ""
wecom:
enabled: false
bot_id: ""
secret: ""
websocket_url: "wss://openws.work.weixin.qq.com"
telegram:
enabled: false
token: ""
max_media_size: 52428800
auth_code: ""
weixin:
enabled: false
token: ""
base_url: "https://ilinkai.weixin.qq.com"
cdn_base_url: "https://novac2c.cdn.weixin.qq.com/c2c"
user_id: ""
max_media_size: 104857600
feeder:
timeout: 5m
media:
ffprobe_path: ffprobe
ffmpeg_path: ffmpeg
message_debounce: 3s
| Field | Type | Default | Description |
|---|
server.port | integer | 8080 | HTTP server port |
server.host | string | localhost | Server bind address |
server.debug | boolean | false | Enable debug mode (verbose logging) |
JWT-based authentication for the web UI. Authentication is optional — it is only enabled when password is set.
| Field | Type | Default | Description |
|---|
server.auth.username | string | admin | Login username |
server.auth.password | string | — | Login password. If empty, authentication is disabled. |
server.auth.jwt_secret | string | — | HMAC-SHA256 signing secret. Auto-generated on startup if not set. |
server.auth.access_token_ttl | duration | 2h | Access token lifetime |
server.auth.refresh_token_ttl | duration | 168h | Refresh token lifetime (7 days) |
| Field | Type | Default | Description |
|---|
database.path | string | ./data/openbee.db | SQLite database file path |
| Field | Type | Default | Description |
|---|
bee.claude.path | string | claude | Path to Claude Code CLI binary |
bee.claude.timeout | duration | 30m | Maximum execution time per Claude Code invocation |
| Field | Type | Default | Description |
|---|
bee.mcp.api_key | string | — | API key for MCP server authentication. Required for MCP tools to function. |
See Platform Setup for detailed configuration of each platform.
| Field | Type | Default | Description |
|---|
bee.platforms.feishu.enabled | boolean | false | Enable Feishu/Lark integration |
bee.platforms.feishu.app_id | string | — | Feishu app ID |
bee.platforms.feishu.app_secret | string | — | Feishu app secret |
bee.platforms.feishu.max_media_size | integer | 104857600 | Max media file size (100MB) |
bee.platforms.dingtalk.enabled | boolean | false | Enable DingTalk integration |
bee.platforms.dingtalk.client_id | string | — | DingTalk client ID |
bee.platforms.dingtalk.client_secret | string | — | DingTalk client secret |
bee.platforms.wecom.enabled | boolean | false | Enable WeCom integration |
bee.platforms.wecom.bot_id | string | — | WeCom bot ID |
bee.platforms.wecom.secret | string | — | WeCom bot secret |
bee.platforms.wecom.websocket_url | string | wss://openws.work.weixin.qq.com | WeCom WebSocket URL |
bee.platforms.telegram.enabled | boolean | false | Enable Telegram integration |
bee.platforms.telegram.token | string | — | Telegram bot token |
bee.platforms.telegram.max_media_size | integer | 52428800 | Max media file size (50MB) |
bee.platforms.telegram.auth_code | string | — | Passcode for /auth command. If empty, all users are allowed. |
bee.platforms.weixin.enabled | boolean | false | Enable Weixin (WeChat) integration |
bee.platforms.weixin.token | string | — | Weixin bot token (acquired via QR code login) |
bee.platforms.weixin.base_url | string | https://ilinkai.weixin.qq.com | Weixin API base URL |
bee.platforms.weixin.cdn_base_url | string | https://novac2c.cdn.weixin.qq.com/c2c | Weixin CDN base URL |
bee.platforms.weixin.user_id | string | — | Weixin user ID (extracted during QR code login) |
bee.platforms.weixin.max_media_size | integer | 104857600 | Max media file size (100MB) |
| Field | Type | Default | Description |
|---|
bee.feeder.timeout | duration | 5m | Bee (coordinator) feeding timeout |
| Field | Type | Default | Description |
|---|
bee.media.ffprobe_path | string | ffprobe | Path to FFprobe binary |
bee.media.ffmpeg_path | string | ffmpeg | Path to FFmpeg binary |
| Field | Type | Default | Description |
|---|
bee.message_debounce | duration | 3s | Time window to aggregate multiple rapid messages into one |