增加claude code deepseek windows 部署

This commit is contained in:
2026-05-01 09:24:25 +08:00
parent 43142b591b
commit 736027fb80
2 changed files with 150 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
#Requires -Version 7
# =============================================================
# Claude Code + DeepSeek 一键配置脚本
# 用法:在 pwsh (PowerShell 7) 中执行此脚本
# =============================================================
$DEEPSEEK_API_KEY = "sk-a7e8782b1d5547a692ef2efec55b44f2"
$DEEPSEEK_BASE_URL = "https://api.deepseek.com/anthropic"
$DEEPSEEK_MODEL = "deepseek-v3-0324"
Write-Host "=== Claude Code + DeepSeek 配置开始 ===" -ForegroundColor Cyan
# ── 1. 检查 Node.js ──────────────────────────────────────────
Write-Host "`n[1/4] 检查 Node.js..." -ForegroundColor Yellow
if (-not (Get-Command node -ErrorAction SilentlyContinue)) {
Write-Host "未找到 Node.js请先安装https://nodejs.org/" -ForegroundColor Red
exit 1
}
Write-Host "Node.js $(node --version) 已安装" -ForegroundColor Green
# ── 2. 安装 Claude Code ───────────────────────────────────────
Write-Host "`n[2/4] 安装 Claude Code..." -ForegroundColor Yellow
if (Get-Command claude -ErrorAction SilentlyContinue) {
Write-Host "Claude Code 已安装:$(claude --version 2>&1)" -ForegroundColor Green
} else {
npm install -g @anthropic-ai/claude-code
if ($LASTEXITCODE -ne 0) { Write-Host "安装失败,请检查 npm 网络" -ForegroundColor Red; exit 1 }
Write-Host "Claude Code 安装成功" -ForegroundColor Green
}
# ── 3. 写入 ~/.claude/settings.json仅保留 model ──────────
Write-Host "`n[3/4] 配置 ~/.claude/settings.json..." -ForegroundColor Yellow
$claudeDir = "$env:USERPROFILE\.claude"
if (-not (Test-Path $claudeDir)) { New-Item -ItemType Directory -Path $claudeDir | Out-Null }
@{ model = $DEEPSEEK_MODEL } | ConvertTo-Json | Set-Content -Path "$claudeDir\settings.json" -Encoding UTF8
Write-Host "已写入 $claudeDir\settings.json" -ForegroundColor Green
# ── 4. 设置用户级环境变量 + pwsh profile ──────────────────────
Write-Host "`n[4/4] 设置环境变量与 PowerShell profile..." -ForegroundColor Yellow
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", $DEEPSEEK_BASE_URL, "User")
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", $DEEPSEEK_API_KEY, "User")
[System.Environment]::SetEnvironmentVariable("CLAUDE_MODEL", $DEEPSEEK_MODEL, "User")
Write-Host "用户级环境变量已设置" -ForegroundColor Green
# 仅写入 pwsh (PowerShell 7) profile
$pwshProfile = "$env:USERPROFILE\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
$profileDir = Split-Path $pwshProfile
if (-not (Test-Path $profileDir)) { New-Item -ItemType Directory -Path $profileDir | Out-Null }
$profileContent = @"
`$env:ANTHROPIC_BASE_URL = "$DEEPSEEK_BASE_URL"
`$env:ANTHROPIC_API_KEY = "$DEEPSEEK_API_KEY"
`$env:CLAUDE_MODEL = "$DEEPSEEK_MODEL"
"@
if (Test-Path $pwshProfile) {
$existing = Get-Content $pwshProfile -Raw
if ($existing -match "deepseek\.com") {
Set-Content -Path $pwshProfile -Value $profileContent -Encoding UTF8
Write-Host "已更新:$pwshProfile" -ForegroundColor Green
} else {
Add-Content -Path $pwshProfile -Value "`n$profileContent"
Write-Host "已追加到:$pwshProfile" -ForegroundColor Green
}
} else {
Set-Content -Path $pwshProfile -Value $profileContent -Encoding UTF8
Write-Host "已创建:$pwshProfile" -ForegroundColor Green
}
# ── 确保执行策略允许 profile 运行 ─────────────────────────────
$policy = Get-ExecutionPolicy -Scope CurrentUser
if ($policy -eq "Restricted" -or $policy -eq "Undefined") {
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
Write-Host "已设置执行策略RemoteSigned" -ForegroundColor Green
}
# ── 验证连接 ──────────────────────────────────────────────────
Write-Host "`n=== 验证连接 ===" -ForegroundColor Cyan
$env:ANTHROPIC_BASE_URL = $DEEPSEEK_BASE_URL
$env:ANTHROPIC_API_KEY = $DEEPSEEK_API_KEY
$result = claude -p "say hi" 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host "连接成功:$result" -ForegroundColor Green
} else {
Write-Host "连接失败:$result" -ForegroundColor Red
}
Write-Host "`n=== 配置完成!新开终端直接运行 claude 即可 ===" -ForegroundColor Cyan