OpenClaw Gateway Did Not Start on Localhost:18789完整排查指南:7大原因与系统化修复方案

遇到OpenClaw gateway did not start on localhost:18789错误?本文深度解析7大常见原因,覆盖macOS、Linux、Windows和Docker全平台,提供系统化排查流程和一键修复命令。

Nano Banana Pro

4K图像官方2折

Google Gemini 3 Pro Image · AI图像生成

已服务 10万+ 开发者
$0.24/张
$0.05/张
限时特惠·企业级稳定·支付宝/微信支付
Gemini 3
原生模型
国内直连
20ms延迟
4K超清
2048px
30s出图
极速响应
AI技术研究员
AI技术研究员·

当你满怀期待地启动OpenClaw,准备体验这款强大的AI助手平台时,终端却冷冰冰地抛出一条gateway did not start on localhost:18789错误——这种体验足以让任何开发者感到沮丧。更让人困惑的是,这条错误信息本身并不会告诉你具体哪个环节出了问题,你只知道Gateway没能在预期的18789端口上成功启动。

根据OpenClaw社区的Issue统计和故障排查数据,Gateway启动失败是用户在初次部署和版本升级时遇到的最高频问题之一。其中约45%的案例源于端口被其他进程占用,30%是因为关键配置项缺失,剩余25%则分散在权限问题、Docker网络配置和平台兼容性等方面。好消息是,一旦理解了Gateway的工作原理和常见的失败模式,绝大多数情况下你可以在5分钟内完成定位和修复。

本文将从OpenClaw Gateway的架构原理出发,系统性地解析导致localhost:18789启动失败的7大根本原因,并针对macOS、Linux、Windows和Docker四个平台提供经过验证的排查流程。无论你是首次安装的新手用户,还是升级后突然遭遇问题的老用户,都能在这里找到对应的解决路径。

OpenClaw Gateway启动失败排查指南:系统化解决localhost:18789端口问题

理解OpenClaw Gateway的核心架构

在深入排查之前,有必要先理解Gateway在OpenClaw系统中扮演的角色。根据OpenClaw官方故障排除文档的描述,很多用户把Gateway简单理解为"一个端口服务",但实际上它是整个OpenClaw生态系统的通信枢纽,承担着远比表面看到的更复杂的职责。

Gateway本质上是一个WebSocket服务器,运行在默认端口18789上,负责协调OpenClaw的所有组件之间的通信。当你在浏览器中打开Dashboard、通过CLI发送命令、或者让Agent执行任务时,所有这些请求都需要经过Gateway进行路由和分发。可以把它想象成一个智能交通枢纽:没有它,OpenClaw的各个组件就像断开连接的孤岛,无法协同工作。

OpenClaw的端口体系采用了精心设计的分层架构。主Gateway端口18789处理所有客户端连接和WebSocket通信,控制服务端口18791负责内部管理API调用,CDP中继端口18792专门处理浏览器自动化的Chrome DevTools Protocol通信,而18800及以上的端口则动态分配给被管理的浏览器实例。理解这个端口分层对排查问题至关重要——当18789出问题时,你需要确认是仅Gateway受影响,还是整个端口链路都存在问题。

Gateway支持三种运行模式,这也是很多启动失败问题的根源所在。local模式将Gateway绑定到127.0.0.1,仅允许本机访问,这是单机使用的推荐配置。remote模式绑定到0.0.0.0,允许网络中的其他设备连接,适合服务器部署场景。hybrid模式则同时支持本地和远程访问。OpenClaw出于安全考虑,不会默认设置任何模式——它要求用户显式做出选择,这个设计意图是好的,但恰恰成为了新用户最常遇到的第一个障碍。

核心认知:Gateway不会自动选择运行模式。如果你没有手动配置gateway.mode,Gateway将拒绝启动并报错。这是一个刻意的安全设计,而非Bug。

7大常见错误原因深度解析

了解了Gateway的架构之后,让我们逐一分析导致**"gateway did not start on localhost:18789"**的7种最常见原因。根据社区数据和官方文档的统计,下表展示了每种原因的发生概率和修复难度:

错误类型发生概率修复难度核心原因
Gateway模式未配置35%简单gateway.mode缺失
端口被占用25%简单旧进程未退出
服务未正确安装15%中等守护进程缺失
配置文件损坏8%中等JSON格式错误
权限不足7%中等目录/端口权限
Docker网络问题6%较难NAT/绑定配置
Node.js版本不兼容4%简单版本过低

