OpenClaw 接入钉钉

前言


很久没写博客了,最近AI大模型真的特别火啊。此前,我也应用AI技术做了不少工作。然而前不久,OpenClaw横空出世,横扫各大平台成了热门话题。因此,我也拿来玩了玩。

本篇博客,不是教学,只是给大家介绍下我对OpenClaw浅显的理解,以及分享我利用DeepSeek API和Docker部署OpenClaw的过程。以及如何应用到阿里的钉钉APP中和机器人对话。

OpenClaw简介


OpenClaw,也叫小龙虾,是一位奥地利程序员开发的AI智能体,于2025年底在Github上开源。它和其他智能体不一样,其系统权限较高,能接管主机的资源,替代人工进行操控。简而言之,它不仅能对话,还能用电脑干活,而且能干一般人短时间完成不了的活,也能搞破坏。

OpenClaw小龙虾海报.png

OpenClaw主要由以下组件组成:

  • Gateway(网关)
    • 用途:通信中枢与协议转换
    • 简介:接收来自不同渠道(如钉钉、微信、Telegram、Web 页面等)的用户消息
  • Agent(智能体)
    • 用途:任务大脑与决策中心
    • 简介:依靠大模型能力(如DeepSeek,QWen3等)构建,负责分析用户需求,下达指令
  • Skills(技能)
    • 用途:具体执行与工具库
    • 简介:通过赋予不同技能,执行不同任务。如代码执行、表格处理、系统配置
  • Memory(记忆)
    • 用途:信息存储与上下文管理
    • 简介:存储用户对话的历史记录、当前会话信息、用户偏好等

OpenClaw服务部署


本人仅用它作测试,不作为实际生产用途,因此采用一台云服务器部署。因此本文只讲云服务器部署的过程。用户也可部署在本地的备用机或虚拟机上,建议不要部署在主力机。

准备的工具和材料:

  • 一台云服务器:公网IP,内存2G以上,双核CPU,40G硬盘,5M带宽,轻量级的即可
  • 个人电脑:笔记本或是台式,用于SSH远程控制
  • DeepSeek API:通过DeepSeek开放平台申请APPKEY,按需付费
  • 钉钉平台API:账号需具备组织,有机器人应用的ID、组织ID等字段

一、建立Docker环境

部署OpenClaw最方便的是Docker容器部署,因为Docker社区有预编译好的OpenClaw,不需要自己再源码安装和编译,省去了编译耗费内存大,过程长的麻烦,且Docker云服务器正常都已自带。

建立好openclaw数据目录,直接使用shell命令,拉取镜像和建立容器,外部端口默认18789。

docker run -d \
  --name openclaw \
  -p 18789:3000 \
  -v /home/openclaw/openclaw-data:/root/.openclaw \
  ghcr.io/openclaw/openclaw:latest

可以验证容器是否启动成功

docker ps

二、进入容器内配置

使用shell进入Docker容器内

## 普通用户模式
docker exec -it openclaw /bin/bash

## 管理员模式
docker exec -it -u root openclaw /bin/bash

部署初始化

openclaw onboard

启动方式为QuickStart,提供商模型选择OpenAI API Key,输入DeepSeek的API Key
其它非核心配置,全部跳过。

初始化后,会生成初始的配置文件openclaw.json,可验证是否生成,后续将配置该文件

ls -l /root/.openclaw/

直接启动网关

openclaw gateway

即可用本地主机进入UI界面,如下。

如果进不去,可能是网关配置跨域和IP、端口没配置好,需要修改openclaw.json网关配置

  "gateway": {
    "port": 3000,
    "mode": "local",
    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "https://IP-Address:3000",
        "https://0.0.0.0:3000",
        "https://IP-Address:18789",
        "https://localhost:18789"
      ]
    },
    "auth": {
      "mode": "token",
      "token": "Your-gateway-token"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "remote": {
      "url": "ws://localhost:18789",
      "token": "Your-gateway-token"
    },
    "tls": {
      "enabled": true
    },
    "nodes": {
      "denyCommands": [
        ...
      ]
    }
  },

其中为了方便HTTPS访问,使用自签证书,安全性就不管了,测试使用而已

openclaw config set gateway.tls.enabled true
openclaw config set gateway.tls.certPath ~/.openclaw/certs/cert.pem
openclaw config set gateway.tls.keyPath ~/.openclaw/certs/key.pem

我这边贴图是已配置后的,因此显示状态正常
初始进入时,你需要填入初始生成的网关令牌(配置文件就有)
同时,修改为本机的IP地址和端口号18789,点击连接


OpenClaw-UI.png

tmux另开一个终端窗口,不关网关,服务端许可连接请求,命令如下

tmux

# 查看待处理请求,显示相关request-id和device-id
openclaw devices list

