OpenBee
User Guide

Configuration

Complete config.yaml reference

OpenBee uses a YAML configuration file. Generate one interactively with openbee config, or create it manually.

Full Example

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

Server

FieldTypeDefaultDescription
server.portinteger8080HTTP server port
server.hoststringlocalhostServer bind address
server.debugbooleanfalseEnable debug mode (verbose logging)

Authentication

JWT-based authentication for the web UI. Authentication is optional — it is only enabled when password is set.

FieldTypeDefaultDescription
server.auth.usernamestringadminLogin username
server.auth.passwordstringLogin password. If empty, authentication is disabled.
server.auth.jwt_secretstringHMAC-SHA256 signing secret. Auto-generated on startup if not set.
server.auth.access_token_ttlduration2hAccess token lifetime
server.auth.refresh_token_ttlduration168hRefresh token lifetime (7 days)

Database

FieldTypeDefaultDescription
database.pathstring./data/openbee.dbSQLite database file path

Claude Code

FieldTypeDefaultDescription
bee.claude.pathstringclaudePath to Claude Code CLI binary
bee.claude.timeoutduration30mMaximum execution time per Claude Code invocation

MCP

FieldTypeDefaultDescription
bee.mcp.api_keystringAPI key for MCP server authentication. Required for MCP tools to function.

Platforms

See Platform Setup for detailed configuration of each platform.

FieldTypeDefaultDescription
bee.platforms.feishu.enabledbooleanfalseEnable Feishu/Lark integration
bee.platforms.feishu.app_idstringFeishu app ID
bee.platforms.feishu.app_secretstringFeishu app secret
bee.platforms.feishu.max_media_sizeinteger104857600Max media file size (100MB)
bee.platforms.dingtalk.enabledbooleanfalseEnable DingTalk integration
bee.platforms.dingtalk.client_idstringDingTalk client ID
bee.platforms.dingtalk.client_secretstringDingTalk client secret
bee.platforms.wecom.enabledbooleanfalseEnable WeCom integration
bee.platforms.wecom.bot_idstringWeCom bot ID
bee.platforms.wecom.secretstringWeCom bot secret
bee.platforms.wecom.websocket_urlstringwss://openws.work.weixin.qq.comWeCom WebSocket URL
bee.platforms.telegram.enabledbooleanfalseEnable Telegram integration
bee.platforms.telegram.tokenstringTelegram bot token
bee.platforms.telegram.max_media_sizeinteger52428800Max media file size (50MB)
bee.platforms.telegram.auth_codestringPasscode for /auth command. If empty, all users are allowed.
bee.platforms.weixin.enabledbooleanfalseEnable Weixin (WeChat) integration
bee.platforms.weixin.tokenstringWeixin bot token (acquired via QR code login)
bee.platforms.weixin.base_urlstringhttps://ilinkai.weixin.qq.comWeixin API base URL
bee.platforms.weixin.cdn_base_urlstringhttps://novac2c.cdn.weixin.qq.com/c2cWeixin CDN base URL
bee.platforms.weixin.user_idstringWeixin user ID (extracted during QR code login)
bee.platforms.weixin.max_media_sizeinteger104857600Max media file size (100MB)

Feeder

FieldTypeDefaultDescription
bee.feeder.timeoutduration5mBee (coordinator) feeding timeout

Media

FieldTypeDefaultDescription
bee.media.ffprobe_pathstringffprobePath to FFprobe binary
bee.media.ffmpeg_pathstringffmpegPath to FFmpeg binary

Message Processing

FieldTypeDefaultDescription
bee.message_debounceduration3sTime window to aggregate multiple rapid messages into one

On this page