玩AI的方可乐
微信号:ThinkFun6666
你好,我是方可乐。
今天有一个朋友找我帮忙解决一个问题,他想要让龙虾能在飞书中给他发语音消息。
但是不管是龙虾自己解决还是用Claude code 辅助,都没有搞定这个问题,所以找我看看有没有什么“黑科技”。
我凭借靠谱的龙虾脑子和过往的处理经验,一小时就给搞定了。
说出来你可能觉得夸张,但看完这篇你就知道差在哪了。
第一轮:WAV + asVoice → 收到灰色文件图标
第一轮我的龙虾选择的方案是用Python wave库生成1kHz正弦波WAV文件,用message工具的filePath + asVoice发送。
结果:收到的是灰色文件图标,不是语音条。
原因:asVoice参数飞书插件根本不认识,当普通文件处理了。
第二轮:OGG/Opus + asVoice → 还是附件
第二轮为了生成ogg格式的音频,装了ffmpeg,用gTTS生成MP3,再转成.ogg(Opus),发了两次,asVoice依然不生效。
排查发现:
-
-
• asVoice只在Telegram/Discord/BlueBubbles文档里,飞书插件源码里没有任何处理逻辑 -
-
• .wav格式不在插件识别的音频扩展名里,被当成stream类型文件 -
第三轮:改飞书插件源码 → 改错地方了
第三轮让龙虾继续排查,发现飞书插件发送audio类型消息时,content是JSON.stringify({file_key}),没有duration字段,这是语音消息无法正确显示的根本原因。
操作:改了media.ts源码,加了duration字段和ffprobe探测时长函数,重启网关。
结果:日志里没有任何调试输出
原因:OpenClaw运行时加载的是dist/下编译后的JS文件,不是src/下的TS源码
改源码没用,方向就错了。
第四轮:直接调飞书API → 成功
一把搞定,我发现根本不需要碰插件!
直接用Python调飞书开放API:
-
-
1. POST /auth/v3/tenant_access_token获取token -
-
2. POST /im/v1/files上传音频(file_type=opus,duration在form data) -
-
3. POST /im/v1/messages发送(msg_type=audio,content包含file_key + duration) -
结果:飞书显示成真正的语音播放条,可拖动进度条!
我朋友踩的坑
说到这里,你可能也好奇
——我朋友是怎么搞了一晚上的?
他的用法我也挺无奈的,他采用的是第三方API中转平台 + glm5模型。
这个组合有什么问题?
实测有这些问题。
-
-
• 反应慢:请求动不动就卡住 -
-
• 经常死机卡住:用着用着就无响应了 -
-
• 方案方向不对:给出来的解决思路本身就是错的 -
一晚上都在跟中转平台搏斗,完全没往"直接调官方API"这个方向想。
而我一小时找到方向,靠的不是运气
——是经验。
知道什么方案靠谱,什么方案大概率是坑。
沉淀成原则
搞完之后我给自己定了条规矩:
以后所有通用产出(Skill、脚本)必须:
-
-
• 不硬编码凭证、账号名、用户ID -
-
• 所有特定值通过环境变量或参数传入 -
-
• 文档只描述通用逻辑 -
信息泄露风险、账号依赖问题,必须在源头杜绝。 -
说白了
很多人用AI编程和龙虾这种智能体干活,不是输给AI,是输给自己踩的坑。
方向不对,努力白费。
第三方平台、中转API,这些看起来"省事"的东西,关键时刻会让你多走一整晚的弯路。
而掌握正确方法的人,一小时就够了。
写在最后
如果你在用 OpenClaw 也经常踩坑
欢迎加入可乐的AI成长圈👇👇👇,一起探讨养虾心得。
还能获取龙虾问题排查工具的持续版本更新,科学养虾。
2026,我正在做一个AI成长圈,一个聚集同行者的微信群,目前已经有不少同学加入。AI探索这件事,一个同频的圈子,一群共同前行的人,才能走得更快,更远。
目前,可乐AI成长圈的价格是 139
我会把自己真实的开发经验、工程复盘、模型探索路径,第一时间在这里分享给圈里的伙伴。一起走、一起试、一起成长。
加入可乐的AI成长圈,你将获得:
-
-
• 可随时在群里向我提问(AI 编程,工程链路、模型选型,学习路径等) -
-
• 我的新 AI 应用都可免费优先体验 -
-
• 每个应用都会有工程复盘、踩坑记录、选型思路 -
-
• 一条真正可复制的 AI 成长路线 -
-
• OpenClaw 完整部署教程 + 常见问题排查手册 -
感兴趣的同学,欢迎加我微信咨询加入。