# 接受/拒绝请求
openclaw devices [request-id] approve/deny

# 移除已授权设备
openclaw devices [device-id] remove

授权成功后,OpenClaw服务就可以正常使用了

三、接入DeepSeek大模型

有了这一步,OpenClaw小龙虾才真正建立起了大脑。

配置openclaw.json,修改授权,模型API和服务提供商,接入DeepSeek

  "auth": {
    "profiles": {
      "openai:default": {
        "provider": "DeepSeek",
        "mode": "api_key"
      }
    }
  },
  "models": {
    "providers": {
      "DeepSeek": {
        "baseUrl": "https://api.deepseek.com",
        "apiKey": "sk-your-api-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-chat",
            "name": "DeepSeek Chat",
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "DeepSeek/deepseek-chat"
      },
      "workspace": "/root/.openclaw/workspace",
      "bootstrapTotalMaxChars": 4096,
      "compaction": {
        "mode": "safeguard"
      }
    }
  },

重新启动网关,只要你的DeepSeek API可用,就可以对话了


OpenClaw-Chat.png

然后你就可以用它去操作你本机的文件,当然我是云服务器,所以它只调动我服务器上的资源。请谨慎使用它,避免一些危险操作的自动执行。

四、与钉钉机器人打通

首先你需要装一个插件,很遗憾它不原生支持钉钉。所以要多做此步

在容器内,为npm设置镜像源

npm config set registry https://registry.npmmirror.com

然后,直接通过包名安装,成功安装后,会自动在openclaw.json添加插件信息

openclaw plugins install @soimy/dingtalk

这个开源的插件连接在这里,具体安装可以参考:DingTalk插件

安装成功后,在运行前,首先要确保dingtalk-stream模块安装成功
我们通过手工安装的方式,确保安装成功

# 进入插件目录
cd /root/.openclaw/extensions/dingtalk

# 删除 node_modules 和锁定文件
rm -rf node_modules package-lock.json

# 手动安装依赖,npm上一步已设置镜像源,直接使用
npm install dingtalk-stream

等待安装成功后,查看插件安装成功

# 查看插件是否安装成功
openclaw plugins list | grep dingtalk

# 出现以下这句就足够了
│ DingTalk     │ dingtalk │ loaded   │ global:dingtalk/index.ts                  

下一步,需要去钉钉开发者平台注册应用,参照官网插件链接的说明


OpenClaw-dingtalk-readme.png

注意你的账号必须要创建组织或加入别组织,才可以发布应用,之后你需要记录以下字段


OpenClaw-dingtalk-id.png

如果能做到这一步,说明马上成功了,最后就是修改openclaw.json配置文件的插件部分

"plugins": {
    "allow": [
      "dingtalk",
      "telegram"   --根据个人实际需要增加其他平台
    ],
    "entries": {
      "dingtalk": {
        "enabled": true
      }
    },
    "installs": {  --此为插件自动生成的
      "dingtalk": {
        "source": "npm",
        "spec": "@soimy/dingtalk",
        "installPath": "/root/.openclaw/extensions/dingtalk",
        "version": "3.2.0",
        "resolvedName": "@soimy/dingtalk",
        "resolvedVersion": "3.2.0",
        "resolvedSpec": "@soimy/dingtalk@3.2.0",
        "integrity": "sha512-xxxxx",
        "shasum": "9b32caab49d1e1c76ab41d39b15175ff76f0e112",
        "resolvedAt": "2026-03-13T10:02:39.363Z",
        "installedAt": "2026-03-13T10:06:13.530Z"
      }
    }
  }

最后,启动网关,进入UI界面,可以找到钉钉的channel


OpenClaw-dingtalk-channel.png

将你记录下的字段,根据提示填进去,account使用default账户,保存配置就可以了。

这样,你在钉钉APP搜索添加你的机器人应用,就可以与之对话,发号施令了

比如我让机器人给我用钉钉的模板,自动生成一个会议纪要


OpenClaw-dingtalk-chat.jpg

因为小龙虾部署在云服务器上,所以保存文件等操作,也都在云服务器上完成


OpenClaw-dingtalk-result.png

总结


文章花费了点时间去写,总结了我部署OpenClaw的详细过程,会比较麻烦点,但是玩还是挺好玩的。大家可以试试。

另外,听说很多高校和部分机构最近都在封锁小龙虾,为了安全隔离风险。我个人认为,这样做会有些许极端,在生产环境设备下,禁它是没问题的。但是学校和机构肯定也有实训室,实验环境,这些实训机子和生产环境是完全隔离的,或者拿一台虚拟主机部署云服务也没有问题啊,只要和生产环境绝对隔离,教学研究是没啥问题的。

若读者有意见可以积极评论修正我的观点,但别人身攻击。谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容