环境:WSL2 (Ubuntu) · Node.js v25 (nvm) · OpenClaw v2026.3.2 · Kimi K2.5 · 飞书企业自建应用
日期:2026-03-04
OpenClaw 是一个运行在本地的 AI 编程助手网关,本质上是一个拥有本地文件系统、命令执行权限的 Agent。选择在 WSL2 上部署,主要出于以下安全考量:
WSL2 运行在独立的轻量级虚拟机中,与 Windows 宿主机之间有明确的边界。即使 Agent 执行了破坏性命令,影响范围也被限制在 WSL2 子系统内,不会直接波及 Windows 系统文件、注册表或其它应用。
WSL2 中可以精细控制 Linux 用户权限。以普通用户(非 root)运行 Agent,结合 Linux DAC 权限模型,天然限制了 Agent 能访问的资源范围。
WSL2 默认使用 NAT 网络,Gateway 监听 127.0.0.1 时仅本机可访问,无需担心局域网内其它设备直接连接。
WSL2 可以直接调用 Windows 侧的程序(如 VS Code、浏览器),同时保持 Linux 开发环境。对于需要在 IDE 中使用 OpenClaw 的场景,WSL2 是最自然的选择。
WSL2 是 Windows 10/11 的内置功能,完全免费,无需购买 VMware/Parallels 等商业虚拟机软件。启用方式极其简单:
# 在 Windows PowerShell(管理员)中执行
wsl --install
与传统虚拟机相比:
/mnt/c/),反之亦然总结:在 WSL2 中部署 OpenClaw,既获得了 Linux 环境的开发便利,又通过虚拟化边界降低了 AI Agent 潜在误操作的安全风险。相比传统虚拟机,WSL2 免费、轻量、无需额外安装,是在 Windows 宿主机上运行 AI Agent 的最优选择。
# 安装 nvm(若未安装)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.nvm/nvm.sh
# 安装 Node.js
nvm install --lts
curl -fsSL https://openclaw.ai/install.sh | bash
# npm/pnpm 安装
# pnpm install -g openclaw
安装完成后验证:
source ~/.nvm/nvm.sh
openclaw --version
# OpenClaw v2026.3.2
openclaw onboard --install-daemon
按向导操作:
向导完成后,Gateway 会作为 systemd 用户服务运行:
systemctl --user status openclaw-gateway.service
输出截图

