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 小琳 ✨

相关推荐
Promise微笑3 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
^—app5668663 小时前
游戏运存小启动不起来临时解决方法
运维·服务器
志栋智能4 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
AnalogElectronic5 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
Edward111111116 小时前
4月28日防火墙问题
linux·运维·服务器
想学后端的前端工程师6 小时前
【补充内外网突然不通的情况】
运维·服务器
Rust研习社6 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
灰子学技术6 小时前
Envoy HTTP 流量层面的 Metric 指标分析
网络·网络协议·http
上海云盾-小余6 小时前
海外恶意 UDP 攻击溯源:分层封禁策略与业务兼容平衡方案
网络·网络协议·udp
智慧光迅AINOPOL7 小时前
校园全光网建设指南:从架构到调优,打造稳定高体验校园网络
网络·全光网解决方案·全光网·酒店全光解决方案·泛住宿全光网解决方案