openclaw默认端口18789必须空闲,执行sudo ss -tuln | grep ':18789'无输出表示可用;若有listen记录则被占用,需终止进程或换端口,且须配置bind: lan并放行防火墙。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

确认OpenClaw默认端口是否被占用
本地运行OpenClaw前必须检查18789端口是否空闲,该端口是网关服务默认监听端口,若被其他程序(如另一实例、Web服务器、数据库)占用,OpenClaw将无法启动并直接报错退出。
执行命令:sudo ss -tuln | grep ':18789'。无任何输出表示可用;若返回一行含LISTEN状态的记录,说明已被占用,需立即更换端口或终止占用进程。
注意:别用netstat替代ss——macOS和新版Linux默认不预装netstat,且ss响应更快、权限更明确;用错命令会导致误判空闲状态。
修改OpenClaw配置以绑定到局域网并指定端口
OpenClaw默认只绑定到127.0.0.1(loopback),本机可访问但局域网设备无法连接。要实现本地多设备协同(如手机、平板访问控制台),必须显式启用lan模式并指定端口。
打开配置文件:~/.openclaw/config.yaml(macOS/Linux)或 %USERPROFILE%\.openclaw\config.yaml(Windows)。
在server:区块下添加两行(缩进必须为两个空格,大小写严格):
server:
port: 18789
bind: lan
这一步漏掉bind: lan,即使端口正确,局域网设备仍会连接超时——因为服务根本没监听0.0.0.0或本机真实IP。
防火墙放行端口(macOS/Windows系统必做)
macOS系统自带防火墙默认拦截入站连接,即使OpenClaw已成功监听18789端口,外部设备仍无法访问。
方法一(图形界面):
打开「系统设置」→「隐私与安全性」→「防火墙」→「防火墙选项」→点击左下角锁图标解锁→点击「+」添加openclaw可执行文件(路径通常为$(npm prefix -g)/bin/openclaw)→勾选“允许传入连接”。
方法二(终端命令,推荐):
执行:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add $(which openclaw) && sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp $(which openclaw)。
Windows用户请打开「Windows Defender 防火墙」→「高级设置」→「入站规则」→新建规则→选择“端口”→TCP→特定本地端口18789→允许连接→配置域/专用/公用配置文件→命名“OpenClaw Gateway”。
验证端口绑定与服务响应
重启服务后,分三步验证:
① 检查端口监听状态:sudo ss -tuln | grep ':18789',确认输出中包含LISTEN且Process name列为openclaw。
② 本机curl测试:curl -s http://localhost:18789/health | jq .status(需安装jq)或直接看返回是否为{"status":"ok"}。
③ 局域网设备访问:http://[你的Mac/PC局域网IP]:18789(例如http://192.168.1.5:18789),能打开控制台即成功。
如果第②步失败但第①步成功,说明服务进程已绑定端口但内部HTTP服务器未启动——大概率是config.yaml语法错误(如多了一个冒号、缩进用了Tab)。










