feat(portable): 内网/局域网可用性工具包 + 启动绕代理 (v2.1.10)
便携版在内网/离线/受控浏览器环境下"配不上、用不了、查不清"的三个痛点工具化, Win + Mac 双端,纯 Node 零依赖脚本,中文提示由 node 打印(.bat 保持纯 ASCII, .command 保持 LF),三端真机验证(本机 Win / Mac mini / 客户机 pc-7512)。 新增工具: - lib/intranet-check.mjs (+ Windows-IntranetFix.bat / Mac-IntranetFix.command) 一键体检: 代理env + 直连可达 + 真发一条对话,分清"网络不通 vs 配置错"。 - lib/setup-local-model.mjs (+ Windows-LocalModel.bat / Mac-LocalModel.command) 纯命令行配 Ollama / newapi 并当场实测,绕开打不开的 Control UI;写前自动备份+merge。 - lib/resolve-no-proxy.mjs 接入 Windows-Start.bat / Mac-Start.command: 把配置里的模型 host 写进 NO_PROXY,避免系统代理劫持内网模型请求 (OpenClaw 自身只 bypass loopback CDP,不管模型 host)。 - OpenClaw-Doctor.bat / Mac-OpenClaw-Doctor.command: 官方 doctor 的隔离进阶入口 (只读、非交互;doctor 实跑慢且 TTY-only,故不进客户一键流程)。 测试: tests/windows-launchers.test.mjs 新增回归 - 客户面 .bat 必须纯 ASCII (UTF-8 中文会被 GBK cmd 读乱,报 usebackq 不是命令) - macOS .command 必须 LF-only (CRLF 触发 bad interpreter: /bin/bash^M) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -138,6 +138,21 @@ if [ -f "$VERSION_FILE" ]; then
|
||||
"$NODE_BIN" "$UCLAW_DIR/lib/check-update.mjs" "$VERSION_FILE" "$STATE_DIR" >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
# ---- 7c. Intranet/self-hosted model fix ----
|
||||
# Keep the configured model host(s) off any corporate HTTP_PROXY/HTTPS_PROXY.
|
||||
# OpenClaw routes ALL fetch through the env proxy when it is set, which breaks
|
||||
# calls to internal model endpoints (http://10.x / 192.168.x / a machine-room IP).
|
||||
# Add those hosts + loopback to NO_PROXY so they connect directly.
|
||||
# Silent no-op when no proxy/model is configured.
|
||||
NO_PROXY_LINE="$("$NODE_BIN" "$UCLAW_DIR/lib/resolve-no-proxy.mjs" "$CONFIG_FILE" 2>/dev/null)"
|
||||
case "$NO_PROXY_LINE" in
|
||||
UCLAW_NO_PROXY=*)
|
||||
export NO_PROXY="${NO_PROXY_LINE#UCLAW_NO_PROXY=}"
|
||||
export no_proxy="$NO_PROXY"
|
||||
echo " Direct-connect (NO_PROXY): $NO_PROXY"
|
||||
;;
|
||||
esac
|
||||
|
||||
# ---- 8. Find available port ----
|
||||
PORT=18789
|
||||
while lsof -i :$PORT >/dev/null 2>&1; do
|
||||
|
||||
Reference in New Issue
Block a user