第一类:Gateway模式未配置(35%)

这是最常见的启动失败原因,占据了所有案例的三分之一以上。当你看到日志中出现**"Gateway start blocked: set gateway.mode=local"**这条消息时,就说明OpenClaw正在等待你显式配置运行模式。正如前文所述,这是一个安全设计——默认不暴露任何网络接口,防止用户在不知情的情况下将Gateway暴露到公网。

修复方法非常直接,只需要一条命令:

bash
openclaw config set gateway.mode local
openclaw gateway restart

这条配置会持久化写入~/.openclaw/config.yaml文件,跨重启保持有效。如果你是在Docker环境中运行,则需要通过环境变量设置:OPENCLAW_GATEWAY_MODE=local

第二类:端口18789被占用(25%)

端口冲突是第二大高频原因。最典型的场景是之前运行过Clawdbot或Moltbot(OpenClaw的前身项目),这些旧版本的进程可能仍在后台占用18789端口。另一种常见情况是OpenClaw自身的上一次运行未正常退出,留下了僵尸进程。

要确认端口占用情况,在不同平台上使用不同的诊断命令:

bash
# macOS / Linux
lsof -i :18789

# Windows
netstat -ano | findstr :18789

如果发现确实有进程占用,你需要先终止该进程再启动Gateway。在Linux/macOS上,可以用kill -9 <PID>强制终止;在Windows上则使用taskkill /PID <PID> /F。如果占用端口的是旧版本的Clawdbot服务,建议彻底卸载旧版本以避免反复冲突。

第三类:守护进程未正确安装(15%)

OpenClaw的Gateway需要以守护进程形式运行才能保持持续服务。如果你是通过npm全局安装的OpenClaw,可能会遇到守护进程未自动注册的情况。此时运行openclaw gateway status会显示**"not running"**状态,并且手动启动后也无法保持后台运行。

解决方案是重新安装Gateway守护进程:

bash
openclaw gateway install --force
openclaw gateway start

这条命令会根据你的操作系统自动选择合适的服务管理方式:macOS使用launchd,Linux使用systemd,Windows使用计划任务。--force参数确保即使之前有残留的服务配置也能覆盖重装。

第四类:配置文件损坏(8%)

配置文件损坏通常发生在手动编辑配置、版本升级中断或磁盘问题之后。OpenClaw的配置文件位于~/.openclaw/config.yaml,如果这个文件的YAML格式出现语法错误,Gateway将无法解析配置而拒绝启动。

最快的诊断方法是运行openclaw doctor命令。这个内置的诊断工具会检查配置文件的语法正确性、必需字段的完整性以及值的合理性。加上--fix参数后,它还能自动修复大部分常见问题:

bash
openclaw doctor --fix

根据官方文档的数据,openclaw doctor --fix能够自动解决约60%的配置相关问题。如果自动修复无法解决,你可能需要备份现有配置后重新初始化:将~/.openclaw目录重命名备份,然后重新运行openclaw configure完成初始设置。

第五类:权限不足(7%)

权限问题在Linux服务器和Docker环境中更为常见。典型场景包括:配置目录的文件权限被修改、以不同用户身份运行OpenClaw、或Docker容器中的bind mount权限不匹配。

如果你在日志中看到**EACCES(Permission denied)**相关错误,首先检查OpenClaw配置目录的权限:

bash
ls -la ~/.openclaw/

确保当前用户对该目录有读写权限。对于Docker环境中的bind mount场景,需要确保容器内的用户(通常是UID 1000)与宿主机目录的权限匹配。修复命令为:

bash
sudo chown -R 1000:1000 /你的openclaw数据目录

第六类:Docker网络配置问题(6%)

在Docker Desktop(Windows/macOS)环境中,一个特别隐蔽的问题是NAT网络导致的身份验证失败。当Gateway运行在Docker容器内时,来自宿主机浏览器的连接会经过Docker的NAT层,Gateway看到的源地址不是127.0.0.1,而是Docker网桥地址如172.18.0.1。Gateway会将这种非本地连接视为外部访问,触发设备配对要求,导致Dashboard显示"pairing required"错误。

解决方案是在配置中添加受信任的代理地址:

json
{
  "trustedProxies": ["172.18.0.0/16", "172.17.0.0/16"]
}

