DingTalk Channel Setup — DingTalk Channel 设置up
v1.0.0钉钉企业内部机器人渠道快速对接。Use when: 用户需要对接钉钉渠道、配置钉钉 流 模式、排查钉钉消息问题。NOT for: 飞书/Lark、企业微信等其他平台。
运行时依赖
安装命令
点击复制技能文档
DingTalk Channel 设置up
钉钉企业内部机器人渠道快速对接指南。
When to Use
✅ USE this 技能 when:
用户说"对接钉钉"、"配置钉钉机器人" 钉钉消息没有响应,需要排查 需要安装钉钉插件 "DingTalk channel 设置up"
❌ DON'T use when:
飞书/Lark 配置 → use feishu 技能 企业微信 → use wecom 技能 Telegram/Discord → use respective channel 技能s Prerequisites
确保已准备:
钉钉开放平台企业内部应用(已创建) 命令行工具ent ID (应用Key) 命令行工具ent Secret (应用Secret) 可选:Ro机器人 Code、Corp ID、代理 ID 安装ation Step 1: 安装 插件
国内网络环境(推荐使用镜像):
$env:NPM_CONFIG_REGISTRY="https://registry.npmmirror.com" OpenClaw 插件s 安装 @soimy/dingtalk
国际网络:
OpenClaw 插件s 安装 @soimy/dingtalk
如需代理:
$env:HTTP_PROXY="http://127.0.0.1:7897" $env:HTTPS_PROXY="http://127.0.0.1:7897" OpenClaw 插件s 安装 @soimy/dingtalk
Step 2: Enable 插件
编辑 ~/.OpenClaw/OpenClaw.json,添加插件到白名单:
{ "插件s": { "enabled": true, "allow": ["dingtalk"] } }
如果已有其他插件,添加到数组中:
{ "插件s": { "allow": ["telegram", "discord", "dingtalk"] } }
Step 3: 配置 Channel
方式一:交互式配置(推荐)
OpenClaw 配置 --section channels
按提示操作:
选择 "添加 a new channel" 选择 "DingTalk (钉钉)" 输入 命令行工具ent ID 输入 命令行工具ent Secret 选择是否配置完整信息(推荐 Yes) 配置其他选项(DM/Group 策略等) 完成配置
方式二:手动编辑配置文件
编辑 ~/.OpenClaw/OpenClaw.json,添加 channel 配置:
{ "channels": [ { "id": "dingtalk", "插件": "dingtalk", "enabled": true, "命令行工具entId": "your_命令行工具ent_id", "命令行工具entSecret": "your_命令行工具ent_secret", "dm": "open", "group": "open" } ] }
完整配置示例:
{ "id": "dingtalk", "插件": "dingtalk", "enabled": true, "命令行工具entId": "ding3ti4ahg82dsfkwld", "命令行工具entSecret": "FrpMFcI30c0STvaJJWyMSZoyeb2Hkm9YqXY-6mJ0dGwdN8Xux7mgT_Xn7qnpvO-F", "ro机器人Code": "your_ro机器人_code", "corpId": "your_corp_id", "代理Id": "your_代理_id", "AICard": false, "dm": "open", "group": "open" }
Step 4: Re启动 Gateway OpenClaw gateway re启动
Configuration Options 参数 必需 说明 默认值 命令行工具entId ✅ DingTalk 应用 Key - 命令行工具entSecret ✅ DingTalk 应用 Secret - ro机器人Code ❌ 机器人代码 - corpId ❌ 企业 ID - 代理Id ❌ 应用 代理 ID - AICard ❌ 启用 AI 互动卡片 false dm ❌ 私聊策略:open / allow列出 open group ❌ 群聊策略:open / allow列出 open Verification
测试连接:
# 检查 Gateway 状态 OpenClaw gateway 状态
# 查看日志 OpenClaw 记录s gateway
# 列出插件 OpenClaw 插件s 列出
在钉钉中给机器人发送消息,应该能收到回复。
Troubleshooting 插件安装卡住
如果安装停在 "安装ing 插件 dependencies...":
cd ~/.OpenClaw/扩展s/dingtalk rm -rf node_模块s package-lock.json NPM_CONFIG_REGISTRY=https://registry.npmmirror.com npm 安装 OpenClaw gateway re启动
机器人无响应
检查清单:
✅ Gateway 运行中
OpenClaw gateway 状态
✅ 插件在白名单 检查 OpenClaw.json 中的 插件s.allow 包含 "dingtalk"
✅ 渠道已启用 检查 channels[].enabled 为 true
✅ 凭证正确 在钉钉开放平台验证 命令行工具ent ID/Secret
✅ 重启 Gateway
OpenClaw gateway re启动
网络问题(中国大陆) # 设置 npm 镜像 $env:NPM_CONFIG_REGISTRY="https://registry.npmmirror.com"
# 设置代理(如需要) $env:HTTP_PROXY="http://127.0.0.1:7897" $env:HTTPS_PROXY="http://127.0.0.1:7897"
常见错误
"插件 not found"
确认插件已安装:OpenClaw 插件s 列出 检查目录存在:~/.OpenClaw/扩展s/dingtalk
"Connection fAIled"
验证钉钉开放平台凭证 检查网络连接 查看日志:OpenClaw 记录s gateway
"插件 not loaded"
添加 dingtalk 到 插件s.allow 重启 Gateway Automated 设置up (Optional)
如果需要自动化批量部署,可以创建以下 PowerShell 脚本:
auto-设置up.ps1:
# DingTalk Channel Auto 设置up Script # Usage: .\auto-设置up.ps1 -命令行工具entId "xxx" -命令行工具entSecret "xxx"
param( [Parameter(Mandatory=$true)] [string]$命令行工具entId, [Parameter(Mandatory=$true)] [string]$命令行工具entSecret, [string]$Ro机器人Code = "", [string]$CorpId = "", [string]$代理Id = "", [string]$ProxyUrl = "http://127.0.0.1:7897", [string]$NpmRegistry = "https://registry.npmmirror.com", [switch]$UseProxy = $false )
Write-Host "=== DingTalk Channel Auto 设置up ===" -ForegroundColor Cyan
# 设置 proxy if needed if ($UseProxy) { $env:HTTP_PROXY = $ProxyUrl $env:HTTPS_PROXY = $ProxyUrl }
# 设置 npm registry $env:NPM_CONFIG_REGISTRY = $NpmRegistry
# 安装 插件 Write-Host "安装ing 插件..." -ForegroundColor Yellow OpenClaw 插件s 安装 @soimy/dingtalk
# 更新 OpenClaw.json Write-Host "Updating configuration..." -ForegroundColor Yellow $configPath = "$env:USER性能分析\.OpenClaw\OpenClaw.json" $config = 获取-Content $configPath -Raw | ConvertFrom-Json
# 添加 插件 to allow列出 if (-not $config.插件s) { $config | 添加-Member -MemberType NoteProperty -Name "插件s" -Value @{ enabled = $true allow = @("dingtalk") } } else { if (-not $config.插件s.allow) { $config.插件s | 添加-Member -MemberType NoteProperty -Name "allow" -Value @("dingtalk") } elseif ($config.插件s.allow -notcontAIns "dingtalk") { $config.插件s.allow += "dingtalk" } }
# 添加 channel configuration if (-not $config.channels) { $config | 添加-Member -MemberType NoteProperty -Name "channels" -Value @() }
$dingtalkConfig = @{ id = "dingtalk" 插件 = "dingtalk" enabled = $true 命令行工具entId = $命令行工具entId 命令行工具entSecret = $命令行工具entSecret dm = "open" group = "open" }
if ($Ro机器人Code) { $dingtalkC