Skip to content

Instantly share code, notes, and snippets.

@blacksheepaul
Forked from LeslieLeung/claude.zsh
Last active August 15, 2025 02:49
Show Gist options
  • Save blacksheepaul/96ab9556b15480f0269ad02e2a223fb5 to your computer and use it in GitHub Desktop.
Save blacksheepaul/96ab9556b15480f0269ad02e2a223fb5 to your computer and use it in GitHub Desktop.
function claude() {
# 定义不同服务的配置
local base_url=""
local auth_token=""
local api_key=""
local model=""
local small_fast_model=""
local use_logged_in_claude=false
case "$1" in
"kimi")
base_url="https://api.moonshot.cn/anthropic"
auth_token="YOUR_AUTH_TOKEN"
model="kimi-k2-turbo-preview"
small_fast_model="kimi-k2-turbo-preview"
shift
;;
"claude"|"")
# 默认使用已登录的claude(不使用API)
use_logged_in_claude=true
if [[ "$1" == "claude" ]]; then
shift
fi
;;
*)
# 如果第一个参数不在case里,那就是它原本的参数,使用默认claude
use_logged_in_claude=true
;;
esac
# 构建环境变量字符串
local env_vars=""
# 设置基础URL
if [[ -n "$base_url" ]]; then
env_vars="$env_vars ANTHROPIC_BASE_URL=\"$base_url\""
fi
# 设置认证token
if [[ -n "$auth_token" ]]; then
env_vars="$env_vars ANTHROPIC_AUTH_TOKEN=\"$auth_token\""
fi
# 设置API key
if [[ -n "$api_key" ]]; then
env_vars="$env_vars ANTHROPIC_API_KEY=\"$api_key\""
fi
# 设置model环境变量
if [[ -n "$model" ]]; then
env_vars="$env_vars ANTHROPIC_MODEL=\"$model\""
fi
# 设置small_fast_model环境变量
if [[ -n "$small_fast_model" ]]; then
env_vars="$env_vars ANTHROPIC_SMALL_FAST_MODEL=\"$small_fast_model\""
fi
# 根据选择调用相应的服务
if [[ "$use_logged_in_claude" == true ]]; then
# 使用已登录的claude(不使用API配置)
command claude "$@"
elif [[ -n "$env_vars" ]]; then
# 使用API服务(Kimi或AIHubMix)
eval "$env_vars command claude \"\$@\""
else
command claude "$@"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment