OpenClaw 接入釘釘

前言


很久沒(méi)寫博客了,最近AI大模型真的特別火啊。此前,我也應(yīng)用AI技術(shù)做了不少工作。然而前不久,OpenClaw橫空出世,橫掃各大平臺(tái)成了熱門話題。因此,我也拿來(lái)玩了玩。

本篇博客,不是教學(xué),只是給大家介紹下我對(duì)OpenClaw淺顯的理解,以及分享我利用DeepSeek API和Docker部署OpenClaw的過(guò)程。以及如何應(yīng)用到阿里的釘釘APP中和機(jī)器人對(duì)話。

OpenClaw簡(jiǎn)介


OpenClaw,也叫小龍蝦,是一位奧地利程序員開(kāi)發(fā)的AI智能體,于2025年底在Github上開(kāi)源。它和其他智能體不一樣,其系統(tǒng)權(quán)限較高,能接管主機(jī)的資源,替代人工進(jìn)行操控。簡(jiǎn)而言之,它不僅能對(duì)話,還能用電腦干活,而且能干一般人短時(shí)間完成不了的活,也能搞破壞。

OpenClaw小龍蝦海報(bào).png

OpenClaw主要由以下組件組成:

  • Gateway(網(wǎng)關(guān))
    • 用途:通信中樞與協(xié)議轉(zhuǎn)換
    • 簡(jiǎn)介:接收來(lái)自不同渠道(如釘釘、微信、Telegram、Web 頁(yè)面等)的用戶消息
  • Agent(智能體)
    • 用途:任務(wù)大腦與決策中心
    • 簡(jiǎn)介:依靠大模型能力(如DeepSeek,QWen3等)構(gòu)建,負(fù)責(zé)分析用戶需求,下達(dá)指令
  • Skills(技能)
    • 用途:具體執(zhí)行與工具庫(kù)
    • 簡(jiǎn)介:通過(guò)賦予不同技能,執(zhí)行不同任務(wù)。如代碼執(zhí)行、表格處理、系統(tǒng)配置
  • Memory(記憶)
    • 用途:信息存儲(chǔ)與上下文管理
    • 簡(jiǎn)介:存儲(chǔ)用戶對(duì)話的歷史記錄、當(dāng)前會(huì)話信息、用戶偏好等

OpenClaw服務(wù)部署


本人僅用它作測(cè)試,不作為實(shí)際生產(chǎn)用途,因此采用一臺(tái)云服務(wù)器部署。因此本文只講云服務(wù)器部署的過(guò)程。用戶也可部署在本地的備用機(jī)或虛擬機(jī)上,建議不要部署在主力機(jī)。

準(zhǔn)備的工具和材料:

  • 一臺(tái)云服務(wù)器:公網(wǎng)IP,內(nèi)存2G以上,雙核CPU,40G硬盤,5M帶寬,輕量級(jí)的即可
  • 個(gè)人電腦:筆記本或是臺(tái)式,用于SSH遠(yuǎn)程控制
  • DeepSeek API:通過(guò)DeepSeek開(kāi)放平臺(tái)申請(qǐng)APPKEY,按需付費(fèi)
  • 釘釘平臺(tái)API:賬號(hào)需具備組織,有機(jī)器人應(yīng)用的ID、組織ID等字段

一、建立Docker環(huán)境

部署OpenClaw最方便的是Docker容器部署,因?yàn)镈ocker社區(qū)有預(yù)編譯好的OpenClaw,不需要自己再源碼安裝和編譯,省去了編譯耗費(fèi)內(nèi)存大,過(guò)程長(zhǎng)的麻煩,且Docker云服務(wù)器正常都已自帶。

建立好openclaw數(shù)據(jù)目錄,直接使用shell命令,拉取鏡像和建立容器,外部端口默認(rèn)18789。

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

可以驗(yàn)證容器是否啟動(dòng)成功

docker ps

二、進(jìn)入容器內(nèi)配置

使用shell進(jìn)入Docker容器內(nèi)

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

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

部署初始化

openclaw onboard

啟動(dòng)方式為QuickStart,提供商模型選擇OpenAI API Key,輸入DeepSeek的API Key
其它非核心配置,全部跳過(guò)。

初始化后,會(huì)生成初始的配置文件openclaw.json,可驗(yàn)證是否生成,后續(xù)將配置該文件

ls -l /root/.openclaw/

直接啟動(dòng)網(wǎng)關(guān)

openclaw gateway

即可用本地主機(jī)進(jìn)入U(xiǎn)I界面,如下。

如果進(jìn)不去,可能是網(wǎng)關(guān)配置跨域和IP、端口沒(méi)配置好,需要修改openclaw.json網(wǎng)關(guān)配置

  "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訪問(wèn),使用自簽證書,安全性就不管了,測(cè)試使用而已

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

我這邊貼圖是已配置后的,因此顯示狀態(tài)正常
初始進(jìn)入時(shí),你需要填入初始生成的網(wǎng)關(guān)令牌(配置文件就有)
同時(shí),修改為本機(jī)的IP地址和端口號(hào)18789,點(diǎn)擊連接


OpenClaw-UI.png

