乐于分享
好东西不私藏

OpenClaw 安装与配置指南(Windows + NVIDIA GLM5 + 飞书)

OpenClaw 安装与配置指南(Windows + NVIDIA GLM5 + 飞书)

本文是给“非技术用户”准备的逐步指导,目标环境:

  • Windows 10 / 11
  • OpenClaw 作为本地 Agent 网关
  • 大模型:通过 NVIDIA NIM 调用GLM5(z-ai/glm5
  • 聊天入口:飞书机器人(长连接 / WebSocket)
如果你已经在一台电脑上按照本指南成功安装,只需要按顺序照做,本文件可以直接用于在其它电脑完成同样配置。

一、前置条件检查

1.1 以“管理员身份”打开 PowerShell

  1. Win键,搜索PowerShell
  2. 右键 “Windows PowerShell” → 选择 “以管理员身份运行”。

后续所有命令都在这个窗口里执行。

1.2 检查 Node.js 与 npm 版本

node -v
npm -v
  • 如果node版本 < 18,或命令不存在,建议安装 / 升级到官方 LTS。

1.3 安装 / 升级 Node.js LTS(可选但强烈推荐)

使用 Windows 自带的winget安装:

winget install -e --id OpenJS.NodeJS.LTS --accept-package-agreements --accept-source-agreements

安装完成后关掉 PowerShell 窗口,重新以管理员身份打开,再次确认:

node -v
npm -v

1.4 安装 Git(供 npm 安装依赖时使用)

如果下面命令报错 “git 不是内部或外部命令”,说明还没装 Git:

git --version

推荐方式:从官方镜像下载安装包(避免 GitHub 国内网络不稳定):

  1. 浏览器打开:
    https://mirrors.huaweicloud.com/git-for-windows/v2.53.0.windows.1/Git-2.53.0-64-bit.exe
  2. 下载完成后双击安装,一路Next / 下一步保持默认选项即可。
  3. 安装完关闭已有 PowerShell 窗口,重新打开,执行:
    git --version
    能看到类似git version 2.53.0.windows.1即为成功。

二、安装 OpenClaw CLI

2.1 全局安装 OpenClaw

npm install -g openclaw@latest
第一次安装会比较慢(几分钟),过程中可能有黄色warn提示,只要不是红色的error通常可以忽略。

2.2 常见安装问题:缺少 git

如果看到类似错误:

npm error code ENOENT
npm error syscall spawn git

说明系统找不到git,请回到前文 “1.4 安装 Git” 完成安装后,重新运行:

npm install -g openclaw@latest

2.3 常见安装问题:node-llama-cpp postinstall 崩溃

如果安装过程中报错类似:

npm error path ...\node_modules\openclaw\node_modules\node-llama-cpp
npm error command ... node ./dist/cli/cli.js postinstall

而你只打算使用远程模型(NVIDIA GLM5,不在本地跑 LLaMA),可以跳过 postinstall 脚本:

  1. 清理半装状态:
rmdir /s /q "%APPDATA%\npm\node_modules\openclaw"
del "%APPDATA%\npm\openclaw.cmd" "%APPDATA%\npm\openclaw.ps1" 2>nul
  1. 使用--ignore-scripts重新安装:
npm install -g openclaw@latest --ignore-scripts

2.4 验证安装

openclaw --version

出现类似openclaw 2026.3.7即为安装成功。


三、初始化 OpenClaw 与网关

3.1 启动配置向导(只做一次基础初始化)

openclaw configure

这里可以直接一路回车使用默认设置,重点是让配置文件%USERPROFILE%\.openclaw\openclaw.json被创建出来。

3.2 安装网关服务(Windows 任务计划)

openclaw gateway install

安装成功会提示:

Installed Scheduled Task: OpenClaw Gateway
Task script: C:\Users\...\gateway.cmd

3.3 启动网关

openclaw gateway start

3.4 检查整体状态

openclaw status

重点看:

  • Gateway一行是否有reachable
  • Sessions是否显示默认模型z-ai/glm5(配置 GLM5 之后)。

四、配置 NVIDIA GLM5 模型(NIM OpenAI 兼容)

4.1 准备 NVIDIA API Key

这里以 NVIDIA 官方模型目录https://build.nvidia.com/models为入口,推荐步骤如下:

  1. 浏览器访问https://build.nvidia.com/models并登录 NVIDIA 账号。
  2. 在页面右上角的搜索框输入glm5,点击列表中的Z.ai / glm5模型卡片。
  3. 在模型详情页中找到 “API Endpoint / Chat API / NIM API” 一栏,通常会给出类似:
POST https://integrate.api.nvidia.com/v1/chat/completions
model: "z-ai/glm5"
Authorization: Bearer $NVIDIA_API_KEY
  1. 确认:
    • baseUrlhttps://integrate.api.nvidia.com/v1
    • model字段为z-ai/glm5(后续要填进 OpenClaw 的models[].id)。
  2. 在 NVIDIA 控制台(通常在 “API Keys / Tokens / NIM Keys” 页面)创建一个访问密钥,得到一串以字母数字组成的 Token,这就是下面要用的NVIDIA_API_KEY

4.2 在系统环境变量中保存 Key

setx NVIDIA_API_KEY "你的NVIDIA_API_KEY"

执行完成后,关闭当前 PowerShell 窗口,重新以管理员身份打开一个新的窗口。

4.3 编辑 OpenClaw 模型配置

notepad %USERPROFILE%\.openclaw\openclaw.json

在文件中加入或修改以下片段(如果已经有models/agents字段,请合并,而不是重复):

{
"models": {
"providers": {
"nvidia-glm5": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "z-ai/glm5",
"name": "NVIDIA GLM-5",
"contextWindow": 205000
}
]
}
}
},
"agents": {
"defaults": {
"workspace": "C:\\Users\\你的用户名\\.openclaw\\workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"model": {
"primary": "nvidia-glm5/z-ai/glm5"
}
}
},
...
}
注意:workspace路径里的用户名要与你当前 Windows 登录账户一致;其它已有字段(如wizardcommands等)保持不变。

4.4 重启网关使配置生效

openclaw gateway restart

4.5 本地测试一次 GLM5 是否可用

openclaw agent --local --agent main --message "你现在用的是什么模型?"

如果返回内容中包含nvidia-glm5/z-ai/glm5,说明 GLM5 已经配置成功。


五、接入飞书机器人(长连接 / WebSocket)

5.1 安装飞书插件

openclaw plugins install @openclaw/feishu

如果后续出现 “duplicate plugin id” 警告可以忽略,只要最终出现Installed plugin: feishu即可。

5.2 在飞书开放平台创建应用

  1. 访问https://open.feishu.cn/app,使用企业账号登录。
  2. 点击 “创建企业自建应用”,填写名称(例如OpenClaw AI 助手)和图标。
  3. 在左侧菜单 “应用能力 → 机器人” 中,打开机器人开关。
  4. 在 “凭证与基础信息” 中记下:
    • App ID(形如cli_xxx
    • App Secret

5.3 配置机器人权限

  1. 打开 “权限管理” 页面,点击 “批量导入”。
  2. 粘贴以下 JSON,并保存、发布版本:
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"application:application.app_message_stats.overview:readonly",
"application:application:self_manage",
"application:bot.menu:write",
"contact:contact.base:readonly",
"contact:user.employee_id:readonly",
"corehr:file:download",
"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"
],
"user": [
"aily:file:read",
"aily:file:write",
"im:chat.access_event.bot_p2p_chat:read"
]
}
}

5.4 在 OpenClaw 配置飞书渠道

方式 A:直接修改配置文件(适合复用)

notepad %USERPROFILE%\.openclaw\openclaw.json

在已有内容中加入channels.feishu配置(用户名与路径按实际修改):

  "channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"default": {
"appId": "cli_你的AppID",
"appSecret": "你的AppSecret",
"botName": "OpenClaw AI"
}
}
}
},

保存后,执行:

openclaw gateway restart
openclaw channels status --probe

如果输出中 Feishu 状态为ok或类似健康状态,说明网关已经连通飞书。

方式 B:使用交互向导(可选)

也可以通过命令:

openclaw channels add

在菜单中选择 “Feishu/Lark (飞书)”,按提示输入 App ID / App Secret。出现 “plugin already exists” 时,说明插件已安装,可直接退出并用方式 A 修改配置。

5.5 在飞书后台开启“长连接事件订阅”

  1. 在应用后台左侧选择 “事件订阅”。
  2. 在 “订阅方式” 中选择 “使用长连接 接收事件”。
  3. 添加事件:im.message.receive_v1
  4. 此时如果能正常保存,说明飞书已经检测到来自 OpenClaw 的长连接。

5.6 首次私聊需要配对(pairing)

第一次在飞书里给机器人发送消息时,通常会看到类似提示:

