时间:2026-03-20 15:54
人气:
作者:admin
opclaw的UI交互有两种方法:OpenClaw 的 Web 端本身就是一个内置的、功能最完整的 Channel,非常方便。另一种是通过配置第三方 Channel(如飞书、钉钉、Discord)。既然 Web 端这么方便,为什么文档里还花大篇幅讲飞书、Discord 等 Channel 呢?核心区别在于**“主动性”和“场景”**。如果你是个人开发者,主要在电脑前工作,Web 端完全够用,甚至体验更好(因为可以直接看日志、调试代码)。如果你希望手机随时控制,或者需要团队多人使用,或者需要夜间报警,那么配置第三方 Channel 才是必须的。具体的二者使用方式和场景如下表所示:
| 特性 | Web 端 (Built-in Channel) | 第三方 Channel (飞书/钉钉/微信等) |
|---|---|---|
| 交互模式 | 被动拉取:你必须打开浏览器,主动去找它聊天。 | 主动推送:消息直接推送到你正在用的聊天软件里。 |
| 使用场景 | 适合深度工作:写代码、调试复杂技能、查看长报告、管理配置。 | 适合轻量交互:随时随地的查询、紧急报警通知、碎片化指令。 |
| 通知能力 | 弱:如果你没开着网页,就收不到消息(除非浏览器开后台通知)。 | 强:手机会震动/响铃,哪怕你在睡觉也能收到服务器报警。 |
| 团队协作 | 弱:通常只能单人登录或使用共享账号,难以区分不同人。 | 强:天然支持多用户、多群组,能识别“是谁在说话”,权限隔离好。 |
| 依赖环境 | 无:只要有浏览器即可。 | 中:需要配置 API Key、回调地址等。 |
以下是直接使用 Web 端的步骤:
在终端运行:
openclaw start
# 或者如果是开发模式
openclaw dev
注意:确保启动日志中看到类似 Web UI running at http://localhost:3000 的信息。默认端口通常是 3000 或 8080,具体看你的版本配置。
OpenClaw Web 端(Control UI)的 IP 地址(监听地址) 由 gateway.bind 配置项 唯一决定,端口 由 gateway.port 决定,
最终访问地址 = http://[监听IP]:[端口]
具体如下:
文件路径:~/.openclaw/openclaw.json
关键配置块:
{
"gateway": {
"port": 18789, // Web 端口(默认 18789)
"bind": "loopback", // 监听地址(核心!)
"mode": "local"
}
}
新版本不再支持直接写 0.0.0.0 或 192.168.x.x,只能用以下别名:
| bind 值 | 实际监听 IP | 访问范围 | 说明 |
|---|---|---|---|
| loopback (默认) | 127.0.0.1 | 仅本机 | 最安全,只有电脑自己能访问 |
| lan | 0.0.0.0 | 所有网卡 | 本机 + 局域网(手机 / 其他电脑可访问) |
| tailnet | Tailscale IP | 仅 Tailscale 网络 | 异地组网专用 |
| custom | gateway.custom_address | 指定单 IP | 需额外配置 custom_address |
| auto | 自动 | 智能切换 | 有 Tailscale 则用 tailnet,否则 lan |
# 改为仅本机访问(默认)
openclaw config set gateway.bind loopback
# 改为局域网可访问(最常用)
openclaw config set gateway.bind lan
# 改为指定IP(如 192.168.1.100)
openclaw config set gateway.bind custom
openclaw config set gateway.custom_address 192.168.1.100
# 修改端口
openclaw config set gateway.port 18789
systemctl --user restart openclaw-gateway.service
http://localhost:3000
或
http://127.0.0.1:18789
(如果是在远程服务器上运行,将 localhost 替换为服务器 IP,具体的地址由.openclaw/openclaw.json中gateway配置决定)
你会看到一个类似 ChatGPT 的聊天界面:
除了聊天,OpenClaw 的 Web 端通常还集成了管理控制台的功能,这是第三方 Channel 做不到的:
Channel 的实现本质上是适配器模式(Adapter Pattern),将不同 IM 软件的 API 协议转换为 OpenClaw 内部统一的消息格式。Channel 的核心作用如下:
Channel 通常运行在 Gateway(网关) 模式下。这意味着即使你关闭了电脑屏幕或去睡觉了,只要网关在运行,它就能监听消息。
场景:你在凌晨 3 点在手机上发一条“检查服务器日志”,OpenClaw 收到后自动执行,并在 5 分钟后把报告推送到你的手机上。
| 类型 | 典型代表 | 适用场景 | 配置难度 |
|---|---|---|---|
| 国内办公协同 | 飞书 (Feishu)、钉钉 (DingTalk)、企业微信 | 最适合国内开发者。可直接在办公软件中@机器人,让它处理代码、写文档、查数据。 | ⭐⭐ (需创建应用获取 AppID/Secret) |
| 国际社区/极客 | Discord、Slack | 适合海外团队或个人极客。支持丰富的 Bot 交互功能(如 Slash Commands /run)。 | ⭐⭐ (需创建 Bot 获取 Token) |
| 即时通讯 | Telegram、WhatsApp | 适合个人移动端随时随地的轻量级控制。 | ⭐ (Telegram 最简单,WhatsApp 较复杂) |
| 本地/开发调试 | CLI (命令行)、Web UI | 最基础的 Channel,直接在终端输入或通过浏览器界面交互。 | ⭐ (默认自带) |
当你配置一个 Channel 时,OpenClaw 实际上在执行以下逻辑:
根据搜索结果,配置 Channel 通常有两种方式:命令行交互式配置 或 手动修改配置文件。
OpenClaw 提供了交互式命令来添加频道。
启动配置命令:
openclaw channels add
系统会列出支持的渠道列表(如 feishu, discord, telegram 等)。
选择并输入凭证:
输入你想配置的渠道名称(例如 feishu),然后根据提示输入关键信息:
示例(飞书):
> openclaw channels add
Select channel type: feishu
Enter Feishu App ID: cli_a1b2c3d4...
Enter Feishu App Secret: xYz...
验证状态:
配置完成后,检查状态:
openclaw channels status
如果显示 Active 或 Connected,说明成功。
如果命令行报错(如你之前遇到的 too many arguments 问题),可以直接编辑配置文件。
找到配置文件:
通常位于 ~/.openclaw/config.yaml 或 ~/.openclaw/channels.yaml。
添加配置块:
channels:
- name: my-feishu-bot
type: feishu
enabled: true
config:
app_id: "cli_xxxxx"
app_secret: "xxxxx"
# 可选:指定只监听某些群组
# allow_groups: ["GroupID123"]
- name: my-discord-bot
type: discord
enabled: false # 暂时禁用
config:
token: "MTAx..."
重启网关:
修改配置后,需要重启 Gateway 服务才能生效:
openclaw gateway restart
# 或者如果是在前台运行,按 Ctrl+C 停止后重新运行 openclaw