tmux另開(kāi)一個(gè)終端窗口,不關(guān)網(wǎng)關(guān),服務(wù)端許可連接請(qǐng)求,命令如下

tmux

# 查看待處理請(qǐng)求,顯示相關(guān)request-id和device-id
openclaw devices list

# 接受/拒絕請(qǐng)求
openclaw devices [request-id] approve/deny

# 移除已授權(quán)設(shè)備
openclaw devices [device-id] remove

授權(quán)成功后,OpenClaw服務(wù)就可以正常使用了

三、接入DeepSeek大模型

有了這一步,OpenClaw小龍蝦才真正建立起了大腦。

配置openclaw.json,修改授權(quán),模型API和服務(wù)提供商,接入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"
      }
    }
  },

重新啟動(dòng)網(wǎng)關(guān),只要你的DeepSeek API可用,就可以對(duì)話了


OpenClaw-Chat.png

然后你就可以用它去操作你本機(jī)的文件,當(dāng)然我是云服務(wù)器,所以它只調(diào)動(dòng)我服務(wù)器上的資源。請(qǐng)謹(jǐn)慎使用它,避免一些危險(xiǎn)操作的自動(dòng)執(zhí)行。

四、與釘釘機(jī)器人打通

首先你需要裝一個(gè)插件,很遺憾它不原生支持釘釘。所以要多做此步

在容器內(nèi),為npm設(shè)置鏡像源

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

然后,直接通過(guò)包名安裝,成功安裝后,會(huì)自動(dòng)在openclaw.json添加插件信息

openclaw plugins install @soimy/dingtalk

這個(gè)開(kāi)源的插件連接在這里,具體安裝可以參考:DingTalk插件

安裝成功后,在運(yùn)行前,首先要確保dingtalk-stream模塊安裝成功
我們通過(guò)手工安裝的方式,確保安裝成功

# 進(jìn)入插件目錄
cd /root/.openclaw/extensions/dingtalk

# 刪除 node_modules 和鎖定文件
rm -rf node_modules package-lock.json

# 手動(dòng)安裝依賴,npm上一步已設(shè)置鏡像源,直接使用
npm install dingtalk-stream

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

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

# 出現(xiàn)以下這句就足夠了
│ DingTalk     │ dingtalk │ loaded   │ global:dingtalk/index.ts                  

下一步,需要去釘釘開(kāi)發(fā)者平臺(tái)注冊(cè)應(yīng)用,參照官網(wǎng)插件鏈接的說(shuō)明


OpenClaw-dingtalk-readme.png

注意你的賬號(hào)必須要?jiǎng)?chuàng)建組織或加入別組織,才可以發(fā)布應(yīng)用,之后你需要記錄以下字段


OpenClaw-dingtalk-id.png

如果能做到這一步,說(shuō)明馬上成功了,最后就是修改openclaw.json配置文件的插件部分

"plugins": {
    "allow": [
      "dingtalk",
      "telegram"   --根據(jù)個(gè)人實(shí)際需要增加其他平臺(tái)
    ],
    "entries": {
      "dingtalk": {
        "enabled": true
      }
    },
    "installs": {  --此為插件自動(dòng)生成的
      "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"
      }
    }
  }

最后,啟動(dòng)網(wǎng)關(guān),進(jìn)入U(xiǎn)I界面,可以找到釘釘?shù)腸hannel


OpenClaw-dingtalk-channel.png

將你記錄下的字段,根據(jù)提示填進(jìn)去,account使用default賬戶,保存配置就可以了。

這樣,你在釘釘APP搜索添加你的機(jī)器人應(yīng)用,就可以與之對(duì)話,發(fā)號(hào)施令了

比如我讓機(jī)器人給我用釘釘?shù)哪0澹詣?dòng)生成一個(gè)會(huì)議紀(jì)要


OpenClaw-dingtalk-chat.jpg

因?yàn)樾↓埼r部署在云服務(wù)器上,所以保存文件等操作,也都在云服務(wù)器上完成


OpenClaw-dingtalk-result.png

總結(jié)


文章花費(fèi)了點(diǎn)時(shí)間去寫,總結(jié)了我部署OpenClaw的詳細(xì)過(guò)程,會(huì)比較麻煩點(diǎn),但是玩還是挺好玩的。大家可以試試。

另外,聽(tīng)說(shuō)很多高校和部分機(jī)構(gòu)最近都在封鎖小龍蝦,為了安全隔離風(fēng)險(xiǎn)。我個(gè)人認(rèn)為,這樣做會(huì)有些許極端,在生產(chǎn)環(huán)境設(shè)備下,禁它是沒(méi)問(wèn)題的。但是學(xué)校和機(jī)構(gòu)肯定也有實(shí)訓(xùn)室,實(shí)驗(yàn)環(huán)境,這些實(shí)訓(xùn)機(jī)子和生產(chǎn)環(huán)境是完全隔離的,或者拿一臺(tái)虛擬主機(jī)部署云服務(wù)也沒(méi)有問(wèn)題啊,只要和生產(chǎn)環(huán)境絕對(duì)隔離,教學(xué)研究是沒(méi)啥問(wèn)題的。

若讀者有意見(jiàn)可以積極評(píng)論修正我的觀點(diǎn),但別人身攻擊。謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容