OpenClaw 接钉钉/飞书:从渠道配置到正确回复,我踩过的坑

📅 2026/7/12 7:33:56 👁️ 阅读次数 📝 编程学习
OpenClaw 接钉钉/飞书:从渠道配置到正确回复,我踩过的坑

前言

想把 OpenClaw 接上钉钉和飞书,让机器人自动回复消息。安装后却发现:无论怎么发消息,机器人都不理我

于是开始了长达数小时的排查,最终发现三个核心问题:

  1. 配置文件 JSON 格式错误(多次)
  2. 频道没有正确注册
  3. 默认 AI 模型未配置 API Key

第一关:运行诊断

运行 openclaw doctor,发现一堆警告:

- Config invalid; doctor will run with best-effort config
- gateway.mode is unset; gateway start will be blocked
- Legacy Matrix encrypted state was detected...
- Memory search is enabled, but no embedding provider is ready

其中最关键的是:配置文件无效,网关模式没设置。


第二关:修复配置文件 JSON(反复踩坑)

这是整件事里最折磨的部分。

错误 1:顶层缺少大括号

直接编辑 ~/.openclaw/openclaw.json,手写飞书和钉钉配置,结果放在根层级缺少外层 {} 包裹。

报错invalid character ':' at 1:13

修法:补全外层的 {}

错误 2:缺少逗号

plugins 块后直接跟 feishu 块,中间没有逗号;feishu 块后又没有逗号。

报错invalid character '\"' at 26:4

修法:在块之间加上逗号。

错误 3:顶层出现无法识别的键

逗号加上后,又报:Unrecognized keys: "feishu", "clawdbot-dingtalk"

原因:飞书和钉钉的配置不能直接写在根层级,必须放在 channels 字段里,或通过 openclaw channels add 命令添加。

错误 4:文件末尾缺少闭合括号

重新整理配置后,忘了在文件末尾加 }

报错invalid end of input at 99:1

修法:补上最后的大括号。

教训:手动编辑 JSON 非常容易出语法错误。如果有 TUI 菜单或命令行工具,尽量用它们来管理配置。


第三关:添加频道

修复 JSON 后,用 TUI 菜单的“渠道插件管理”一步步添加:

  • 钉钉:填入 Client ID 和 Client Secret
  • 飞书:填入 App ID 和 App Secret

添加完成后,配置文件的 channels 字段里终于正确出现了两个频道。


第四关:配置 AI 模型

频道接通后,钉钉里发消息不再沉默,但返回了错误:

Agent failed before reply: No API key found for provider "anthropic"

OpenClaw 默认使用 Anthropic (Claude),但我没有配置它的 API Key。

于是把模型换成 DeepSeek,在配置文件中加入:

"models": {"providers": {"deepseek": {"baseUrl": "https://api.deepseek.com/v1","api": "openai-completions","apiKey": "sk-xxx","models": [{"id": "deepseek-chat","name": "DeepSeek Chat"}]}}
},
"agents": {"defaults": {"model": { "primary": "deepseek/deepseek-chat" }}
}

最终状态

原本怀疑模型配置没生效或仍指向错误,但最终只是重启后生效有延迟,无需再次修改。

配置收齐后的架构:

钉钉/飞书用户 → 平台服务器 → OpenClaw Gateway(本地 ws://127.0.0.1:18789)↓AI Agent(DeepSeek Chat)↓回复原路返回

当网关第一次正确加载模型并给机器人“注入灵魂”时,钉钉回复栏弹出了一条完整的消息——不再是红色的 NO_REPLY。


总结

  1. 尽量使用 openclaw 自带的 TUI 菜单或 CLI 命令管理配置,非必要不手动编辑 JSON。
  2. 任何配置改动后都要 openclaw gateway restart
  3. 若重启后报错“No API key found for provider xxx”,检查 agents.defaults.model 是否已指定你配了 Key 的那个提供商。
  4. 先让最简单的“你好”走通,再逐步开启其他功能。

整个过程虽然曲折,但每一步的修复都是对 OpenClaw 架构理解的一次加深。希望这篇踩坑记录能让后来者少走弯路。