便携版在内网/离线/受控浏览器环境下"配不上、用不了、查不清"的三个痛点工具化, 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>
34 lines
1.1 KiB
Bash
Executable File
34 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
||
# ============================================================
|
||
# U-Claw - 内网体检 / Intranet Check (macOS)
|
||
# 双击运行:代理env + 直连可达 + 真发一条对话
|
||
# ============================================================
|
||
|
||
UCLAW_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
APP_DIR="$UCLAW_DIR/app"
|
||
CONFIG_FILE="$UCLAW_DIR/data/.openclaw/openclaw.json"
|
||
|
||
ARCH=$(uname -m)
|
||
case "$ARCH" in
|
||
arm64) NODE_BIN="$APP_DIR/runtime/node-mac-arm64/bin/node" ;;
|
||
x86_64) NODE_BIN="$APP_DIR/runtime/node-mac-x64/bin/node" ;;
|
||
*) NODE_BIN="" ;;
|
||
esac
|
||
# 退而求其次:用系统 node
|
||
if [ ! -x "$NODE_BIN" ]; then NODE_BIN="$(command -v node)"; fi
|
||
if [ -z "$NODE_BIN" ] || [ ! -x "$NODE_BIN" ]; then
|
||
echo " [错误] 找不到 Node 运行环境。请先正常启动一次 U-Claw。"
|
||
read -p " 按回车关闭..."
|
||
exit 1
|
||
fi
|
||
|
||
# 去掉 macOS 隔离属性,避免 Gatekeeper 拦截
|
||
xattr -rd com.apple.quarantine "$UCLAW_DIR" 2>/dev/null || true
|
||
|
||
"$NODE_BIN" "$UCLAW_DIR/lib/intranet-check.mjs" "$CONFIG_FILE"
|
||
|
||
echo ""
|
||
echo " 把整个窗口截图发给技术支持即可。"
|
||
echo ""
|
||
read -p " 按回车关闭..."
|