OpenClaw: access not configured.
Your Feishu user id: ou_xxx
Pairing code: KQDX3YKQ
Ask the bot owner to approve with:
openclaw pairing approve feishu KQDX3YKQ

此时需要在 OpenClaw 所在机器上运行:

openclaw pairing approve feishu KQDX3YKQ

(将KQDX3YKQ替换为你实际看到的配对码)

配对成功后,再次在飞书里对机器人说 “你好”,就可以看到 GLM5 返回的回复,例如:

你好!我刚才查询了一下,目前使用的是 nvidia-glm5/z-ai/glm5 模型。有什麽我可以帮你的吗?

六、更换模型 / 更换 API 提供商

6.1 更换为其它 OpenAI 兼容服务(DeepSeek、智谱、月之暗面等)

6.1.0 通用思路

  • 保留api: "openai-completions"
  • baseUrl换成新服务的 OpenAI 兼容地址;
  • apiKey换成新的 Key(建议仍然用环境变量);
  • models[0].id改成新服务的模型 ID。

6.1.1 在 NVIDIA Models Catalog 中切换到其它 NIM 模型

  1. 浏览器访问https://build.nvidia.com/models,搜索你要用的模型(例如 DeepSeek、Kimi、Qwen 等)。
  2. 点进对应模型卡片,在页面中找到 “API Endpoint / Chat API / NIM API” 示例。
  3. 从示例中抄出两项关键信息:
base URL: 例如 https://integrate.api.nvidia.com/v1
model: 例如 "deepseek-ai/deepseek-v3_2"
  1. (可选)为不同 provider 使用不同环境变量,例如:
setx NVIDIA_API_KEY "你的NVIDIA通用NIM Key"

只要是在 NVIDIA NIM 上的模型,一般可以共用同一个NVIDIA_API_KEY,只需在 OpenClaw 中更换models[].id即可:

  "models": {
"providers": {
"nvidia-glm5": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "deepseek-ai/deepseek-v3_2", // 这里换成你在 models 页面看到的 model 名
"name": "NVIDIA DeepSeek V3.2",
"contextWindow": 200000
}
]
}
}
},
"agents": {
"defaults": {
...
"model": {
"primary": "nvidia-glm5/deepseek-ai/deepseek-v3_2"
}
}
}

保存openclaw.json后,执行:

openclaw gateway restart

再在飞书中询问 “你现在用的是什么模型?”,确认内容已经变成新的 NIM 模型 ID。

6.1.2 示例:切换到硅基流动(SiliconFlow)

硅基流动提供完全兼容 OpenAI 的接口,官方说明:

base_url: https://api.siliconflow.cn/v1

详细文档:https://docs.siliconflow.cn/cn/api-reference/chat-completions/chat-completions

  1. 在硅基流动官网注册并创建 API Key,记下这串 Key。
  2. 在 PowerShell 中写入环境变量(示例变量名:SILICONFLOW_API_KEY):
setx SILICONFLOW_API_KEY "你的硅基流动API Key"
  1. 从文档中选一个模型 ID(例如Qwen/Qwen2.5-72B-Instruct),然后编辑openclaw.json
notepad %USERPROFILE%\.openclaw\openclaw.json

models.providers中新增一个 provider(不要删掉原来的 NVIDIA NIM 配置):

  "models": {
"providers": {
"nvidia-glm5": {
...
},
"siliconflow": {
"baseUrl": "https://api.siliconflow.cn/v1",
"apiKey": "${SILICONFLOW_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "Qwen/Qwen2.5-72B-Instruct",
"name": "SiliconFlow Qwen2.5-72B-Instruct",
"contextWindow": 160000
}
]
}
}
},
"agents": {
"defaults": {
...
"model": {
"primary": "siliconflow/Qwen/Qwen2.5-72B-Instruct"
}
}
}

保存后执行:

openclaw gateway restart

然后在飞书里问:“你现在用的是什么模型?”,应该会看到类似 “siliconflow/Qwen/Qwen2.5-72B-Instruct” 的回答。

6.1.3 通用自定义 OpenAI 兼容服务(适用于其它厂商)

  1. 设置新的环境变量(示例变量名:CUSTOM_API_KEY):
setx CUSTOM_API_KEY "你的新服务API Key"
  1. 编辑openclaw.json
notepad %USERPROFILE%\.openclaw\openclaw.json

