Summary
When Feishu channel streaming is enabled with card render mode, replies show an abnormal typewriter effect (1-2 characters at a time) and the final card content is truncated — often leaving only the last character (e.g. "?"), with all other text lost.
Environment
- OpenClaw version: 2026.5.28 (also reproduced on 2026.5.27)
- Feishu plugin:
@openclaw/feishu@2026.5.28
- Model:
deepseek/deepseek-v4-flash
- Agent:
main
- Deployment: Tencent Cloud Lighthouse, Ubuntu, Feishu websocket
- Feishu client: Both mobile & desktop — same issue
Configuration
"feishu": {
"enabled": true,
"appId": "cli_a968b21595b89bdf",
"streaming": true,
"renderMode": "card",
"blockStreaming": false,
"textChunkLimit": 8000
}
Steps to Reproduce
- Set
channels.feishu.streaming: true
- Set
renderMode: "card"
- Set
blockStreaming: false
- Send a message via Feishu DM that triggers a longer reply (tool call + summary, or multi-paragraph text)
- Observe the streaming card during generation and the final card content
Expected Behavior
- Smooth typewriter streaming effect on Feishu card
- Final card shows complete reply content
- Tool call output and final summary are both visible
Actual Behavior
- Typewriter effect is abnormal (characters appear 1-2 at a time, not smooth streaming)
- Final card content is truncated; only the last few characters remain (often just "?")
- Intermediate streaming may show partial text, but final rendered card loses most content
Control Groups
| Config |
Result |
streaming: false + renderMode: card |
✅ Complete content, no truncation |
streaming: true + renderMode: raw |
⚠️ Complete content, but no stable card typewriter UX |
QQ Bot streaming: true |
✅ Works normally (not a global streaming issue) |
Workaround
"feishu": {
"streaming": false,
"renderMode": "card",
"blockStreaming": false
}
Content is complete but without typewriter effect.
Additional Notes
- Issue present since 2026.5.27, still unfixed in 2026.5.28
- Changelog does not mention Feishu streaming fixes for this behavior
- Possibly related to CardKit streaming card update/finalize race (partial → idle → final)
- Gateway log snippet (dispatch to close: ~9s, close happens ~7s after dispatch complete):
feishu[default] Started streaming: cardId=7646292918105738171
feishu[default]: dispatch complete (queuedFinal=true, replies=1)
feishu[default] Closed streaming: cardId=7646292918105738171
Related Issues
Attachments
Screenshot of final truncated Feishu card (showing only "?") will be added as a comment after issue creation.
Summary
When Feishu channel streaming is enabled with card render mode, replies show an abnormal typewriter effect (1-2 characters at a time) and the final card content is truncated — often leaving only the last character (e.g. "?"), with all other text lost.
Environment
@openclaw/feishu@2026.5.28deepseek/deepseek-v4-flashmainConfiguration
Steps to Reproduce
channels.feishu.streaming: truerenderMode: "card"blockStreaming: falseExpected Behavior
Actual Behavior
Control Groups
streaming: false+renderMode: cardstreaming: true+renderMode: rawstreaming: trueWorkaround
Content is complete but without typewriter effect.
Additional Notes
Related Issues
channels.feishu.streaming=false(final message may show only tail / truncated) #10078 — streaming=false still creates streaming card, final content truncatedAttachments
Screenshot of final truncated Feishu card (showing only "?") will be added as a comment after issue creation.