乐于分享
好东西不私藏

【养虾记01】OpenClaw安装配置保姆级教程

【养虾记01】OpenClaw安装配置保姆级教程

大家好,我是质量架构师东哥,专注软件研发过程中的质量和效率改进
今天开始,我们来聊一个让我感觉过程挺有意思的的开源项目——OpenClaw
网上基本都是Mac+飞书安装配置,实际工作中我们基本是服务器或Windows+钉钉。所以这里我会介绍下Ubuntu+钉钉的安装方式。虽然网上资料很多,但是考虑是系列文章所以安装配置还是写了一篇。废话不多说,让我们开始吧~
OpenClaw 是什么?
简单一句话:OpenClaw 是一个开源的 AI Agent 运行平台,让你在自己的电脑上拥有一个真正的 AI 私人助手。其他更多介绍自行搜索吧。
OpenClaw 与Web端的AI软件不一样。它跑在你自己的机器上,你可以:
  • 🔌接入任意大模型(DeepSeek、通义千问、GPT-4、Claude……随便切换)
  • 💬多通道对话(网页、命令行、钉钉、飞书,想在哪聊就在哪聊)
  • 🛠️赋予 AI 真正的执行力(读写文件、执行命令、操作浏览器、调用 API)
  • 🧠持久记忆(AI 能记住你之前聊过什么,不会每次都从头开始)
  • 🔒数据完全私有(所有数据在你本地,不会上传到第三方)
  • 对比 Coze、Dify 等平台,OpenClaw 最大的差异点是:它不只是一个聊天机器人,而是一个能真正帮你干活的 Agent
本篇是 OpenClaw 系列的第一篇:从零开始,帮你把 OpenClaw 装好、配好、跑通,发出第一条消息。
📌 本文目录

安装 OpenClaw(Windows)

安装 OpenClaw(Ubuntu 22.04)

配置 OpenClaw    

  1. 权限配置

  2. 配置钉钉机器人

  3. 配置飞书机器人

安装 OpenClaw(Windows)
前提:电脑已经安装Git,并且保证能正常访问GitHub(国内用户偶尔会出现无法访问)
OpenClaw官方推荐 Windows 用户通过WSL2(Windows Subsystem for Linux)运行。直接在Windows 原生环境下运行可能遇到路径、权限等兼容性问题。

通过PowerShell安装OpenClaw

使用管理员权限运行PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
等待安装,不要关闭窗口。安装成功之后会进入配置向导。

Windows安装过程错误排查

Window用户如果安装出现错误:iex : 无法加载文件 C: Program Filesinodejsinpm. ps1,因为在此系统上禁止运行脚本。
请执行命令修改安全策略:
Set-ExecutionPolicy Bypass -Scope Process
如果出现如下错误请安装配置GitHub,确保可以正常访问GitHub,然后重试

OpenClaw 初始化配置

安装完之后会自动进入配置向导
选择:Yes 回车
模型选择:可以先用Qwen 大模型,主要是为了测试OpenClaw与大模型连通性,使用个人账户登录。也可以选择配置自己的大模型。
通道:先选择跳过 Skip for now 
Skill:先选择跳过
启用hooks或者跳过
下一步会让你选择运行方式,选择 Open the Web UI 即可完成配置
Windows配置完会自动打开终端启动服务,不要把终端关了。
看到这个聊天页面表示OpenClaw安装成功了。

测试聊天功能和大模型连通性

查看运行状态

安装OpenClaw(Ubuntu22.04)

在终端执行命令安装OpenClaw:
sudo curl -fsSL https://openclaw.ai/install.sh | bash
出现如下画面表示开始安装,等待安装完成即可,安装过程中不要关闭终端。
【1/3】第一步会自动检测电脑环境安装Node.js
【2/3】第二步 检测Git是否安装,然后安装 OpenClaw 服务
【3/3】第三步 也是最后一步检测是否安装成功。
看到 [3/3] Finalizing setup 表示安装成功。

OpenClaw 初始化配置

