本文是给“非技术用户”准备的逐步指导,目标环境:
- Windows 10 / 11
- OpenClaw 作为本地 Agent 网关
- 大模型:通过 NVIDIA NIM 调用GLM5(
z-ai/glm5) - 聊天入口:飞书机器人(长连接 / WebSocket)
一、前置条件检查
1.1 以“管理员身份”打开 PowerShell
- 按Win键,搜索
PowerShell。 - 右键 “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 国内网络不稳定):
- 浏览器打开:
https://mirrors.huaweicloud.com/git-for-windows/v2.53.0.windows.1/Git-2.53.0-64-bit.exe - 下载完成后双击安装,一路Next / 下一步保持默认选项即可。
- 安装完关闭已有 PowerShell 窗口,重新打开,执行:
能看到类似git --versiongit 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 脚本:
- 清理半装状态:
rmdir /s /q "%APPDATA%\npm\node_modules\openclaw"
del "%APPDATA%\npm\openclaw.cmd" "%APPDATA%\npm\openclaw.ps1" 2>nul
- 使用
--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为入口,推荐步骤如下:
- 浏览器访问https://build.nvidia.com/models并登录 NVIDIA 账号。
- 在页面右上角的搜索框输入
glm5,点击列表中的Z.ai / glm5模型卡片。 - 在模型详情页中找到 “API Endpoint / Chat API / NIM API” 一栏,通常会给出类似:
POST https://integrate.api.nvidia.com/v1/chat/completions
model: "z-ai/glm5"
Authorization: Bearer $NVIDIA_API_KEY
- 确认:
- baseUrl为
https://integrate.api.nvidia.com/v1; - model字段为
z-ai/glm5(后续要填进 OpenClaw 的models[].id)。 - 在 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 登录账户一致;其它已有字段(如wizard、commands等)保持不变。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 在飞书开放平台创建应用
- 访问https://open.feishu.cn/app,使用企业账号登录。
- 点击 “创建企业自建应用”,填写名称(例如
OpenClaw AI 助手)和图标。 - 在左侧菜单 “应用能力 → 机器人” 中,打开机器人开关。
- 在 “凭证与基础信息” 中记下:
- App ID(形如
cli_xxx) - App Secret
- App ID(形如
5.3 配置机器人权限
- 打开 “权限管理” 页面,点击 “批量导入”。
- 粘贴以下 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 在飞书后台开启“长连接事件订阅”
- 在应用后台左侧选择 “事件订阅”。
- 在 “订阅方式” 中选择 “使用长连接 接收事件”。
- 添加事件:
im.message.receive_v1。 - 此时如果能正常保存,说明飞书已经检测到来自 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 模型
- 浏览器访问https://build.nvidia.com/models,搜索你要用的模型(例如 DeepSeek、Kimi、Qwen 等)。
- 点进对应模型卡片,在页面中找到 “API Endpoint / Chat API / NIM API” 示例。
- 从示例中抄出两项关键信息:
base URL: 例如 https://integrate.api.nvidia.com/v1
model: 例如 "deepseek-ai/deepseek-v3_2"
- (可选)为不同 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
- 在硅基流动官网注册并创建 API Key,记下这串 Key。
- 在 PowerShell 中写入环境变量(示例变量名:
SILICONFLOW_API_KEY):
setx SILICONFLOW_API_KEY "你的硅基流动API Key"
- 从文档中选一个模型 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 兼容服务(适用于其它厂商)
- 设置新的环境变量(示例变量名:
CUSTOM_API_KEY):
setx CUSTOM_API_KEY "你的新服务API Key"
- 编辑
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 秒
按如下步骤修改:
- 在 PowerShell 中打开配置文件:
notepad %USERPROFILE%\.openclaw\openclaw.json
- 用下面这一段替换原来的
"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
}
]
}
}
},
- 再用下面这一段替换原来的
"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
}
},
其它部分(meta、wizard、channels、gateway、plugins等)保持不变,保存文件即可。
6.4.3 应用配置并验证
- 在 PowerShell 中重启网关:
openclaw gateway restart
- 本地测试当前模型:
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"整段替换为下面内容(其它如agents、channels、gateway等保持不变):
"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
或在飞书中问机器人:“你现在用的是什么模型?”即可确认。
七、仪表盘聊天与飞书回复稳定性
7.1 仪表盘聊天页「未授权:缺少网关令牌」
打开http://127.0.0.1:18789/chat?session=main时,若提示「未授权:缺少网关令牌」且显示「已断开与网关的连接」,需要把网关令牌填到仪表盘里:
- 在浏览器打开
http://127.0.0.1:18789/(仪表盘首页)。 - 在页面右上角或设置区域找到「设置」或「控制界面设置」入口(齿轮图标或 Settings)。
- 在「Gateway token」或「网关令牌」输入框中粘贴你的令牌。令牌来自本机配置文件:
%USERPROFILE%\.openclaw\openclaw.json中的gateway.auth.token字段。 - 保存后刷新
/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:查看飞书配对的用户与会话。
如果在其它电脑上复现本环境,只需:
- 严格按本文“一、二、三”完成 Node、Git、OpenClaw 安装与网关初始化;
- 复制当前机器上的
%USERPROFILE%\.openclaw\openclaw.json到新机器对应位置(按需改用户名路径); - 在新机器上设置相同的环境变量(
NVIDIA_API_KEY或CUSTOM_API_KEY等); - 运行
openclaw gateway install、openclaw gateway start、openclaw status验证; - 如果是同一个飞书应用,只需要重新在飞书里发消息并完成一次 pairing 即可。
至此,OpenClaw + NVIDIA GLM5 + 飞书 的环境就完整搭建完毕,可以在企业内部作为统一 AI 助手使用。
夜雨聆风