fix: macOS 补全 {{PWSH_PATH}} 渲染 + GEMINI_API_KEY Keychain 缓存

- settings.template.json 渲染补加 {{PWSH_PATH}} → $SHELL (默认 /bin/zsh)
  避免 settings.json 留有字面量 "SHELL":"{{PWSH_PATH}}"
- save_secrets_to_cache 增加 GEMINI_API_KEY,与 Windows 版本对齐

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
bookworm 2026-04-06 22:19:06 +08:00
parent d61b0e451f
commit 197396c5fe

View File

@ -248,7 +248,7 @@ save_secrets_to_cache() {
local today local today
today=$(date +%Y-%m-%d) today=$(date +%Y-%m-%d)
local data="EXPIRY=$today" local data="EXPIRY=$today"
local env_keys="ANTHROPIC_API_KEY ANTHROPIC_BASE_URL GITHUB_PERSONAL_ACCESS_TOKEN SLACK_BOT_TOKEN ATLASSIAN_API_TOKEN BROWSERBASE_API_KEY FIRECRAWL_API_KEY" local env_keys="ANTHROPIC_API_KEY ANTHROPIC_BASE_URL GITHUB_PERSONAL_ACCESS_TOKEN SLACK_BOT_TOKEN ATLASSIAN_API_TOKEN BROWSERBASE_API_KEY FIRECRAWL_API_KEY GEMINI_API_KEY"
for k in $env_keys; do for k in $env_keys; do
local v="${!k}" local v="${!k}"
if [ -n "$v" ]; then if [ -n "$v" ]; then
@ -326,8 +326,9 @@ TEMPLATE_FILE="$CLAUDE_DIR/settings.template.json"
SETTINGS_FILE="$CLAUDE_DIR/settings.json" SETTINGS_FILE="$CLAUDE_DIR/settings.json"
if [ -f "$TEMPLATE_FILE" ]; then if [ -f "$TEMPLATE_FILE" ]; then
CLAUDE_ROOT=$(echo "$CLAUDE_DIR" | sed 's/\\/\//g') CLAUDE_ROOT=$(echo "$CLAUDE_DIR" | sed 's/\\/\//g')
sed "s|{{CLAUDE_ROOT}}|$CLAUDE_ROOT|g; s|{{HOME}}|$HOME|g" "$TEMPLATE_FILE" > "$SETTINGS_FILE" SHELL_BIN="${SHELL:-/bin/zsh}"
success "settings.json 已渲染" sed "s|{{CLAUDE_ROOT}}|$CLAUDE_ROOT|g; s|{{HOME}}|$HOME|g; s|{{PWSH_PATH}}|$SHELL_BIN|g" "$TEMPLATE_FILE" > "$SETTINGS_FILE"
success "settings.json 已渲染 (SHELL=$SHELL_BIN)"
fi fi
# ============================================================ # ============================================================