乐于分享
好东西不私藏

openclaw飞书流式输出开启失败,用了这个技巧就解决啦

openclaw飞书流式输出开启失败,用了这个技巧就解决啦

2 核 2G轻量服务器专用指南,官方文档不会告诉你的坑。

一、问题:为什么轻量服务器会卡死?

最近 飞书发布了OpenClaw 官方插件,能让 AI 直接以你的身份读写消息、文档、日历、多维表格。

官方文档里,安装插件的命令是这样的:

npx -y @larksuite/openclaw-lark install

在性能好的机器上,这行命令没问题。

但在轻量应用服务器上,会直接卡死。

比如腾讯云的轻量应用服务器(2 核 2G)、阿里云的轻量服务器(2C2G ) ,执行这个命令后:

  • SSH 连接无响应
  • 控制台卡住
  • 内存爆满,开始 swap
  • 最后只能强制重启

问题就出在 npx 这三个字母上。


二、npx 为什么会在轻量服务器上翻车?

npx 是 npm 5.2+ 引入的工具,它的核心逻辑是:

  1. 临时下载
    指定包到缓存目录
  2. 在沙箱环境中执行
  3. 执行完后清理

听着挺优雅,但对轻量服务器来说,这套流程有三个致命问题:

问题
影响
临时下载
额外的磁盘 I/O 和内存占用
沙箱环境
fork 子进程,吃掉本就紧张的 CPU
依赖解析
npm 的依赖树计算是出了名的吃内存

在 2 核 2G 的机器上,这一套组合拳下来,内存直接爆满,系统开始 swap,然后卡死。


三、解决方案:用 npm install -g 代替 npx

答案很简单:别用 npx,直接用 npm 全局安装。

# ❌ 不要用这个(会卡死) npx -y @larksuite/openclaw-lark install  # ✅ 用这个(稳如老狗) npm install -g @larksuite/openclaw-lark-tools 

区别在哪?

方式
行为
资源占用
npx
临时下载 + 执行,每次重新解析依赖
npm install -g
一次性安装到全局,后续直接调用二进制

对于轻量服务器来说,一次性把依赖装好,比每次都临时下载要友好得多。


四、完整安装流程(2 步搞定)

步骤 1:全局安装插件

npm install -g @larksuite/openclaw-lark-tools

等待安装完成,看到类似输出:

added 150 packages in 15s

步骤 2:验证安装

在飞书里给机器人发一条消息:

/feishu start

如果返回版本号信息,说明安装成功。


五、开启飞书流式输出

安装完成后,默认是非流式输出,需要手动开启。

1. 关闭默认飞书渠道
openclaw config setset plugins.entries.feishu.enabled false  --json 
2. 开启流式输出
 openclaw  set channels.feishu.streaming true  
3. 开启耗时显示(可选) 
openclaw config set channels.feishu.footer.elapsed true  
4. 开启状态展示(可选) 
openclaw config set channels.feishu.footer.status true 

六、验证流式输出是否生效

验证方法 1:观察回复效果

在飞书里给机器人发一条消息:

流式输出开启后:

[开始显示] 好的,我... [继续显示] 好的,我来帮你... [完成] 好的,我来帮你查一下。

流式输出未开启:

[等待 5 秒...] [一次性显示完整回复]

验证方法 2:查看配置状态

在飞书里发送:

/feishu doctor 

七、检查飞书卡片消息权限

流式输出依赖飞书的卡片消息权限,需要确认已开通。

步骤 1:登录飞书开放平台

访问:https://open.feishu.cn/

步骤 2:进入应用管理

  1. 点击左侧 应用管理
  2. 找到你的 OpenClaw 机器人应用
  3. 点击进入详情页

步骤 3:检查权限

在 权限管理 页面,确认以下权限已开通:

权限
用途
必需
im:message:send_as_bot
以机器人身份发消息
cardkit:card:write
发送卡片消息
cardkit:card:read
读取卡片消息
im:message:readonly
读取消息

如果缺少权限:

  1. 点击开通权限,然后搜索card,把权限全勾选上
  2. 点击确定开通

步骤 4:发布新版本

权限修改后,需要发布新版本才能生效:

  1. 点击左侧 版本管理
  2. 点击 发布新版本
  3. 填写版本号和更新说明
  4. 提交发布