问题描述
背景
OpenClaw 的飞书扩展在处理特定消息类型时存在解析缺失,导致用户发送的内容无法被 Agent 正确接收。
具体问题
1. Markdown 代码块(富文本)无法解析
复现步骤:
- 在飞书私聊或群聊中发送包含 Markdown 代码块的消息(使用 ``` 包裹)
- Agent 收到的消息中代码块内容完全丢失
根因分析:
在 /extensions/feishu/src/bot.ts 的 parsePostContent 函数(第 262-308 行)中,只处理了以下 tag:
text - 普通文本
a - 链接
at - @提及
img - 图片
缺少对以下 tag 的处理:
code_block - 代码块
pre - 预格式化文本
建议修复:
在 parsePostContent 函数的 element 处理循环中添加:
else if (element.tag === "code_block" || element.tag === "pre") {
const lang = element.language || "";
const code = element.text || element.content || "";
textContent += `\n\`\`\`${lang}\n${code}\n\`\`\`\n`;
}
2. 合并转发消息(share_chat)无法解析
复现步骤:
- 在飞书中将多条聊天记录合并转发给机器人
- Agent 只收到提示文字 "Merged and Forwarded Message"
- 无法获取合并转发内的实际聊天内容
实际现象:
用户发送:合并转发包含 5 条消息的聊天记录
Agent 收到:{"body": "Merged and Forwarded Message"}
根因分析:
飞书消息类型 share_chat 未被 OpenClaw 处理。
影响范围
| 场景 |
影响 |
| 用户发送代码示例 |
代码内容丢失,Agent 无法理解 |
| 用户转发聊天记录 |
无法查看上下文,需要用户手动复制粘贴 |
| 群聊中的富文本消息 |
部分格式内容丢失 |
临时解决方案
- 避免直接发送代码块:将代码内容复制为普通纯文本发送
- 合并转发消息先展开:在飞书中点开合并转发,复制内容后以文本形式重新发送
- 使用普通消息格式:不使用富文本编辑器,直接发送纯文本
优先级建议
相关文件
/extensions/feishu/src/bot.ts - parsePostContent 函数
/extensions/feishu/src/channel.ts - 消息处理主入口
问题描述
背景
OpenClaw 的飞书扩展在处理特定消息类型时存在解析缺失,导致用户发送的内容无法被 Agent 正确接收。
具体问题
1. Markdown 代码块(富文本)无法解析
复现步骤:
根因分析:
在
/extensions/feishu/src/bot.ts的parsePostContent函数(第 262-308 行)中,只处理了以下 tag:text- 普通文本a- 链接at- @提及img- 图片缺少对以下 tag 的处理:
code_block- 代码块pre- 预格式化文本建议修复:
在
parsePostContent函数的 element 处理循环中添加:2. 合并转发消息(share_chat)无法解析
复现步骤:
实际现象:
根因分析:
飞书消息类型
share_chat未被 OpenClaw 处理。影响范围
临时解决方案
优先级建议
相关文件
/extensions/feishu/src/bot.ts-parsePostContent函数/extensions/feishu/src/channel.ts- 消息处理主入口