1)本机回环的语义陷阱。在远程 Mac 上执行 curl http://127.0.0.1:18789/health 成功,只说明「网关上进程在监听」;你在笔记本 VS Code 里填同一串地址,请求会打到笔记本自己的回环,除非已通过 SSH 本地端口转发或反向隧道对齐。
2)隐性成本:双 NAT、零信任与 WebSocket 长连接。企业出口若截断 WebSocket 或短空闲即断 TCP,扩展侧会表现为间歇性「重连风暴」,而网关日志仅显示 client reset。需要把中间盒超时与网关 keepalive 一并写进变更单。
3)权限与审计:TCC 与 launchd 用户上下文。网关若以非登录用户运行,Keychain 项、工作区路径与「自动化控制其他 App」类权限会与你在 VNC 图形会话里调试时不一致,表现为偶发 EACCES 或子进程起不来,而端口仍 LISTEN。与多模型路由、降级链同机时,建议统一 cwd 与日志目录,避免配置分叉; 延伸阅读:OpenClaw 多模型路由与远程 Mac 网关上的 openclaw.json 片段。
先选「流量落在哪块网卡/哪条隧道」,再决定 URL;不要在文档里混用「示例 127.0.0.1」而不注明观测点。
已 SSH 登录远程 Mac,用远端图形/code tunnel
http://127.0.0.1:18789(与网关同机) bind 成
::1 而扩展走 IPv4 笔记本 + Remote SSH,扩展跑在本地侧
ssh -L 18789:127.0.0.1:18789 后填
http://127.0.0.1:18789 忘记
GatewayPorts/转发未建立就点「测试连接」 跨团队共享,需 HTTPS 与审计 nginx/Caddy 终止 TLS,反代到
127.0.0.1:18789 路径 shadowing 导致
/health 404
若你的组织同时在评估「云构建 vs 自托管 Mac 池」的地区亲和,可把本文端口策略与 Xcode Cloud 与多区域物理远程 Mac 资源池决策矩阵 对照,避免「CI 在 A 区、网关在 B 区」拉长 RTT 后误以为是 18789 不稳定。
- 网关基线:SSH 到远程 Mac,执行
lsof -nP -iTCP:18789 -sTCP:LISTEN 与 curl -fsS -m 3 http://127.0.0.1:18789/health(路径以你方网关为准),把输出贴进工单附件。
- doctor/配置:运行发行版文档中的 doctor 子命令,确认
openclaw.json 中 bind、令牌与环境变量与 launchd plist 一致。
- 安装扩展:在 VS Code(或 Cursor)市场安装 OpenClaw 官方 Node 扩展;若组织策略禁止市场,改用 VSIX 侧载并记录哈希。
- 对齐观测点:若扩展跑在笔记本,先建立
ssh -N -L 18789:127.0.0.1:18789 user@remote-mac,再在笔记本执行同样的 curl,确认「转发链」而非「远端单点」。
- 扩展内填基址与鉴权:指向第 4 步验证过的 URL;若走 HTTPS,用
openssl s_client -connect host:443 -servername host 保存证书链快照。
- TCC 与沙箱:系统设置 → 隐私与安全性,为实际运行的网关二进制(而非软链)授予所需磁盘/自动化权限;改 plist 后
launchctl kickstart -k gui/$UID/your.label。
- 回归清单:扩展内「测试连接」+ 触发一次最小任务(例如只读 doctor),在网关 access 日志中核对 requestId 与客户端 IP(应为 127.0.0.1 或反代段)。
TLS handshake failure SNI/中间证书缺失;反代
proxy_ssl_server_name 未开
# 笔记本上:确认本地转发真的通 nc -vz 127.0.0.1 18789 curl -v –max-time 5 http://127.0.0.1:18789/health 2>&1 | tee /tmp/vscode-gateway-probe.txt
取决于扩展实现:若扩展直接发起 HTTP 到网关,装在与 127.0.0.1:18789 同进程命名空间的一侧最省事;若必须装本地,则几乎总需要 SSH -L。
不推荐作为默认:暴露面扩大,且企业合规常禁止明文 HTTP 入站。优先回环 + 隧道或 TLS 反代。
先让 doctor 在网关本机绿,再谈 VS Code;否则扩展侧只会放大配置噪声。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/283436.html