把原来的nvidia-glm5provider 替换为:

  "models": {
"providers": {
"custom-openai": {
"baseUrl": "https://你的服务域名/v1",
"apiKey": "${CUSTOM_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "你的模型ID",
"name": "自定义模型",
"contextWindow": 160000
}
]
}
}
},
"agents": {
"defaults": {
...
"model": {
"primary": "custom-openai/你的模型ID"
}
}
}

保存后,重启网关:

openclaw gateway restart

再次在飞书中问:“你现在用的是什么模型?”,确认返回的模型名已经变成新服务的 ID。

6.2 使用多个模型并在内部切换

可以在models.providers下同时配置多个 provider,例如:

  "models": {
"providers": {
"nvidia-glm5": { ... },
"custom-openai": { ... }
}
}

然后用 CLI 快速切换默认模型:

openclaw models set nvidia-glm5/z-ai/glm5
openclaw models set custom-openai/你的模型ID

上述命令会自动更新agents.defaults.model.primary字段。

6.3 更换非 OpenAI 兼容模型提供商

对于 Anthropic、OpenAI 原生、Gemini 等官方支持的提供商,可以使用:

openclaw configure

在 “Model (Pick provider + credentials)” 部分按向导操作,或参考官方文档(CLI 命令openclaw docs可直接搜索)。整体思路仍然是:先在models.providers下配置 provider,再更新agents.defaults.model.primary

6.4 从 GLM5 精确改成 minimax-m2.5(基于当前示例配置)

下面给出一个完全基于你当前openclaw.json的“前后对比”,照抄即可完成从 GLM5 → minimax-m2.5 的切换,并顺便加大任务超时时间。

6.4.1 修改前(你现在的简化配置)

{
"meta": { ... },
"wizard": { ... },
"models": {
"providers": {
"nvidia-glm5": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "z-ai/glm5",
"name": "NVIDIA GLM-5",
"contextWindow": 205000
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "nvidia-glm5/z-ai/glm5"
},
"workspace": "C:\\Users\\Administrator\\.openclaw\\workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"channels": { ... },
"gateway": { ... },
"plugins": { ... }
}

6.4.2 修改后:切换到 minimax-m2.5,并将超时改为 180 秒

按如下步骤修改:

  1. 在 PowerShell 中打开配置文件:
notepad %USERPROFILE%\.openclaw\openclaw.json
  1. 用下面这一段替换原来的"models"部分:
"models": {
"providers": {
"nvidia-glm5": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "minimaxai/minimax-m2.5",
"name": "NVIDIA minimax-m2.5",
"contextWindow": 200000
}
]
}
}
},
  1. 再用下面这一段替换原来的"agents": { "defaults": ... }部分:
"agents": {
"defaults": {
"model": {
"primary": "nvidia-glm5/minimaxai/minimax-m2.5"
},
"workspace": "C:\\Users\\Administrator\\.openclaw\\workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"timeoutSeconds": 180
}
},

其它部分(metawizardchannelsgatewayplugins等)保持不变,保存文件即可。

6.4.3 应用配置并验证

  1. 在 PowerShell 中重启网关:
openclaw gateway restart
  1. 本地测试当前模型:
openclaw agent --local --agent main --message "你现在用的是什么模型?"

如果回答中出现nvidia-glm5/minimaxai/minimax-m2.5,并且复杂任务不再频繁提示Request timed out,说明 minimax-m2.5 和新的timeoutSeconds已经生效。

6.5 一次配置五款 NIM 模型,用 CLI 随时切换

在同一个 provider(nvidia-glm5)下把 GLM5、minimax-m2.5、DeepSeek V3.2、Kimi K2.5、Qwen3.5-122B 都配好,只需一个NVIDIA_API_KEY,之后在命令行用openclaw models set ...即可切换,无需再改配置文件。

6.5.1 在 openclaw.json 中配置多模型

用记事本打开配置:

notepad %USERPROFILE%\.openclaw\openclaw.json

"models"整段替换为下面内容(其它如agentschannelsgateway等保持不变):

"models": {
"providers": {
"nvidia-glm5": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "z-ai/glm5",
"name": "NVIDIA GLM-5",
"contextWindow": 205000
},
{
"id": "minimaxai/minimax-m2.5",
"name": "NVIDIA minimax-m2.5",
"contextWindow": 200000
},
{
"id": "deepseek-ai/deepseek-v3_2",
"name": "NVIDIA DeepSeek V3.2",
"contextWindow": 200000
},
{
"id": "moonshotai/kimi-k2.5",
"name": "NVIDIA Kimi K2.5",
"contextWindow": 200000
},
{
"id": "qwen/qwen3.5-122b-a10b",
"name": "NVIDIA Qwen3.5-122B-A10B",
"contextWindow": 128000
}
]
}
}
},

