OpenClaw 钉钉插件安装指南

OpenClaw 钉钉插件安装指南

概述

将 OpenClaw AI 助手接入钉钉,实现双向聊天(你发消息给机器人,机器人回复你)。


一、钉钉开放平台配置

1. 创建应用

  1. 登录 钉钉开放平台
  2. 应用开发 → 企业内部应用 → 创建应用
  3. 填写应用名称和描述

2. 添加机器人能力

  1. 进入应用 → 添加应用能力 → 机器人
  2. 配置机器人信息(名称、头像等)

3. 开启 Stream 模式(重要!)

  1. 机器人配置 → 消息接收模式
  2. 选择 Stream 模式(无需公网域名)

4. 获取凭证

在「凭证与基础信息」页面获取:

  • AppKey (clientId) :dingxxxxxxxxxx
  • AppSecret (clientSecret):一长串字符

5. 发布应用

  1. 版本管理与发布 → 发布
  2. 选择可见范围(可先选「仅自己可见」测试)

二、OpenClaw 插件安装

1. 安装插件

bash 复制代码
openclaw plugins install @moltybob/dingtalk

如果安装时依赖报错,手动装依赖:

bash 复制代码
cd ~/.openclaw/extensions/dingtalk && npm install --omit=dev --ignore-scripts

2. 验证插件加载

bash 复制代码
openclaw plugins list | grep dingtalk

应显示 dingtalk | loaded


三、配置钉钉凭证

编辑配置文件 ~/.openclaw/openclaw.json,添加:

json 复制代码
{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "clientId": "你的AppKey",
      "clientSecret": "你的AppSecret",
      "dmPolicy": "pairing"
    }
  }
}

或者通过命令行:

bash 复制代码
openclaw config set channels.dingtalk.enabled true
openclaw config set channels.dingtalk.clientId "你的AppKey"
openclaw config set channels.dingtalk.clientSecret "你的AppSecret"
openclaw config set channels.dingtalk.dmPolicy "pairing"

dmPolicy 选项

  • pairing: 需要配对才能使用(推荐)
  • open: 任何人都可以私聊
  • allowlist: 只允许指定用户

四、重启 Gateway

bash 复制代码
openclaw gateway restart

五、验证连接

bash 复制代码
openclaw channels status

应显示:

复制代码
DingTalk default: enabled, configured, mode:stream

查看日志确认连接成功:

bash 复制代码
openclaw channels logs | grep dingtalk

应看到 Successfully connected to DingTalk stream


六、使用机器人

私聊

  1. 钉钉搜索框搜索你的应用名
  2. 找到机器人,发送消息

群聊

  1. 进入群 → 群设置 → 群机器人 → 添加机器人
  2. 选择你的应用
  3. @机器人 发送消息

七、已知问题与修复

问题:控制面板返回 {"success":true} 而非页面

原因:钉钉插件的 webhook handler 拦截了所有 HTTP 请求

修复 :编辑 ~/.openclaw/extensions/dingtalk/src/monitor.ts

找到 handleDingTalkWebhookRequest 函数开头,改成:

typescript 复制代码
export async function handleDingTalkWebhookRequest(
  req: import('node:http').IncomingMessage, 
  res: import('node:http').ServerResponse
): Promise<boolean> {
  // Only handle POST requests to dingtalk webhook paths
  const url = req.url || '';
  const isDingTalkPath = url.includes('/dingtalk') || url.includes('/webhook');
  
  if (req.method !== 'POST' || !isDingTalkPath) {
    return false; // Let other handlers process non-dingtalk requests
  }
  
  console.log(`[dingtalk] HTTP request received: ${req.method} ${req.url}`);
  // ... 后面代码不变

然后重启 Gateway。


八、相关文件位置

文件 路径
插件目录 ~/.openclaw/extensions/dingtalk/
配置文件 ~/.openclaw/openclaw.json
日志 openclaw channels logs

九、环境信息(本次安装)

  • 系统: WSL2 Ubuntu 24.04
  • 插件版本: @moltybob/dingtalk 0.1.0
  • OpenClaw 版本: 2026.1.30
  • 安装日期: 2026-02-02

by 小琳 ✨

相关推荐
天诰10 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
陈希12311 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡12 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
@兽血沸腾13 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
承渊政道16 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
讯捷蓝达18 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
数字新视界20 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落20 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng21 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
严肃小白兔21 小时前
Cloudflare 更新 API Token 管理:从最小权限到自动化凭据安全
网络·安全·自动化