OpenClaw
一、安装
警告
Node >=22
Windwos & Linux:
npm install -g openclaw@latest
二、新手向导
openclaw onboard --install-daemon
提示什么协议,键入 y 下一步 或 n 拒绝。
你将选择:
本地 vs 远程 Gateway 网关
认证:OpenAI Code (Codex) 订阅(OAuth)或 API 密钥。对于 Anthropic 我们推荐 API 密钥;也支持
claude setup-token。提供商:WhatsApp QR 登录、Telegram/Discord 机器人令牌、Mattermost 插件令牌等。
Skills:第三方应用的技能。
守护进程:后台安装(launchd/systemd;WSL2 使用 systemd)
- 运行时:Node(推荐;WhatsApp/Telegram 必需)。不推荐 Bun。
Gateway 网关令牌:向导默认生成一个(即使在 loopback 上)并存储在
gateway.auth.token。
向导文档:向导
提示
如果你在新手引导期间安装了服务,Gateway 网关应该已经在运行,然后提示是否开启 Web UI 或者 TUI。
- 通过
openclaw gateway status查看运行状态。
启动
提示
查看服务启动状态
openclaw gateway status
启动网关服务
openclaw gateway start
或者需要修改端口号
openclaw gateway --port 18789 --verbose
启动 Control UI
openclaw dashboard
开机自启
# Win + R: taskschd.msc
`OpenClaw Gateway` 定时任务的 `触发器` 设置为:`禁用`
# 查看服务状态
systemctl --user list-units --all | grep -i openclaw
# 停止服务
systemctl --user stop openclaw-gateway.service
## 或使用 openclaw 本身的命令
openclaw gateway stop
# 禁用服务的自启
systemctl --user disable openclaw-gateway.service
## 启用自启
systemctl --user enable openclaw-gateway.service
# 查看服务状态
launchctl list | grep -i openclaw
# 停止服务
launchctl unload ~/Library/LaunchAgents/openclaw-gateway.plist
## 或使用 openclaw 本身的命令
openclaw gateway stop
# 禁用服务的自启
rm ~/Library/LaunchAgents/openclaw-gateway.plist
## 启用自启
launchctl load ~/Library/LaunchAgents/openclaw-gateway.plist
访问
Windows: http://127.0.0.1:18789
Windows SSH 连接部署了 OpenClaw 的 Linux,Windwos 中执行:
# 通过ssh隧道将本地的18789端口转发到远程的127.0.0.1:18789
## 如果提示 cannot listen to port: 18789,请先检测端口占用。
ssh -N -L 18789:127.0.0.1:18789 用户名@服务器IP
# 回车之后提示输入密码:
用户名@服务器IP's password:
## 保持命令行窗口开启
## 在 Windows中访问 http://127.0.0.1:18789,
-N:不执行远程命令,只做端口转发-L 18789:127.0.0.1:18789:将本地的18789端口转发到远程的127.0.0.1:18789enlin@192.168.3.15:连接到虚拟机
配置
配置文件都在:~/.openclaw/openclaw.json
Windows:
# Win + R 之后
%userprofile%/.openclaw/openclaw.json
MacOS:
Commad+Shift+H:进入访达给人文件夹内Commad+Shift+.:显示隐藏文件.openclaw/openclaw.json文件就是
重新配置
删掉 ~/.openclaw 文件夹之后,重新运行 新手向导 命令。
命令
我目前支持这些命令:
会话管理
/new或/reset- 开始新会话(清空上下文)/status- 查看当前状态(模型、使用情况等)/reasoning- 切换推理模式(显示/隐藏思考过程)/verbose- 切换详细模式(显示/隐藏工具调用)
文件操作
/read <路径>- 读取文件/write <路径> <内容>- 写入文件/edit <路径> <旧文本> <新文本>- 编辑文件
工具相关
/exec <命令>- 执行shell命令/browser <动作>- 控制浏览器/tts <文本>- 文本转语音
代理管理
/spawn <任务>- 创建子代理执行任务/agents- 列出可用代理/sessions- 列出当前会话
其他
/help- 显示帮助信息
当前我使用的是 deepseek-chat 模型。你想做什么?
模型
重要
查看模型列表:
openclaw models list
DeepSeek
参考:
openclaw onboard
Model/auth provider 选择 Custom Provider(Any OpenAI or Anthropic compatible endpoint):
依次填写:
API Base URL:
https://api.deepseek.com/v1API key
API 兼容模式:
OpenAI-compatibleModel ID:
deepseek-chatEndpoint ID:
deepseekModel alias:
deepseek-chat
注
这是我自己的配置好之后的效果:
{
"models": {
"mode": "merge",
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "sk-765eaa7b7d9241fd9f4bb5d1896873bb",
"api": "openai-completions",
"models": [
{
"id": "deepseek-chat",
"name": "deepseek-chat (Custom Provider)",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "deepseek/deepseek-chat"
},
"models": {
"deepseek/deepseek-chat": {
"alias": "deepseek-chat"
}
},
"workspace": "/home/enlin/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"plugins": {
"allow": [
"dingtalk",
"feishu"
],
"load": {
"paths": [
"D:\\WorkSpace\\AI\\openclaw-channel-dingtalk"
]
},
"entries": {
"dingtalk": {
"enabled": true
},
"feishu": {
"enabled": true
}
},
"installs": {
"dingtalk": {
"source": "path",
"sourcePath": "D:\\WorkSpace\\AI\\openclaw-channel-dingtalk",
"installPath": "D:\\WorkSpace\\AI\\openclaw-channel-dingtalk",
"version": "3.1.1",
"installedAt": "2026-02-25T12:27:11.582Z"
}
}
}
}
三、频道
重要
查看插件列表
openclaw plugins list
DingTalk (钉钉)
重要
机器人发布之后搜索不到,一定要应用也发布之后才可以。
参考:
A 通过 npm 包安装 (推荐)
警告
如果nvm安装路径包含空格,则使用此方式会报错。推荐使用本地源码方式安装。
手动通过 npm 包名安装:
openclaw plugins install @soimy/dingtalk
B 通过本地源码安装
警告
切记不可删除克隆之后的文件夹。
如果你想对插件进行二次开发,可以先克隆仓库:
# 1. 克隆仓库
git clone https://github.com/soimy/openclaw-channel-dingtalk.git
cd openclaw-channel-dingtalk
# 2. 安装依赖 (必需)
npm install
# 3. 以链接模式安装 (方便修改代码后实时生效)
openclaw plugins install -l .
C 手动安装
- 将上方仓库目录下载到
~/.openclaw/extensions/dingtalk。 - 确保包含
index.ts,openclaw.plugin.json和package.json。 - 运行
openclaw plugins list确认dingtalk已显示在列表中。
配置
警告
重新使用 交互式配置 之后,就可以替换已经绑定的dingtalk配置。
安装后必做:配置插件信任白名单( plugins.allow )
从 OpenClaw 新版本开始,如果发现了非内置插件且 plugins.allow 为空,会提示:
[plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load ...
重要
这是一条安全告警(不是安装失败),建议显式写入你信任的插件 id。
确认插件 id
本插件 id 固定为:
dingtalk(定义于openclaw.plugin.json)。也可用下面命令查看已发现插件:
openclaw plugins list在
~/.openclaw/openclaw.json添加plugins.allow{ "plugins": { "enabled": true, "allow": ["dingtalk"] } }如果你还有其他已安装且需要启用的插件,请一并加入,例如:
{ "plugins": { "allow": ["dingtalk", "telegram", "voice-call"] } }重启 Gateway
openclaw gateway restart
提示
如果你之前已经配置过 plugins.allow,但没有 dingtalk,那么插件不会被加载。请把 dingtalk 加入该列表。
A 交互式配置(推荐)
使用 OpenClaw 命令行向导式配置插件参数:
# 方式 A:使用 onboard 命令
openclaw onboard
# 方式 B:直接配置 channels 部分
openclaw configure --section channels
交互式配置流程:
选择插件 — 在插件列表中选择
dingtalk或DingTalk (钉钉)Client ID — 输入钉钉应用的 AppKey
Client Secret — 输入钉钉应用的 AppSecret
完整配置 — 可选配置 Robot Code、Corp ID、Agent ID(推荐)
卡片模式
— 可选启用 AI 互动卡片模式
- 如启用,需输入 Card Template ID 和 Card Template Key
私聊策略 — 选择
open(开放)或allowlist(白名单)群聊策略 — 选择
open(开放)或allowlist(白名单)
重要
所有的参数参考下文中的钉钉开发者平台配置指南
配置完成后会自动保存并重启 Gateway。
钉钉开发者平台配置指南
1. 创建钉钉应用
- 访问 钉钉开发者后台
- 创建企业内部应用
- 添加「机器人」能力
- 配置消息接收模式为 Stream 模式
- 发布应用
2. 配置权限管理
在应用的权限管理页面,需要开启以下权限:
- ✅ Card.Instance.Write — 创建和投放卡片实例
- ✅ Card.Streaming.Write — 对卡片进行流式更新
步骤:
- 进入应用 → 权限管理
- 搜索「Card」相关权限
- 勾选上述两个权限
- 保存权限配置
3. 建立卡片模板(可选)
步骤:
- 访问 钉钉卡片平台
- 进入「我的模板」
- 点击「创建模板」
- 卡片模板场景选择 「AI 卡片」
- 按需设计卡片排版,点击保存并发布
- 记下模板中定义的内容字段名称
- 复制模板 ID(格式如:
xxxxx-xxxxx-xxxxx.schema) - 将 templateId 配置到
openclaw.json的cardTemplateId字段 - 或在OpenClaw控制台的Channel标签->Dingtalk配置面板-> Card Template Id填入
- 将记下的内容字段变量名配置到
openclaw.json的cardTemplateKey字段 - 或在OpenClaw控制台的Channel标签->Dingtalk配置面板-> Card Template Key填入
说明:
- 使用 DingTalk 官方 AI 卡片模板时,
cardTemplateKey默认为'msgContent',无需修改 - 如果您创建自定义卡片模板,需要确保模板中包含相应的内容字段,并将
cardTemplateKey配置为该字段名称
4. 获取凭证
从开发者后台获取:
- Client ID (AppKey)
- Client Secret (AppSecret)
- Robot Code (与 Client ID 相同)
- Corp ID (企业 ID)
- Agent ID (应用 ID)
B 手动配置文件
在 ~/.openclaw/openclaw.json 中添加(仅作参考,交互式配置会自动生成):
提示
至少包含 plugins.allow 和 channels.dingtalk 两部分,内容参考上文钉钉开发者配置指南。
{
"plugins": {
"enabled": true,
"allow": ["dingtalk"]
},
...
"channels": {
"telegram": { ... },
"dingtalk": {
"enabled": true,
"clientId": "dingxxxxxx",
"clientSecret": "your-app-secret",
"robotCode": "dingxxxxxx",
"corpId": "dingxxxxxx",
"agentId": "123456789",
"dmPolicy": "open",
"groupPolicy": "open",
"debug": false,
"messageType": "markdown", // 或 "card"
// 仅card需要配置
"cardTemplateId": "你复制的模板ID",
"cardTemplateKey": "你模板的内容变量"
}
},
...
}
最后重启 Gateway
重要
使用交互式配置时,Gateway 会自动重启。使用手动配置时需要手动执行:
openclaw gateway restart
验证
openclaw channels status
Feishu/Lark (飞书)
X 修改配置(推荐)
在文件的末尾添加上 plugins 块。(具体这么配置的原因,见下方caution警告块)
警告
在添加之前确认文件中不包含 plugins 块。如果把 feishu 添加进去即可。
{
"channels": {},
// 把 plugins 添加进去
"plugins": {
"entries": {
"feishu": {
"enabled": true
}
}
}
}
重启网关服务:
openclaw gateway restart
配置 Channels:
openclaw configure --section channels
警告
下方 A & B 方法安装之后,日志会一直提示检测到 重复 的 feishu 插件:/node_modules/openclaw/extensions/feishu/index.ts(官方自带的feishu插件文件夹)。重复的插件位置在 ~/.openclaw/openclaw.json 文件内 plugins.installs.feishu 键值对中,根据以下两种不同方法,键值对的值为:
- A 方法 会在
~/.openclaw/extensions/文件夹内下载一个feishu插件,表现为文件夹。值为 该文件夹绝对路径。 - B 方法 值为 本地源码的
feishu文件夹绝对路径。
这样即使 配对授权 之后,用户再次发送消息之后依然提示要求配对。只要删掉 plugins.installs.feishu 之后插件才可以正常使用,所以猜测由于官方插件库包含feishu并且已经在 node_modules 中存在,其实只差了在 plugins 中启用 feishu 而已。经测试,正是如此。所以推荐使用上面的修改配置方法。
A 交互式安装
使用 OpenClaw 命令行向导式配置插件参数:
# 方式 A:使用 onboard 命令
openclaw onboard
# 方式 B:直接配置 channels 部分(推荐)
openclaw configure --section channels
选择 Feishu/Lark (飞书)
Download from npm (@openclaw/feishu)
B 通过本地源码安装
# 1. 克隆仓库
git clone https://github.com/openclaw/openclaw.git
cd openclaw/extensions/feishu
# 2. 安装依赖 (必需)
npm install
# 3. 以链接模式安装 (方便修改代码后实时生效)
openclaw plugins install -l .
或者
本地 checkout(在 openclaw 的 本地仓库内运行):
openclaw plugins install ./extensions/feishu
配置
安装后必做:配置插件信任白名单( plugins.allow )
从 OpenClaw 新版本开始,如果发现了非内置插件且 plugins.allow 为空,会提示:
[plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load ...
重要
这是一条安全告警(不是安装失败),建议显式写入你信任的插件 id。
确认插件 id
本插件 id 固定为:
feishu(定义于openclaw.plugin.json)。也可用下面命令查看已发现插件:
openclaw plugins list在
~/.openclaw/openclaw.json添加plugins.allow{ "plugins": { "enabled": true, "allow": ["feishu"] } }如果你还有其他已安装且需要启用的插件,请一并加入,例如:
{ "plugins": { "allow": ["feishu", "telegram", "voice-call"] } }重启 Gateway
openclaw gateway restart
提示
如果你之前已经配置过 plugins.allow,但没有 feishu,那么插件不会被加载。请把 feishu 加入该列表。
A 交互式配置(推荐)
使用 OpenClaw 命令行向导式配置插件参数:
# 方式 A:使用 onboard 命令
openclaw onboard
# 方式 B:直接配置 channels 部分
openclaw configure --section channels
选择 Feishu/Lark (飞书)
Enter Feishu APP ID
Enter Feishu APP Secret
提示
配置完这两条,就可以在飞书机器人那里配置 长连接 了。
飞书开发者平台配置指南
创建企业自建应用
添加机器人
在应用的 凭证与基础信息 页面,复制:
- App ID(格式如
cli_xxx) - App Secret
❗ 重要:请妥善保管 App Secret,不要分享给他人。
- App ID(格式如
配置应用权限-批量导入
{ "scopes": { "tenant": [ "aily:file:read", "aily:file:write", "application:application.app_message_stats.overview:readonly", "application:application:self_manage", "application:bot.menu:write", "cardkit:card:write", "contact:contact.base:readonly", "contact:user.employee_id:readonly", "corehr:file:download", "docs:document.content:read", "event:ip_list", "im:chat", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.group_msg", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:resource", "sheets:spreadsheet", "wiki:wiki:readonly" ], "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"] } }启用机器人能力:应用能力 > 机器人
配置事件订阅
重要
先不用这个
⚠️ 重要提醒:在配置事件订阅前,请务必确保已完成以下步骤:运行openclaw channels add添加了 Feishu 渠道网关处于启动状态(可通过openclaw gateway status检查状态)
只关注这个
在 事件订阅 页面:
- 选择 使用长连接接收事件(WebSocket 模式)
- 添加事件:
im.message.receive_v1(接收消息)
⚠️ 注意:如果网关未启动或渠道未添加,长连接设置将保存失败。
B 手动配置文件
编辑 ~/.openclaw/openclaw.json:
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "xxx",
"botName": "我的AI助手",
},
},
},
},
}
通过环境变量配置
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
Lark(国际版)域名
如果您的租户在 Lark(国际版),请设置域名为 lark(或完整域名),可配置 channels.feishu.domain 或 channels.feishu.accounts.<id>.domain:
{
channels: {
feishu: {
domain: "lark",
accounts: {
main: {
appId: "cli_xxx",
appSecret: "xxx",
},
},
},
},
}
验证
启动网关
openclaw gateway发送测试消息
在飞书中找到您创建的机器人,发送一条消息。
配对授权
默认情况下,机器人会回复一个 配对码。您需要批准此代码:
openclaw pairing approve feishu <配对码>
批准后即可正常对话。
提示
查看配对请求列表,其中包含用户的 Open ID:
openclaw pairing list feishu