或者更简单的做法是在docker-compose.yml中使用network_mode: host,让容器直接使用宿主机网络栈,彻底避免NAT问题。

第七类:Node.js版本不兼容(4%)

OpenClaw要求Node.js 18或更高版本,推荐使用Node.js 22。如果你的系统安装了较低版本的Node.js,Gateway在启动时可能会因为缺少必要的API(如原生fetch支持、可选链操作符等)而失败,但错误信息往往不够明确,容易被误判为其他问题。

快速检查方法:

bash
node --version

如果版本低于18,建议使用nvm(Node Version Manager)进行版本管理和升级,避免影响系统中其他依赖特定Node.js版本的项目。

OpenClaw Gateway系统化排查流程:5步诊断法从自动修复到平台专项排查

系统化排查流程:从诊断到修复

面对Gateway启动失败,最高效的方法不是逐个猜测原因,而是按照一套系统化的诊断流程逐步缩小问题范围。经验表明,遵循下面这个五步排查法,90%以上的问题都能在5分钟内定位到根本原因。

第一步:运行自动诊断

永远从openclaw doctor开始。这个命令相当于OpenClaw的"全身体检",它会检查Node.js版本、配置文件完整性、端口可用性、权限状态等多个维度,并给出每项检查的通过/失败状态:

bash
openclaw doctor --fix

加上--fix参数后,它不仅诊断问题,还会尝试自动修复。根据官方统计,大约60%的Gateway启动问题可以通过这一条命令直接解决。如果doctor命令执行完毕后提示所有检查通过,但Gateway仍然无法启动,再进入下一步排查。

第二步:检查Gateway状态和日志

如果自动诊断未能解决问题,需要查看更详细的状态信息和实时日志:

bash
openclaw gateway status --deep
openclaw logs --follow

--deep参数会执行深层健康检查,包括端口探测和服务连通性验证。而实时日志流会显示Gateway启动过程中的每一步操作,帮助你精确定位失败发生在哪个阶段。重点关注日志中的ERRORWARN级别消息,它们通常直接指向问题根源。

第三步:验证端口和进程状态

如果日志显示端口相关的错误(如EADDRINUSE),需要进一步确认端口占用情况。这一步的具体命令因平台而异,但核心逻辑相同——找出是谁占用了18789端口:

快速诊断命令lsof -nP -iTCP:18789 -sTCP:LISTEN(macOS/Linux)或 netstat -ano | findstr :18789(Windows)

找到占用进程后,判断它是否是可以安全终止的旧版本服务。如果是OpenClaw自身的僵尸进程,直接终止即可;如果是其他重要服务,则考虑修改OpenClaw的端口配置。

第四步:验证配置完整性

当端口没有冲突但Gateway仍然无法启动时,问题很可能出在配置层面。运行以下命令检查关键配置项:

bash
openclaw config validate
openclaw status --all

重点确认以下几个配置项是否正确设置:gateway.mode必须为local/remote/hybrid之一,gateway.auth.token在非本地绑定时必须存在,配置文件的YAML语法必须正确无误。如果你在使用过程中需要稳定的AI API服务来配合OpenClaw工作,可以考虑laozhang.ai提供的多节点智能路由方案,其99.9%的可用性保障能有效避免API层面的单点故障,让你专注于解决Gateway本身的问题。

第五步:平台特定排查

如果前四步都未能解决问题,就需要针对你的具体操作系统进行深入排查了。不同平台的服务管理机制差异很大,下一章将详细覆盖每个平台的专项解决方案。

各平台专项解决方案

OpenClaw的Gateway在不同操作系统上使用完全不同的服务管理机制,这意味着同样的"启动失败"错误,其底层原因和修复方法可能截然不同。下面按平台逐一说明排查要点和修复步骤。

平台服务管理方式配置文件位置稳定性评级
macOSlaunchd~/Library/LaunchAgents/稳定
Linuxsystemd用户服务~/.config/systemd/user/稳定
Windows计划任务Task Scheduler不稳定(官方)
Docker容器进程/app/config/稳定

macOS平台排查

macOS上的OpenClaw Gateway通过launchd进行服务管理,对应的配置文件是~/Library/LaunchAgents/com.openclaw.gateway.plist。当Gateway无法启动时,首先检查launchd服务的加载状态:

