Files
bin-scripts/claude-tk
thuanleandClaude Opus 4.7 11485e08d9 Prefer env vars over secret store for API credentials
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>
2026-05-04 11:55:05 +07:00

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