PR #33104
⚠️ 截至 2026-03-04,此 Bug 尚未合并修复,需手动 patch,或者使用 vscode 工具等,让 AI 修复。
在全新安装后首次运行 openclaw onboard --install-daemon 时,会报错:
Error: systemctl is-enabled unavailable
根本原因:openclaw 调用 systemctl --user is-enabled 检查服务状态时,对于从未安装过的服务,systemctl 会输出 not-found 到 stdout 并返回非零退出码。execFile 将非零退出包装成 Error 对象,导致 isSystemdUnitNotEnabled() 函数无法匹配 "not-found" 字符串,最终抛出异常而非返回 false。
相关 PR:openclaw/openclaw#33104
find ~/.nvm/versions/node/*/lib/node_modules/openclaw/dist -name "systemd-*.js" 2>/dev/null
isSystemdServiceEnabled 函数中的 throw 语句之前添加 stdout fallback 判断: } catch (res) {
+ if (isSystemdUnitNotEnabled(res.stdout ?? "")) return false;
throw new Error(`systemctl is-enabled unavailable: ...`);
}
openclaw onboard --install-daemon,不再报错。OpenClaw 支持多种 AI 模型提供商,本次选用 Moonshot AI 的 Kimi K2.5。

在 openclaw onboard 向导中直接输入,或手动编辑配置文件:
cat ~/.openclaw/openclaw.json
关键配置项:
{
"model": "moonshot/kimi-k2.5",
"auth": {
"moonshot": {
"api_key": "sk-xxxxxxxxxxxx"
}
}
}
api.moonshot.cn)其它模型:OpenClaw 同样支持 OpenAI、Anthropic Claude、Google Gemini 等,接入流程类似——充值、获取 API Key、配置即可。
飞书是对国内用户最友好的接入方式,截图中的权限和事件经过我多轮测试,支持私聊和群组 @ 机器人两种使用场景。
openclaw)、描述,上传图标
应用创建后,进入 凭证与基础信息 页面,记录:
cli_xxxxxxxxxx
将这两项填入 openclaw 配置:
openclaw channels add --channel feishu
# 按提示输入 App ID 和 App Secret
或直接编辑 ~/.openclaw/openclaw.json:
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxxxxxxx",
"appSecret": "xxxxxxxxxxxxxxxx",
"connectionMode": "websocket",
"domain": "feishu"
}
}
}
进入应用 → 添加应用能力 → 点击 机器人 卡片下的「+ 添加」。

进入 权限管理,搜索并开通以下权限(应用身份):
| 权限标识 | 说明 |
|---|---|
im:message | 获取与发送单聊、群组消息 |
im:message:send_as_bot | 以机器人身份发送消息 |
contact:contact.base:readonly | 获取通讯录基本信息(用于识别用户) |
已开通权限列表截图

进入 事件与回调 → 事件配置 标签:
订阅方式 选择 "使用长连接接收事件"(推荐)
已添加事件(点击「添加事件」逐一添加):
| 事件 | 说明 |
|---|---|
im.message.receive_v1 | 接收用户消息(核心,必须) |
im.message.message_read_v1 | 消息已读回执 |
im.chat.member.bot.added_v1 | 机器人被拉入群 |
im.chat.member.bot.deleted_v1 | 机器人被移出群 |
事件配置页面,长连接模式 + 已添加事件列表截图
添加事件

⚠️ 注意:保存事件配置时,飞书会检测是否已有长连接建立。需先确保
openclaw-gateway.service正在运行,再点保存。
配置变更(添加机器人能力、权限、事件)后,必须发布新版本才对用户生效:
1.0.0)和更新说明版本管理与发布页面截图

发布后,在手机飞书上首次打开应用时需要授权:
openclaw → 找到机器人手机飞书群组添加 openclaw 机器人

手机私聊机器人,正常响应截图

首次私聊机器人时,openclaw 需要配对以验证用户身份:
发任意消息,机器人会回复:
OpenClaw: access not configured.
Your Feishu user id: ou_xxxxxxxx
Pairing code: XXXXXXXX
Ask the bot owner to approve with:
openclaw pairing approve feishu XXXXXXXX
在服务器终端执行(注意:参数是配对码,不是用户 ID):
source ~/.nvm/nvm.sh
openclaw pairing approve feishu XXXXXXXX
配对成功后即可正常对话。
💡 提示:配对码有时效,需在机器人回复后尽快执行批准命令。可用
openclaw pairing list查看待批准的请求。
如果 WSL2 环境配置了 HTTP 代理(如通过 Windows 宿主机的 Clash/V2Ray),需将飞书域名加入 no_proxy,避免 HTTPS 请求走代理出错:
在 ~/.bashrc 中:
export no_proxy="localhost,127.0.0.1,open.feishu.cn,${no_proxy}"
export NO_PROXY="$no_proxy"
同时更新 systemd 服务的环境变量(编辑 ~/.config/systemd/user/openclaw-gateway.service):
Environment=NO_PROXY=localhost,127.0.0.1,open.feishu.cn,...
Environment=no_proxy=localhost,127.0.0.1,open.feishu.cn,...
然后重启服务:
systemctl --user daemon-reload && systemctl --user restart openclaw-gateway.service
安装 OpenClaw
↓
配置 AI 模型(充值 + 获取 API Key + 配置)
↓
配置聊天渠道(飞书/Slack/Discord 等)
↓
启动 Gateway 服务
↓
在聊天渠道中 @ 机器人或私聊,开始使用
整体体验下来,OpenClaw 的核心逻辑很简单:
OpenClaw 支持主流模型提供商,切换成本极低:
| 提供商 | 模型示例 | 获取 Key |
|---|---|---|
| Moonshot AI | moonshot/kimi-k2.5 | platform.moonshot.cn |
| OpenAI | openai/gpt-4o | platform.openai.com |
| Anthropic | anthropic/claude-3-5-sonnet | console.anthropic.com |
google/gemini-2.0-flash | aistudio.google.com |
只需充值对应平台、获取 API Key,修改 ~/.openclaw/openclaw.json 中的 model 和 auth 字段即可。
不同渠道的差异主要在权限模型和接入方式:
核心逻辑相同:注册应用 → 获取凭证 → 配置权限/事件 → 填入 openclaw。
OpenClaw 支持通过 Skills(技能插件)扩展 Agent 能力:
# 查看可用插件
openclaw plugins list
# 安装插件(如飞书文档读取)
openclaw plugins install @openclaw/feishu
飞书插件安装后,Agent 就能读取飞书文档、多维表格、知识库等,真正做到"对话即操作",主要就是权限和事件等配置了。
OpenClaw 的亮点在于把 AI Agent 从 IDE 里解放出来——通过飞书私聊就能让 AI 帮你查代码、改 bug、执行终端命令,无需打开 IDE。对于需要在手机上快速查看代码状态、触发简单任务的场景非常实用。
整个安装调试过程中踩了几个坑(systemd bug、代理问题、飞书配对流程),但每个问题都有明确的解决路径。期待 PR #33104 早日合并,让安装体验更顺滑。
本文基于 OpenClaw v2026.3.2 实测,如有版本差异请以官方文档为准。
参考资料: [1] https://openclaw.ai/
评论