bash
launchctl list | grep openclaw

如果命令没有返回任何结果,说明服务根本没有被注册到launchd中。这通常发生在首次安装后未运行openclaw gateway install的情况下。执行安装命令后,launchd会自动管理Gateway的启动和重启。

macOS上还有一个特殊的绑定问题值得注意。当系统中安装了Tailscale等VPN工具时,Gateway可能会被错误地绑定到Tailscale的虚拟网络接口(100.x.x.x地址),而非预期的127.0.0.1。如果你怀疑存在这个问题,可以在配置中显式指定绑定地址,将gateway.bind设置为loopback,强制Gateway只监听回环地址。

修复命令汇总:

bash
# 重新安装服务
openclaw gateway install --force

# 检查服务状态
launchctl list | grep openclaw

# 重启服务
openclaw gateway restart

# 查看实时日志
openclaw logs --follow

Linux平台排查

Linux上的Gateway以systemd用户服务形式运行,服务单元文件位于~/.config/systemd/user/目录下。与macOS相比,Linux平台的排查更加直观,因为systemd提供了完善的日志和状态查询能力。

检查服务状态的标准命令是:

bash
systemctl --user status openclaw-gateway.service

如果服务显示为failed状态,使用journalctl查看详细的错误日志:

bash
journalctl --user -u openclaw-gateway.service --no-pager -n 50

Linux平台上有一个容易被忽视的问题:如果你使用Snap包管理器安装的Chrome浏览器,OpenClaw的CDP(Chrome DevTools Protocol)功能可能会失败,因为Snap的沙箱机制限制了进程间通信。虽然这个问题不直接导致Gateway启动失败,但会影响启动后的功能可用性。推荐使用官方APT/YUM仓库安装Chrome,或者使用Chromium的传统安装方式。

对于在服务器上以非root用户运行OpenClaw的场景,还需要确保用户的systemd实例已正确启用。部分Linux发行版默认不为非登录用户启用systemd用户实例,需要手动执行loginctl enable-linger <username>来确保服务在用户未登录时也能正常运行。

Windows平台排查

需要坦率地说,OpenClaw团队官方已经明确表示Windows原生支持被认为是不稳定的。Windows上的Gateway以计划任务形式运行,这种方式在可靠性上不如macOS的launchd和Linux的systemd。因此,对于需要长期稳定运行OpenClaw的Windows用户,官方的推荐方案是使用**WSL2(Windows Subsystem for Linux 2)**环境。

如果你仍然选择在Windows原生环境中运行,最常见的问题是僵尸进程。当Gateway崩溃时,node.exe进程可能继续占用端口18789,阻止新实例启动。诊断和修复步骤如下:

powershell
# 查找占用端口的进程
netstat -ano | findstr :18789

# 终止僵尸进程
taskkill /PID &lt;进程ID> /F

# 强制重装服务
openclaw gateway install --force

# 重启Gateway
openclaw gateway restart

Windows平台还容易出现Token漂移问题——当Gateway崩溃后重启,已连接的客户端可能仍持有旧的设备Token,导致认证失败并显示"device token mismatch"错误。遇到这种情况,需要在Gateway重启后重新配对设备,或通过环境变量固定Token值以避免每次重启都生成新Token。

如果你在Windows上频繁遇到Gateway问题,强烈建议迁移到WSL2环境。WSL2提供完整的Linux内核支持,OpenClaw在其中的表现与原生Linux基本一致,同时还能无缝使用Windows的文件系统和网络。

Docker环境专项排查

Docker是部署OpenClaw的热门选择,特别是在服务器和团队共享环境中。但根据Docker官方网络文档的说明,容器的网络抽象层也引入了一些特有的Gateway问题,理解这些问题对于成功部署至关重要。

Docker Compose配置基础

一个能正常工作的OpenClaw Docker Compose配置需要注意以下关键点:端口映射必须覆盖完整的端口范围、Gateway模式必须通过环境变量显式设置、数据目录必须正确挂载以确保配置持久化。下面是一份经过验证的基础配置模板:

yaml
version: '3.8'
services:
  openclaw:
    image: openclaw/openclaw:latest
    ports:
      - "18789:18789"
      - "18791:18791"
      - "18792:18792"
      - "18800-18810:18800-18810"
    environment:
      - OPENCLAW_GATEWAY_MODE=local
      - NODE_ENV=production
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/app/data
      - ./config:/app/config
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "openclaw", "gateway", "status"]
      interval: 30s
      timeout: 10s
      retries: 3

