Setup.sh v3.0.3: onboarding pre-fill + header bump
This commit is contained in:
parent
ddcb53fe95
commit
656460e13e
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Bookworm Portable - macOS Setup (从 boot 仓库内运行)
|
# Bookworm Portable - macOS Setup (从 boot 仓库内运行)
|
||||||
# Version: 2.2.4
|
# Version: 3.0.3
|
||||||
#
|
#
|
||||||
# 用法: cd ~/bookworm-boot && bash Bookworm-Setup.sh
|
# 用法: cd ~/bookworm-boot && bash Bookworm-Setup.sh
|
||||||
#
|
#
|
||||||
@ -429,11 +429,6 @@ if [ -z "$ANTHROPIC_API_KEY" ]; then
|
|||||||
rm -f "$HOME/.zshrc.bak" "$HOME/.bashrc.bak" 2>/dev/null || true
|
rm -f "$HOME/.zshrc.bak" "$HOME/.bashrc.bak" 2>/dev/null || true
|
||||||
export ANTHROPIC_API_KEY="$SK_KEY"
|
export ANTHROPIC_API_KEY="$SK_KEY"
|
||||||
export ANTHROPIC_BASE_URL="https://bww.letcareme.com"
|
export ANTHROPIC_BASE_URL="https://bww.letcareme.com"
|
||||||
# v3.0.2: 预填 ~/.claude.json 跳过 Claude Code 2.0.1 登录选择页 (两选项都走 anthropic.com OAuth, 国内不通)
|
|
||||||
CLAUDE_JSON="$HOME/.claude.json"
|
|
||||||
KEY_PREFIX="${SK_KEY:0:20}"
|
|
||||||
printf '{"hasCompletedOnboarding":true,"hasSeenWelcome":true,"bypassPermissionsModeAccepted":true,"customApiKeyResponses":{"approved":["%s"],"rejected":[]},"numStartups":5,"projects":{}}' "$KEY_PREFIX" > "$CLAUDE_JSON" 2>/dev/null && ok "Claude Code onboarding 已预填"
|
|
||||||
chmod 600 "$CLAUDE_JSON" 2>/dev/null || true
|
|
||||||
# 存 Keychain 本日免密
|
# 存 Keychain 本日免密
|
||||||
security add-generic-password -s "$KEYCHAIN_SERVICE" -a "$KEYCHAIN_ACCOUNT" -w "ANTHROPIC_API_KEY=$SK_KEY
|
security add-generic-password -s "$KEYCHAIN_SERVICE" -a "$KEYCHAIN_ACCOUNT" -w "ANTHROPIC_API_KEY=$SK_KEY
|
||||||
ANTHROPIC_BASE_URL=https://bww.letcareme.com
|
ANTHROPIC_BASE_URL=https://bww.letcareme.com
|
||||||
@ -527,6 +522,30 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ─── v3.0.2: 预填 ~/.claude.json 跳过 Claude Code 2.0.1 的登录选择页 ───
|
||||||
|
# Win auto-setup.ps1:1361-1369 等价逻辑: 两选项都走 anthropic.com OAuth, 国内不通
|
||||||
|
# 预填 hasCompletedOnboarding + customApiKeyResponses.approved 直接进主界面
|
||||||
|
if [ -n "$ANTHROPIC_API_KEY" ] && command -v node &>/dev/null; then
|
||||||
|
BW_KEY_PREFIX="${ANTHROPIC_API_KEY:0:20}" node -e '
|
||||||
|
const fs = require("fs"), p = require("path");
|
||||||
|
const H = process.env.HOME || process.env.USERPROFILE;
|
||||||
|
const f = p.join(H, ".claude.json");
|
||||||
|
const prefix = process.env.BW_KEY_PREFIX || "";
|
||||||
|
let d = {};
|
||||||
|
try { d = JSON.parse(fs.readFileSync(f, "utf8")); } catch (e) {}
|
||||||
|
d.hasCompletedOnboarding = true;
|
||||||
|
d.hasSeenWelcome = true;
|
||||||
|
d.bypassPermissionsModeAccepted = true;
|
||||||
|
d.customApiKeyResponses = d.customApiKeyResponses || { approved: [], rejected: [] };
|
||||||
|
if (prefix && !d.customApiKeyResponses.approved.includes(prefix)) {
|
||||||
|
d.customApiKeyResponses.approved.push(prefix);
|
||||||
|
}
|
||||||
|
if (d.numStartups === undefined) d.numStartups = 5;
|
||||||
|
if (!d.projects) d.projects = {};
|
||||||
|
fs.writeFileSync(f, JSON.stringify(d, null, 2));
|
||||||
|
' 2>/dev/null && success "Claude Code onboarding 已预填 (跳过 2.0.1 登录选择页)" || warn ".claude.json onboarding 预填失败 (首次启动可能需手工过登录画面)"
|
||||||
|
fi
|
||||||
|
|
||||||
# ── MCP 注入到 ~/.claude.json (Claude Code v2.1+ 正确位置) ──
|
# ── MCP 注入到 ~/.claude.json (Claude Code v2.1+ 正确位置) ──
|
||||||
INJECT_SCRIPT="$CLAUDE_DIR/inject-mcp.js"
|
INJECT_SCRIPT="$CLAUDE_DIR/inject-mcp.js"
|
||||||
MCP_INJECTED=false
|
MCP_INJECTED=false
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user