Feishu/Lark
This is a shipped runtime-backed surface: direct sends are implemented, the serve loop is implemented, and the channel can joinmulti-channel-serve or gateway run.
At A Glance
| Field | Value |
|---|---|
| Catalog id | feishu |
| Config key | feishu |
| Implementation status | runtime_backed |
| Transport | feishu_openapi_webhook_or_websocket |
| Aliases | lark |
| Default send target kind | receive_id, message_reply |
Minimal Config
Smoke Test
Command Surface
| Operation | Command | Usage or status |
|---|---|---|
| direct send | feishu-send | Usage: loong feishu-send [OPTIONS] —target <TARGET> |
| inbound reply service | feishu-serve | Usage: loong feishu-serve [OPTIONS] |
Required Fields For Send
| Requirement | Config paths | Env pointer paths | Default env |
|---|---|---|---|
| channel enabled | feishu.enabledfeishu.accounts.<account>.enabled | none | none |
| app id | feishu.app_idfeishu.accounts.<account>.app_id | feishu.app_id_envfeishu.accounts.<account>.app_id_env | FEISHU_APP_ID |
| app secret | feishu.app_secretfeishu.accounts.<account>.app_secret | feishu.app_secret_envfeishu.accounts.<account>.app_secret_env | FEISHU_APP_SECRET |
Required Fields For Serve
| Requirement | Config paths | Env pointer paths | Default env |
|---|---|---|---|
| channel enabled | feishu.enabledfeishu.accounts.<account>.enabled | none | none |
| app id | feishu.app_idfeishu.accounts.<account>.app_id | feishu.app_id_envfeishu.accounts.<account>.app_id_env | FEISHU_APP_ID |
| app secret | feishu.app_secretfeishu.accounts.<account>.app_secret | feishu.app_secret_envfeishu.accounts.<account>.app_secret_env | FEISHU_APP_SECRET |
| serve mode | feishu.modefeishu.accounts.<account>.mode | none | none |
| allowed chat ids | feishu.allowed_chat_idsfeishu.accounts.<account>.allowed_chat_ids | none | none |
| verification token (webhook mode only) | feishu.verification_tokenfeishu.accounts.<account>.verification_token | feishu.verification_token_envfeishu.accounts.<account>.verification_token_env | FEISHU_VERIFICATION_TOKEN |
| encrypt key (webhook mode only) | feishu.encrypt_keyfeishu.accounts.<account>.encrypt_key | feishu.encrypt_key_envfeishu.accounts.<account>.encrypt_key_env | FEISHU_ENCRYPT_KEY |
Gateway And Ownership
This surface can run directly through its own*-serve command, or under Gateway And Supervision through multi-channel-serve and gateway run.
Operator Notes
- Webhook mode additionally needs
verification_tokenandencrypt_key; websocket mode does not. - Use
allowed_chat_idsas the trust boundary instead of treating it as a convenience filter. - Keep
domain = "lark"for the Lark lane anddomain = "feishu"for the Feishu lane; the runtime contract is the same family.
Related Docs
- Continue to Channel Guides for the full shipped channel matrix.
- Continue to Channels for the conceptual surface model.
- Continue to Channel Setup for the shared public setup contract.
- Continue to Gateway And Supervision when this surface needs longer-lived runtime ownership.