重要提示:端口映射不能只映射18789。OpenClaw的四层端口体系(18789/18791/18792/18800+)是协同工作的,缺少任何一个都可能导致部分功能异常。

Docker NAT网络的认证陷阱

这是Docker环境中最隐蔽也最令人困惑的问题。当你在Docker Desktop(Windows/macOS)中运行OpenClaw时,从宿主机浏览器访问Dashboard,Gateway看到的客户端IP不是127.0.0.1,而是Docker网桥分配的内部地址(通常是172.17.0.1或172.18.0.1)。由于Gateway默认只信任来自localhost的连接,这种"看起来来自外部"的请求会触发安全机制,要求设备配对。

你会在Dashboard上看到**"pairing required"**的提示,而实际上你就是在本机访问。解决这个问题有两种方式:

第一种是配置受信任代理。在OpenClaw的配置文件中添加Docker网桥的IP段为受信任来源,这样Gateway就不会将来自Docker网络的连接视为外部请求。具体的配置方法是在config.yaml中添加trustedProxies字段,值为Docker的默认网桥子网。

第二种是使用host网络模式。在docker-compose.yml中将network_mode设置为host,容器将直接使用宿主机的网络栈,完全绕过NAT层。这种方式最简单直接,但代价是容器不再有网络隔离。对于个人开发环境,这通常是可以接受的折中方案。

容器启动顺序和健康检查

Docker环境下还有一个容易被忽略的问题:Gateway在容器启动后需要大约30-40秒的初始化时间才能开始接受连接。如果你的监控脚本或其他服务在这个时间窗口内尝试连接Gateway,就会收到连接拒绝错误。正确的做法是配置health check,让Docker在Gateway真正就绪后才将容器标记为healthy。

对于使用docker-compose的多服务编排场景,如果其他服务依赖于OpenClaw Gateway,需要在那些服务中添加depends_on条件,并使用condition: service_healthy确保它们在Gateway完全就绪后才启动。

中国用户的Docker镜像加速

如果你在中国大陆部署,Docker Hub的访问速度可能不理想。建议配置国内的Docker镜像加速器,或者预先拉取镜像后使用本地加载。对于npm依赖的加速,可以在Dockerfile中或通过环境变量设置阿里云镜像源:

bash
npm config set registry https://registry.npmmirror.com

如果你在搭建基于OpenClaw的AI应用并需要可靠的LLM API后端,laozhang.ai提供国内直连服务,延迟仅20ms左右,支持200+模型的统一接口,无需额外配置代理即可在Docker环境中稳定调用。注册即可获得免费测试额度,非常适合在本地开发环境中验证AI功能集成。

OpenClaw多平台部署对比:macOS、Linux、Windows和Docker环境差异

预防策略与最佳实践

与其每次遇到Gateway启动失败后被动排查,不如提前建立一套预防机制,将问题消灭在发生之前。以下策略基于社区长期运维经验总结而成,能够显著降低Gateway故障的发生频率。

配置显式化原则

永远不要依赖默认值或隐式行为。在首次安装OpenClaw后,立即显式设置所有关键配置项,特别是gateway.mode和认证Token。将配置文件纳入版本控制(注意排除敏感信息如Token),这样在配置出问题时可以快速回滚到已知的正常状态。

建议在安装完成后执行以下初始化命令,一次性完成所有必要配置:

bash
openclaw config set gateway.mode local
openclaw config set gateway.auth.token "你的固定Token"
openclaw gateway install
openclaw doctor

定期健康检查

openclaw doctor加入定期执行的检查任务中。对于服务器部署,可以设置cron任务每天执行一次健康检查,并在发现问题时通过邮件或消息通知你。这种前检查机制能够提前发现配置漂移、权限变更等潜在问题,避免它们在关键时刻触发Gateway故障。

升级前的准备工作

版本升级是Gateway故障的高发时段。在升级之前,务必完成以下准备:备份当前的配置文件(~/.openclaw/目录)、记录当前的工作状态、确认新版本的兼容性要求。升级完成后,立即运行openclaw doctor --fix检查是否需要配置迁移。

升级安全检查清单:备份配置 → 确认Node.js版本 → 停止Gateway → 执行升级 → 运行doctor → 启动Gateway → 验证功能

