← Back to PRs

#8975: feat(feishu): comprehensive enhancements for Feishu channel

by jiulingyun open 2026-02-04 17:35 View on GitHub →
docs channel: feishu stale
## Summary This PR brings comprehensive enhancements to the Feishu/Lark channel, addressing multiple community-reported issues and adding several new features. ## Bug Fixes ### 1. Audio/Video Download Fix **Fixes [#8746](https://github.com/openclaw/openclaw/issues/8746)** Changed resource download to use `type=file` for audio/video messages instead of the unsupported `type=audio`/`type=video`. Per Feishu API docs, only `type=image` and `type=file` are valid parameters. ### 2. Post (Rich Text) Message Parsing **Fixes [#8747](https://github.com/openclaw/openclaw/issues/8747)** Added full support for Feishu `post` message type (图文混发): - Parses title and text blocks from post content - Extracts and downloads embedded images via `image_key` - Supports multiple locale variants (`zh_cn`, `en_us`, etc.) ### 3. Cross-Channel Data Isolation **Fixes [#8773](https://github.com/openclaw/openclaw/issues/8773)** Session keys now include the channel prefix (`feishu:`) to ensure Feishu sessions are isolated from other channels (Telegram, WhatsApp, etc.). ## New Features ### 4. Multi-Agent Routing with Binding Support **Fixes [#8692](https://github.com/openclaw/openclaw/issues/8692)** - Added `AccountId` to message context for proper agent binding resolution - Fixed group @mention detection to check if the *current bot* was mentioned (not just any mention) - Supports routing different users/groups to different agents via `bindings` configuration ### 5. Typing Indicator via Message Reactions **Fixes [#8722](https://github.com/openclaw/openclaw/issues/8722)** Added typing indicator support using Feishu message reactions: - Adds "Typing" emoji reaction when processing starts - Removes reaction when reply is sent - Provides visual feedback similar to other channels ### 6. Reply-To Message Support with Quote Replies Added support for `replyToMode` configuration: - `"off"` - No quote reply (DM default) - `"first"` - Quote reply on first message only - `"all"` - Quote reply on all messages (group default) ### 7. User Info Lookup for Sender Display Name Added user info API lookup to get proper sender display names instead of showing raw Open IDs. ### 8. Document Link Extraction Extracts Feishu document links from text and post messages, making them accessible to the agent. ### 9. Streaming Card Output Added interactive card-based streaming output with real-time content updates. ### 10. Native Text Commands Support ✨ NEW **Enables text commands like `/status`, `/model`, `/reset`, `/new`, `/help`, `/commands` in Feishu chats.** - Set `nativeCommands: true` in Feishu plugin capabilities - Set `reactions: true` to enable message reaction support - Added `CommandAuthorized: true` to message context for authorized senders - Commands work in both DM and group chats **Supported commands include:** - `/status` - Show current session status - `/model <name>` - Switch AI model - `/reset` / `/new` - Reset conversation - `/help` - Show help information - `/commands` - List available commands - `/thinking <level>` - Set thinking level - `/verbose <level>` - Set verbose level - And more... ## Documentation Updates Updated Chinese documentation (`docs/zh-CN/channels/feishu.md`) with: - Streaming output configuration - Message quote reply configuration - Multi-agent routing examples ## Testing All features have been manually tested and verified: | Feature | Test Status | |---------|-------------| | Audio/video download | ✅ Verified | | Post message parsing | ✅ Verified | | Embedded image extraction | ✅ Verified | | Typing indicator | ✅ Verified | | Multi-agent routing | ✅ Verified | | Quote replies | ✅ Verified | | Streaming cards | ✅ Verified | | Cross-channel isolation | ✅ Verified | | Native text commands | ✅ Verified | ### Screenshots **Typing Indicator:** **Streaming Card Output:** **Quote Reply in Group:** **Post Message with Images:** ## Commits 1. `fix(feishu): use type=file for audio/video download` - Fixes #8746 2. `Feishu: add post (rich text) message support with embedded images` - Fixes #8747 3. `Feishu: add reply-to message support with thread mode` 4. `Feishu: add user info lookup for sender display name` 5. `Feishu: add document link extraction for text and post messages` 6. `Feishu: add multi-agent routing with binding support` - Fixes #8692 7. `Feishu: add typing indicator via message reactions` - Fixes #8722 8. `Feishu: fix replyToMode for group quote replies` 9. `Feishu: Enhanced streaming output and message referencing capabilities` 10. `feat(feishu): enable native text commands (/status, /model, etc.)` ## Breaking Changes None. All changes are backward compatible. ## Related Issues - Closes #8746 (audio/video download) - Closes #8747 (post message parsing) - Closes #8722 (typing indicator) - Closes #8692 (multi-bot routing) - Closes #8773 (cross-channel isolation)

Most Similar PRs