原理 你可以提供你的OpenAI 兼容的 API 来跑 claude code。提供一大一小模型。我的实践中是用佬友公益站提供的 gpt-4.1-mini 和 2.5pro。
基于 fuergaosi233/claude-code-proxy 项目(Anthropic Claude的API代理工具)以及 宙斯佬的初始化脚本实现
镜像名称:lie5860/claude-code-proxy
如果有 python 环境可以直接使用原项目本地部署。.env 文件配置如下图左侧。如果是 docker 部署环境变量配置如下图右侧即可。
部署成功之后可以用浏览器直接访问测试是否成功,本地跑的话默认在 http://127.0.0.1:8082 上。
然后使用下面的脚本初始化 将 http://xxxxxxxxxxxxxx 替换为你起的服务地址(例如 http://127.0.0.1:8082 )就好了。apikey 是随便写的一个值不重要。
ps:windows 系统的话就参考宙斯佬的windows脚本吧ANTHROPIC_BASE_URL相关的地址都改成你的服务器地址就好了。没有设备还无法测试。
macos 初始化脚本
#!/bin/bash
echo "Checking for Claude Code installation..."
# Check if claudecode command exists
if command -v claudecode &> /dev/null; then
echo "Claude Code is already installed."
else
echo "Claude Code not found. Installing..."
# Check if npm is available
if ! command -v npm &> /dev/null; then
echo "Error: npm is not installed. Please install Node.js first."
exit 1
fi
# Install Claude Code
echo "Installing Claude Code via npm..."
if ! npm install -g @anthropic-ai/claude-code; then
echo "Error: Failed to install Claude Code."
exit 1
fi
echo "Claude Code installed successfully."
fi
echo "Setting up Claude Code configuration..."
# Create .claude directory if it doesn't exist
CLAUDE_DIR="$HOME/.claude"
if [ ! -d "$CLAUDE_DIR" ]; then
mkdir -p "$CLAUDE_DIR"
fi
SETTINGS_FILE="$CLAUDE_DIR/settings.json"
# Check if settings.json already exists
if [ -f "$SETTINGS_FILE" ]; then
echo "Settings file exists. Updating API configuration..."
# Create backup
cp "$SETTINGS_FILE" "$SETTINGS_FILE.backup"
# Check if jq is available for JSON manipulation
if command -v jq &> /dev/null; then
# Use jq to modify the JSON
jq '.env.ANTHROPIC_API_KEY_OLD = .env.ANTHROPIC_API_KEY | .env.ANTHROPIC_BASE_URL_OLD = .env.ANTHROPIC_BASE_URL | .env.ANTHROPIC_API_KEY = "sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8" | .env.ANTHROPIC_BASE_URL = "http://xxxxxxxxxxxxxx" | .apiKeyHelper = "echo '\''sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8'\''"' "$SETTINGS_FILE" > "$SETTINGS_FILE.tmp" && mv "$SETTINGS_FILE.tmp" "$SETTINGS_FILE"
else
# Fallback: use sed to comment out and add new values
echo "jq not found, using sed for modification..."
# Use Python if available for better JSON handling
if command -v python3 &> /dev/null; then
python3 -c "
import json
import sys
with open('$SETTINGS_FILE', 'r') as f:
data = json.load(f)
# Backup old values
if 'ANTHROPIC_API_KEY' in data['env']:
data['env']['ANTHROPIC_API_KEY_OLD'] = data['env']['ANTHROPIC_API_KEY']
if 'ANTHROPIC_BASE_URL' in data['env']:
data['env']['ANTHROPIC_BASE_URL_OLD'] = data['env']['ANTHROPIC_BASE_URL']
# Set new values
data['env']['ANTHROPIC_API_KEY'] = 'sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8'
data['env']['ANTHROPIC_BASE_URL'] = 'http://xxxxxxxxxxxxxx'
data['apiKeyHelper'] = 'echo \\'sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8\\''
with open('$SETTINGS_FILE', 'w') as f:
json.dump(data, f, indent=2)
"
else
echo "Warning: Neither jq nor python3 found. Overwriting settings file."
cat > "$SETTINGS_FILE" << 'EOF'
{
"env": {
"ANTHROPIC_API_KEY": "sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8",
"ANTHROPIC_BASE_URL": "http://xxxxxxxxxxxxxx"
},
"permissions": {
"allow": [],
"deny": []
},
"apiKeyHelper": "echo 'sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8'"
}
EOF
fi
fi
echo "Updated existing settings file with new API configuration."
echo "Original values backed up with _OLD suffix."
else
# Create new settings.json
echo "Creating new settings.json..."
cat > "$SETTINGS_FILE" << 'EOF'
{
"env": {
"ANTHROPIC_API_KEY": "sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8",
"ANTHROPIC_BASE_URL": "http://xxxxxxxxxxxxxx"
},
"permissions": {
"allow": [],
"deny": []
},
"apiKeyHelper": "echo 'sk-jn0fhoMxvA8bk2SWPLgeolqAXriBPIc8'"
}
EOF
echo "Created new settings file."
fi
echo "Configuration complete!"
echo "Settings saved to: $CLAUDE_DIR/settings.json"
或者是使用claude code 的客户端。分享编译后的macos的Claudia 安装包。
然后就可以快乐 claude 起来啦~
效果图如下,还是很不错的呢。(楼主 docker 也不会,一次就打包出可以用的很开心诶,如果有佬不支持的设备可以回复一下。第一次写不知道~现在支持amd64,arm64)
(终于可以把 T 佬的 2.5pro 用起来了吗!快乐!