单实例原则

每台机器上只运行一个OpenClaw Gateway实例。多实例运行是端口冲突和Token混乱的主要来源。如果你需要同时测试不同版本的OpenClaw,使用Docker容器隔离或虚拟机,避免在同一宿主机上直接运行多个实例。如果你在之前使用过Clawdbot或Moltbot(OpenClaw的前身项目),在安装OpenClaw之前务必彻底卸载旧版本并清理残留进程。

日志保留与分析

Gateway的日志是排查问题的最有价值的信息来源。默认情况下,macOS的日志存储在临时目录中,Linux通过journalctl管理。对于生产环境,建议配置日志持久化和轮转策略,保留至少7天的历史日志。当需要向社区或官方报告问题时,这些日志能够大幅加速问题定位过程。

如果你在排查过程中遇到了HTTP 401认证相关错误,可以参考我们的专门指南获取更详细的认证故障排除方案。对于需要配置浏览器自动化功能的用户,CDP中继端口18792的配置也需要同步确认。

常见问题速查

Gateway启动后立即退出,没有任何错误信息怎么办?

这种"静默退出"通常是Node.js版本过低导致的。OpenClaw要求Node.js 18或更高版本,低版本可能在加载模块时就直接崩溃,来不及输出有意义的错误信息。首先运行node --version确认版本,如果低于18则需要升级。推荐使用nvm管理Node.js版本,避免影响系统中其他项目。

已经设置了gateway.mode=local,但重启后又恢复为空怎么办?

社区中有用户报告过这个问题,特别是在macOS平台上。原因可能是openclaw doctor --fix在某些情况下会将mode从local重置为remote或空值。解决方法是在运行doctor命令后,再次确认gateway.mode的值,必要时手动重新设置。另外检查是否有多个配置文件源互相覆盖——环境变量的优先级高于配置文件,确保没有通过环境变量设置了意外的值。

能否修改Gateway的默认端口18789?

可以。通过配置项gateway.port可以指定Gateway监听的端口。修改后需要重启Gateway服务并确保新端口没有被其他进程占用。不过需要注意的是,如果你使用了Dashboard或其他连接Gateway的客户端工具,它们可能默认连接18789端口,修改后需要同步更新这些客户端的配置。

WSL2中的OpenClaw能从Windows浏览器访问Dashboard吗?

可以,但需要额外配置。WSL2默认的网络模式下,Windows宿主机可以通过localhost访问WSL2中的服务。但如果你使用的是较新的WSL2版本(mirrored网络模式),可能需要在.wslconfig中确认网络设置。将Gateway的bind模式设置为lan而非local,然后通过http://localhost:18789从Windows浏览器访问。

Docker容器中的OpenClaw重启后Token变化导致所有设备需要重新配对怎么办?

这是一个常见的持久化问题。Docker容器重启后,如果Token没有通过环境变量固定或通过数据卷持久化,Gateway会生成新的Token。解决方案是在docker-compose.yml中通过OPENCLAW_GATEWAY_TOKEN环境变量指定固定的Token值,或者确保Token所在的配置文件通过volume挂载到宿主机。

端口18789被占用但lsof找不到进程怎么办?

极少数情况下,端口可能处于TIME_WAIT状态,即上一个使用该端口的连接尚未完全关闭。使用ss -tlnp | grep 18789可以看到更详细的端口状态信息。如果确实是TIME_WAIT状态,等待1-2分钟后端口会自动释放。如果问题持续存在,可以通过内核参数net.ipv4.tcp_tw_reuse加速端口回收(仅限Linux)。


解决OpenClaw gateway did not start on localhost:18789这个错误,核心在于理解Gateway的架构设计和启动依赖链。从最简单的openclaw doctor --fix一键诊断开始,到逐步深入的平台特定排查,再到Docker环境的网络配置优化,本文覆盖了你可能遇到的绝大多数场景。

记住这三个最关键的排查起点:第一,确认gateway.mode已显式设置为local;第二,检查18789端口是否被其他进程占用;第三,运行openclaw doctor --fix让系统自动诊断修复。这三步就能解决超过80%的Gateway启动问题。

如果你在部署OpenClaw的过程中还遇到了Telegram或飞书集成相关的问题,我们也有专门的配置指南可以参考。祝你的OpenClaw环境早日顺利运行!

推荐阅读