#8975: feat(feishu): comprehensive enhancements for Feishu channel
docs
channel: feishu
stale
Cluster:
Feishu Enhancements and Fixes
## 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
#21781: feat(feishu): resolve merge_forward, enrich quoted message parsing,...
by laopuhuluwa · 2026-02-20
77.1%
#19793: feat(feishu): reply-in-thread, parallel group sessions, and fire-an...
by yinsn · 2026-02-18
75.2%
#22957: fix(feishu): download media from quoted messages in group chats (#2...
by echoVic · 2026-02-21
73.5%
#16337: feat(feishu): sync community plugin updates from clawdbot-feishu v0...
by graydawnc · 2026-02-14
73.4%
#21786: feat(feishu): extract embedded video/media from post (rich text) me...
by laopuhuluwa · 2026-02-20
73.3%
#10675: feat(feishu): add audio message support and fix file upload
by YumoeZhung · 2026-02-06
73.1%
#16716: feat(feishu): add reaction event support (created/deleted)
by schumilin · 2026-02-15
72.2%
#21848: feat(feishu): improve agent card experience with single-card stream...
by songshikang0111 · 2026-02-20
71.9%
#13669: feat(feishu): add audio message support
by AGI-XiaoBai-No1 · 2026-02-10
71.7%
#9268: Fix: Register feishu as official channel in CHAT_CHANNEL_ORDER
by vishaltandale00 · 2026-02-05
71.6%