建议在agents.defaults中保留timeoutSeconds: 180,并把默认模型设为其中一个,例如:

"agents": {
"defaults": {
"model": {
"primary": "nvidia-glm5/minimaxai/minimax-m2.5"
},
"timeoutSeconds": 180,
...
}
},

6.5.2 在 CLI 中切换当前模型

保存配置并执行openclaw gateway restart后,在 PowerShell 中执行下面任一命令即可切换默认模型(无需再编辑 JSON):

openclaw models set nvidia-glm5/z-ai/glm5
openclaw models set nvidia-glm5/minimaxai/minimax-m2.5
openclaw models set nvidia-glm5/deepseek-ai/deepseek-v3_2
openclaw models set nvidia-glm5/moonshotai/kimi-k2.5
openclaw models set nvidia-glm5/qwen/qwen3.5-122b-a10b

查看当前使用的模型:

openclaw models status

或在飞书中问机器人:“你现在用的是什么模型?”即可确认。

这样配置的好处:只需维护一处 Key、一次写好五个模型,之后按任务或需求在命令行随时切换,无需改配置文件。

七、仪表盘聊天与飞书回复稳定性

7.1 仪表盘聊天页「未授权:缺少网关令牌」

打开http://127.0.0.1:18789/chat?session=main时,若提示「未授权:缺少网关令牌」且显示「已断开与网关的连接」,需要把网关令牌填到仪表盘里:

  1. 在浏览器打开http://127.0.0.1:18789/(仪表盘首页)。
  2. 在页面右上角或设置区域找到「设置」或「控制界面设置」入口(齿轮图标或 Settings)。
  3. 在「Gateway token」或「网关令牌」输入框中粘贴你的令牌。令牌来自本机配置文件:%USERPROFILE%\.openclaw\openclaw.json中的gateway.auth.token字段。
  4. 保存后刷新/chat?session=main页面,即可正常连上网关并聊天。

若未改过配置,该令牌由openclaw configure或网关安装时生成;重新生成会覆盖openclaw.json中的gateway.auth.token

7.2 飞书回复不稳定(有时有回复、有时没有)

常见原因有两类:① 单次运行超时(超过配置的timeoutSeconds);② 会话索引损坏sessions.json指向已删除的会话文件,导致请求无法正确关联会话)。

  • 先发/new再问:在飞书里先发一行/new开启新会话,再发一句简单问题(如「你好」「当前模型?」),减少历史上下文带来的延迟。
  • 问题尽量简短:复杂或多步任务容易超时,建议拆成小问题或改在「仪表盘聊天」或本机openclaw tui里做。
  • 重置主会话(推荐用命令,勿手删):若简单问题也经常无回复,不要手动删除sessions.json*.jsonl,否则会出现「会话索引指向不存在的文件」,飞书发消息会持续无回复或报错。正确做法:openclaw gateway stop→ 执行openclaw sessions cleanup --store "%USERPROFILE%\.openclaw\agents\main\sessions\sessions.json" --enforce --fix-missing(清理缺失的会话引用)→openclaw gateway start。若需诊断,可先运行openclaw doctor --non-interactive查看建议。

八、常用诊断命令

  • openclaw status:查看整体运行状态、当前模型、会话等。
  • openclaw logs --follow:实时查看网关日志(排查请求失败原因)。
  • openclaw channels status --probe:检查各个聊天渠道(包括飞书)健康状况。
  • openclaw pairing list feishu:查看飞书配对的用户与会话。

如果在其它电脑上复现本环境,只需:

  1. 严格按本文“一、二、三”完成 Node、Git、OpenClaw 安装与网关初始化;
  2. 复制当前机器上的%USERPROFILE%\.openclaw\openclaw.json到新机器对应位置(按需改用户名路径);
  3. 在新机器上设置相同的环境变量(NVIDIA_API_KEYCUSTOM_API_KEY等);
  4. 运行openclaw gateway installopenclaw gateway startopenclaw status验证;
  5. 如果是同一个飞书应用,只需要重新在飞书里发消息并完成一次 pairing 即可。

至此,OpenClaw + NVIDIA GLM5 + 飞书 的环境就完整搭建完毕,可以在企业内部作为统一 AI 助手使用。