All scripts now check GLM_API_KEY / TK_AI_API_TOKEN environment variables first, falling back to Keychain/libsecret only when unset. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# claude-gpt — Run Claude Code with GPT backend
|
|
#
|
|
# Usage:
|
|
# claude-gpt [args...]
|
|
#
|
|
# Setup API key (reuse existing):
|
|
# macOS:
|
|
# security add-generic-password -a "$USER" -s TK_AI_API_TOKEN -w "YOUR_KEY"
|
|
# Linux:
|
|
# echo "YOUR_KEY" | secret-tool store --label "AI API Token" service TK_AI_API_TOKEN
|
|
|
|
KEY_NAME="TK_AI_API_TOKEN"
|
|
|
|
if [ -n "${!KEY_NAME}" ]; then
|
|
TOKEN="${!KEY_NAME}"
|
|
fi
|
|
|
|
get_token() {
|
|
if command -v security >/dev/null 2>&1; then
|
|
security find-generic-password -s "$KEY_NAME" -w 2>/dev/null && return
|
|
fi
|
|
if command -v secret-tool >/dev/null 2>&1; then
|
|
secret-tool lookup service "$KEY_NAME" 2>/dev/null && return
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
if [ -z "$TOKEN" ]; then
|
|
TOKEN=$(get_token)
|
|
fi
|
|
|
|
if [ -z "$TOKEN" ]; then
|
|
echo "❌ Missing GPT token ($KEY_NAME)"
|
|
exit 1
|
|
fi
|
|
|
|
export ANTHROPIC_BASE_URL="https://ai.acbpro.com"
|
|
export ANTHROPIC_AUTH_TOKEN="$TOKEN"
|
|
export ANTHROPIC_DEFAULT_OPUS_MODEL="gpt-5.3-codex(high)"
|
|
export ANTHROPIC_DEFAULT_SONNET_MODEL="gpt-5.3-codex(medium)"
|
|
export ANTHROPIC_DEFAULT_HAIKU_MODEL="gpt-5.3-codex(medium)"
|
|
|
|
echo "→ Backend: GPT"
|
|
|
|
has_permission_mode=false
|
|
for arg in "$@"; do
|
|
if [ "$arg" = "--permission-mode" ] || [[ "$arg" == --permission-mode=* ]]; then
|
|
has_permission_mode=true
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ "$has_permission_mode" = true ]; then
|
|
exec claude "$@"
|
|
else
|
|
exec claude --permission-mode auto "$@"
|
|
fi
|