note-articles/static/scripts/dgx-spark-claude-code.sh
koide 8a5a873587
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 26s
Update: Claude Code記事を200K対応に更新 + ワンライナー追加
2026-02-19 13:13:39 +00:00

96 lines
2.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# DGX Spark Claude Code ローカル実行スクリプト
# Usage: curl -sL https://docs.techswan.online/scripts/dgx-spark-claude-code.sh | bash
set -e
echo "🚀 DGX Spark Claude Code セットアップ"
echo ""
# Step 1: vLLM起動
echo "📦 Step 1: vLLM + Qwen3-Coder-Next-FP8 起動..."
docker stop qwen3-coder-next-fp8 2>/dev/null || true
docker rm qwen3-coder-next-fp8 2>/dev/null || true
docker run -d --name qwen3-coder-next-fp8 \
--gpus all \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--ipc=host \
nvcr.io/nvidia/vllm:25.11-py3 \
vllm serve Qwen/Qwen3-Coder-Next-FP8 \
--served-model-name qwen3-coder-next \
--max-model-len 200000 \
--max-num-seqs 8 \
--gpu-memory-utilization 0.85 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--trust-remote-code
echo " コンテナ起動完了モデルロードに約10分かかります"
echo ""
# Step 2: claude-code-proxy セットアップ
echo "🔧 Step 2: claude-code-proxy セットアップ..."
PROXY_DIR="$HOME/.claude-code-proxy"
if [ ! -d "$PROXY_DIR" ]; then
git clone https://github.com/fuergaosi233/claude-code-proxy.git "$PROXY_DIR"
fi
cd "$PROXY_DIR"
pip install -r requirements.txt --user --quiet 2>/dev/null || pip install -r requirements.txt --user --break-system-packages --quiet
cat > .env << 'EOF'
OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=dummy
BIG_MODEL=qwen3-coder-next
MIDDLE_MODEL=qwen3-coder-next
SMALL_MODEL=qwen3-coder-next
REQUEST_TIMEOUT=300
MAX_TOKENS_LIMIT=8192
EOF
echo " プロキシ設定完了"
echo ""
# Step 3: プロキシ起動
echo "🌐 Step 3: プロキシ起動..."
pkill -f start_proxy.py 2>/dev/null || true
nohup python3 start_proxy.py > /tmp/proxy.log 2>&1 &
sleep 3
if curl -s http://localhost:8082/health > /dev/null 2>&1; then
echo " プロキシ起動完了 (port 8082)"
else
echo " ⚠️ プロキシ起動中... (数秒待ってください)"
fi
echo ""
# Step 4: vLLMヘルスチェック待ち
echo "⏳ Step 4: vLLM起動待ち..."
echo " (モデルロード中... 約10分かかります"
echo ""
while ! curl -s http://localhost:8000/health > /dev/null 2>&1; do
sleep 10
echo -n "."
done
echo ""
echo " ✅ vLLM起動完了"
echo ""
# 完了メッセージ
echo "=========================================="
echo "🎉 セットアップ完了!"
echo ""
echo "Claude Codeを起動するには:"
echo ""
echo " ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=dummy claude"
echo ""
echo "または ~/.bashrc に追加:"
echo ""
echo " alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=dummy claude'"
echo ""
echo "=========================================="