安装完之后会自动进入初始化配置,如果没有进入可以在终端输入命令进入向导
openclaw onboard
初始化配置界面
鼠标左右可以选择 Yes / No,选择 Yes 然后回车。
选择 QuickStart 回车
选择 Qwen 回车。然后登录个人账号,有免费的大模型使用额度,这里仅仅是为了测试大模型配置,后续可以换其他大模型。
默认会打开浏览器导航到命令终端提示的地址,如果没有或者是在无界面的服务器上安装,那么可以复制地址打开浏览器输入地址,完成认证。
点击确认完成认证,自动进入下一步,确认模型
选择“Keep current (qwen-portal/coder-model)” 回车确认即可。
频道配置,这里先选择跳过(Skip for now)回车即可。后续可以单独配置钉钉、飞书等聊天通道。OpenCLaw默认也有聊天通道。
OpenClaw 内置的「基础 web 搜索」模块。Web浏览器搜索能力配置,这里先选择跳过(Skip for now)回车即可,后续可以单独配置。
Skills(技能)配置这里先选择跳过(Skip for now)回车即可,后续可以单独配置。
接下里会提示让你配置各种Key,默认都选择No,后续可以单独配置。
Hooks是进阶功能:本质是「自动化钩子」,用于在 agent 执行特定命令(如 /new,/reset)时自动触发自定义动作(比如保存会话、记录日志)
空格选择 Skip for now,然后回车。
最后一步选择一个方式访问,这里我先选择Hatch in TUI 命令方式。
回车进入聊天模式
输入内容查看大模型回复。
输入:quit 退出聊天。 Ctrl + C 结束命令行聊天模式,如果需要重新进入TUI模式重新输入:openclaw tui
也可以选择使用网页模式,命令行终端输入
openclaw dashboard
然后在本机上打开命令行终端提示的链接即可进入网页端。
如果你不是在有界面的系统(比如Ubuntu的Server版本部署的OpenClaw)想要远程访问这个页面那么在命令行终端输入
ssh -N -L 18789:127.0.0.1:18789 root@192.168.1.2
命令解释:把远程服务器(192.168.1.2)上的 18789 端口映射到你的本地电脑,让你能在本地访问远程的 OpenClaw 控制面板。
例如:我的OpenCLaw部署到Ubuntu系统上,我想通过Mac访问Ubuntu上的OpenCLaw,输入上面命令之后终端会进入监听状态,如下:
然后在我的Mac 本机上访问即可进入网页端

配置OpenClaw

开启权限

OpenClaw 2026.3.2版本发布之后默认把工具权限全部关了,仅支持聊天,需要手工配置,否则无法访问浏览器、执行命令等操作。
编辑当前用户目录下的.openclaw文件夹下的 openclaw.json 文件配置文件
vim ~/.openclaw/openclaw.json
找到文件中的tools位置,修改之前内容大致如下:
"tools": {"profile": "coding"},
将内容修改为如下配置:
"tools": {    "profile": "full",    "sessions": {        "visibility": "all"    }},
修改之后保存,然后重启下即可
openclaw gateway restart

配置钉钉机器人【可选】

OpenClaw 默认也有聊天窗口,可以与OpenClaw进行对话,且可以看到思考过程。配置钉钉机器人只是多了一种渠道与大模型对话。

创建钉钉机器人

进入开发者后台:新版本页面支持一键自动创建OpenClaw机器人.

安装钉钉插件

钉钉插件官方版本版本
openclaw plugins install @dingtalk-real-ai/dingtalk-connector
配置 channel :  vim ~/.openclaw/openclaw.json
"channels": {    "dingtalk-connector": {        "enabled": true,        "clientId": "dingzgvxxx",        "clientSecret": "Hxx",        // 使用 gateway.auth.token 的值        "gatewayToken": "259d41c8c1f71c57f96xxxc2e681160b20b148530374c4a6"    }},"gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "auth": {        "mode": "token",        "token": "259d41c8c1f71c57f96xxxc2e681160b20b148530374c4a6"    },    // 中间忽略部分配置....    // 检查插件配置 allow    "plugins": {         "allow": ["dingtalk-connector"],         "entries": {             "dingtalk-connector": {             "enabled": true          }     },
注意:gatewayToken 字段配置为你配置文件中的 gateway.auth.token 的值

使配置生效

openclaw config set gateway.http.endpoints.chatCompletions.enabled true

重启 Gateway

openclaw gateway restart

钉钉卡片配置【可选】

使用流式输出,增加体验

开通权限之后需要发布才可以生效
开通之后后续与机器人对话,会采用流式卡片输出,体验会好一点,字会逐个蹦出来。

配置飞书机器人【可选】

在飞书开放平台创建应用

1、访问飞书开放平台->开发者后台登录你的飞书账号(需要有企业管理员权限)。创建企业自建应用

获取App ID与App Secret

创建完成后,进入应用详情页,点击左侧”凭证与基础信息”,记录以下信息:
App ID(形如cli_xxxxxxxxxxxxxxxx)
App Secret(点击”查看”按钮显示,一串长字符串,务必复制后立即保存到密码管理器,切勿泄露)

启用机器人能力

左侧 → 添加应用能力 → 选择 机器人 → 添加启用,设置机器人名称(如 “OpenClaw 机器人”)并保存
设置机器人名称(如 “OpenClaw 机器人”)并保存

权限配置(批量导入)

点击左侧”权限管理”,点击”批量导入权限”,粘贴以下JSON(直接复制):
{"scopes": {"tenant": ["aily:file:read","aily:file:write","application:application.app_message_stats.overview:readonly","application:application:self_manage","application:bot.menu:write","bitable:app","bitable:app:readonly","board:whiteboard:node:create","board:whiteboard:node:delete","board:whiteboard:node:read","board:whiteboard:node:update","contact:contact.base:readonly","contact:user.employee_id:readonly","corehr:file:download","docs:doc","docs:doc:readonly","docs:document.comment:create","docs:document.comment:delete","docs:document.comment:read","docs:document.comment:update","docs:document.comment:write_only","docs:document.content:read","docs:document.media:download","docs:document.media:upload","docs:document.subscription","docs:document.subscription:read","docs:document:copy","docs:document:export","docs:document:import","docs:event.document_deleted:read","docs:event.document_edited:read","docs:event.document_opened:read","docs:event:subscribe","docs:permission.member","docs:permission.member:auth","docs:permission.member:create","docs:permission.member:delete","docs:permission.member:readonly","docs:permission.member:retrieve","docs:permission.member:transfer","docs:permission.member:update","docs:permission.setting","docs:permission.setting:read","docs:permission.setting:readonly","docs:permission.setting:write_only","docx:document","docx:document.block:convert","docx:document:create","docx:document:readonly","docx:document:write_only","drive:drive","drive:drive.metadata:readonly","drive:drive.search:readonly","drive:drive:readonly","drive:drive:version","drive:drive:version:readonly","drive:export:readonly","drive:file","drive:file.like:readonly","drive:file.meta.sec_label.read_only","drive:file:download","drive:file:readonly","drive:file:upload","drive:file:view_record:readonly","event:ip_list","im:chat.access_event.bot_p2p_chat:read","im:chat.members:bot_access","im:message","im:message.group_at_msg:readonly","im:message.p2p_msg:readonly","im:message:readonly","im:message:send_as_bot","im:resource","sheets:spreadsheet","sheets:spreadsheet.meta:read","sheets:spreadsheet.meta:write_only","sheets:spreadsheet:create","sheets:spreadsheet:read","sheets:spreadsheet:readonly","sheets:spreadsheet:write_only","slides:presentation:create","slides:presentation:read","slides:presentation:update","slides:presentation:write_only","space:document.event:read","space:document:delete","space:document:move","space:document:retrieve","space:document:shortcut","space:folder:create","task:task","task:task.event_update_tenant:readonly","task:task.privilege:read","task:task:read","task:task:readonly","task:task:write","task:task:writeonly","task:tasklist.privilege:read","task:tasklist:read","task:tasklist:write","wiki:member:create","wiki:member:retrieve","wiki:member:update","wiki:node:copy","wiki:node:create","wiki:node:move","wiki:node:read","wiki:node:retrieve","wiki:node:update","wiki:setting:read","wiki:setting:write_only","wiki:space:read","wiki:space:retrieve","wiki:space:write_only","wiki:wiki","wiki:wiki:readonly"],"user": ["aily:file:read","aily:file:write","base:app:copy","base:app:create","base:app:read","base:app:update","base:collaborator:create","base:collaborator:delete","base:collaborator:read","base:dashboard:copy","base:dashboard:create","base:dashboard:delete","base:dashboard:read","base:dashboard:update","base:field:create","base:field:delete","base:field:read","base:field:update","base:field_group:create","base:form:create","base:form:delete","base:form:read","base:form:update","base:history:read","base:record:create","base:record:delete","base:record:read","base:record:retrieve","base:record:update","base:role:create","base:role:delete","base:role:read","base:role:update","base:table:create","base:table:delete","base:table:read","base:table:update","base:view:read","base:view:write_only","base:workflow:create","base:workflow:delete","base:workflow:read","base:workflow:update","base:workflow:write","base:workspace:list","bitable:app","bitable:app:readonly","board:whiteboard:node:create","board:whiteboard:node:delete","board:whiteboard:node:read","board:whiteboard:node:update","calendar:calendar","calendar:calendar.acl:create","calendar:calendar.acl:delete","calendar:calendar.acl:read","calendar:calendar.event:create","calendar:calendar.event:delete","calendar:calendar.event:read","calendar:calendar.event:reply","calendar:calendar.event:update","calendar:calendar.free_busy:read","calendar:calendar:create","calendar:calendar:delete","calendar:calendar:read","calendar:calendar:readonly","calendar:calendar:subscribe","calendar:calendar:update","calendar:exchange.bindings:create","calendar:exchange.bindings:delete","calendar:exchange.bindings:read","calendar:settings.caldav:create","calendar:settings.workhour:read","calendar:time_off:create","calendar:time_off:delete","docs:doc","docs:doc:readonly","docs:document.comment:create","docs:document.comment:delete","docs:document.comment:read","docs:document.comment:update","docs:document.comment:write_only","docs:document.content:read","docs:document.media:download","docs:document.media:upload","docs:document.subscription","docs:document.subscription:read","docs:document:copy","docs:document:export","docs:document:import","docs:event.document_deleted:read","docs:event.document_edited:read","docs:event.document_opened:read","docs:event:subscribe","docs:permission.member","docs:permission.member:auth","docs:permission.member:create","docs:permission.member:delete","docs:permission.member:readonly","docs:permission.member:retrieve","docs:permission.member:transfer","docs:permission.member:update","docs:permission.setting","docs:permission.setting:read","docs:permission.setting:readonly","docs:permission.setting:write_only","docx:document","docx:document.block:convert","docx:document:create","docx:document:readonly","docx:document:write_only","drive:drive","drive:drive.metadata:readonly","drive:drive.search:readonly","drive:drive:readonly","drive:drive:version","drive:drive:version:readonly","drive:export:readonly","drive:file","drive:file.like:readonly","drive:file.meta.sec_label.read_only","drive:file:download","drive:file:readonly","drive:file:upload","drive:file:view_record:readonly","im:chat.access_event.bot_p2p_chat:read","offline_access","sheets:spreadsheet","sheets:spreadsheet.meta:read","sheets:spreadsheet.meta:write_only","sheets:spreadsheet:create","sheets:spreadsheet:read","sheets:spreadsheet:readonly","sheets:spreadsheet:write_only","slides:presentation:create","slides:presentation:read","slides:presentation:update","slides:presentation:write_only","space:document.event:read","space:document:delete","space:document:move","space:document:retrieve","space:document:shortcut","space:folder:create","task:task","task:task:read","task:task:readonly","task:task:write","task:task:writeonly","task:tasklist:read","task:tasklist:write","wiki:member:create","wiki:member:retrieve","wiki:member:update","wiki:node:copy","wiki:node:create","wiki:node:move","wiki:node:read","wiki:node:retrieve","wiki:node:update","wiki:setting:read","wiki:setting:write_only","wiki:space:read","wiki:space:retrieve","wiki:space:write_only","wiki:wiki","wiki:wiki:readonly"]}}
导入
点击导入 → 全选 → 粘贴,点击下一步 → 申请开通 → 保存成功
点击申请开通,首次发布应用
发布步骤
点击左侧”版本管理与发布”,点击”创建版本”, 填写版本信息:
版本号:1.0.0
更新说明:初始版本
点击”保存”, 点击”申请发布”
等待企业管理员审批(如果是你自己的企业,通常自动通过)
填写版本号 → 填写更新说明 → 点击保存,确认发布(首次创建免审核,保存提交后即可上线使用)。
审批通过后,应用状态会变为”已发布”。这时候才能进行下一步。

在 OpenClaw 配置飞书通道

推荐使用交互式向导(新版本可以支持扫码一键自动配置了):
openclaw channels add
选择Feishu/ Lark
直接使用本地插件路径即可
回车进入安装
依次输入App IDApp Secret
连接模式默认即可
选择飞书域名,这里选择国内版即可
群聊策略,这里按需选择即可,这里我选择Open。
上述配置好之后,选择完成(Finish)即可。
Feishu DM poliy 选择Open,其他访问配置可以选择默认或根据自己的需求进行配置。实际工作建议选择pairing模式,这样第一次需要服务器上匹配成功才能访问机器人,更加安全。

启动 Gateway 并配置飞书事件订阅

重启:openclaw gateway restart
浏览器打开http://你的服务器IP:18789 可查看控制面板。
回到飞书开放平台配置事件订阅,在应用详情页左侧 → 点击左侧”事件与回调”,在”事件订阅方式”中,选择”长连接”。添加事件:搜索并勾选 im.message.receive_v1,这个事件表示”收到消息时通知我”。
保存(此时 Gateway 必须在运行,否则保存失败)
创建一个v1.0.1版本,上述的修改,创建一个新版本并发布出来
重启 Gateway(让配置生效)
openclaw gateway restart

测试通过飞书与机器人对话

在飞书里:搜索你的机器人名称
继续提问

如果你觉得这篇文章写的还不错,麻烦双击屏幕点个大拇指、点个爱心、点个转发,你的支持是我继续分享的动力
欢迎志同道合的朋友添加我的微信 (Miller_Shan)一起交流,互相学习,共同进步。