import{_ as y}from"./index-DFNawKvM.js";import{r as w,c as g,x as b,z as t,L as f,O as a,Q as h,ac as C,aT as d,P as s,y as n,C as c}from"./vue-vendor-Bsazo-x0.js";import"./element-plus-CqiD73Lu.js";import"./vendor-Dr8jvgFu.js";const A={class:"card p-3 sm:p-6"},E={class:"mb-4 sm:mb-8"},S={class:"flex flex-wrap gap-1 rounded-xl bg-gray-100 p-1 dark:bg-gray-700 sm:gap-2 sm:p-2"},O=["onClick"],k={key:0,class:"tutorial-content"},_={class:"mb-6 sm:mb-10"},I={class:"mb-4 rounded-xl border border-purple-100 bg-gradient-to-r from-purple-50 to-pink-50 p-4 sm:mb-6 sm:p-6"},T={class:"space-y-4"},P={class:"rounded-lg border border-purple-200 bg-white p-3 dark:border-purple-700 dark:bg-gray-800 sm:p-4"},N={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},G={class:"whitespace-nowrap text-gray-300"},L={class:"rounded-lg border border-purple-200 bg-white p-3 dark:border-purple-700 dark:bg-gray-800 sm:p-4"},U={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},q={class:"whitespace-nowrap text-gray-300"},D={class:"mt-6 rounded-lg border border-blue-200 bg-blue-50 p-3 sm:p-4"},H={class:"mt-3 space-y-2"},R={class:"rounded bg-gray-100 p-2 font-mono text-sm dark:bg-gray-700"},j={class:"mt-8"},K={class:"space-y-4"},z={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},B={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},$={class:"whitespace-nowrap text-gray-300"},V={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},M={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},W={class:"whitespace-nowrap text-gray-300"},Y={class:"mt-8"},F={class:"space-y-4"},Q={class:"rounded-lg border border-yellow-200 bg-yellow-50 p-3 sm:p-4"},J={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},X={class:"whitespace-nowrap text-gray-300"},Z={key:1,class:"tutorial-content"},ee={class:"mb-6 sm:mb-10"},te={class:"mb-4 rounded-xl border border-orange-100 bg-gradient-to-r from-orange-50 to-yellow-50 p-4 sm:mb-6 sm:p-6"},se={class:"space-y-4"},ae={class:"rounded-lg border border-orange-200 bg-white p-3 sm:p-4"},de={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},re={class:"whitespace-nowrap text-gray-300"},oe={class:"rounded-lg border border-orange-200 bg-white p-3 sm:p-4"},me={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},le={class:"whitespace-nowrap text-gray-300"},ie={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},xe={class:"whitespace-nowrap text-gray-300"},be={class:"mt-8"},ne={class:"space-y-4"},ve={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},pe={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},ge={class:"whitespace-nowrap text-gray-300"},ce={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},ue={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},ye={class:"whitespace-nowrap text-gray-300"},we={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},fe={class:"whitespace-nowrap text-gray-300"},he={class:"mt-8"},Ce={class:"space-y-4"},Ae={class:"rounded-lg border border-yellow-200 bg-yellow-50 p-3 sm:p-4"},Ee={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},Se={class:"whitespace-nowrap text-gray-300"},Oe={key:2,class:"tutorial-content"},ke={class:"mb-6 sm:mb-10"},_e={class:"mb-4 rounded-xl border border-orange-100 bg-gradient-to-r from-orange-50 to-yellow-50 p-4 sm:mb-6 sm:p-6"},Ie={class:"space-y-4"},Te={class:"rounded-lg border border-orange-200 bg-white p-3 sm:p-4"},Pe={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},Ne={class:"whitespace-nowrap text-gray-300"},Ge={class:"rounded-lg border border-orange-200 bg-white p-3 sm:p-4"},Le={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},Ue={class:"whitespace-nowrap text-gray-300"},qe={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},De={class:"whitespace-nowrap text-gray-300"},He={class:"mt-8"},Re={class:"space-y-4"},je={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},Ke={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},ze={class:"whitespace-nowrap text-gray-300"},Be={class:"rounded-lg border border-green-200 bg-white p-3 sm:p-4"},$e={class:"mb-3 overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},Ve={class:"whitespace-nowrap text-gray-300"},Me={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},We={class:"whitespace-nowrap text-gray-300"},Ye={class:"mt-8"},Fe={class:"space-y-4"},Qe={class:"rounded-lg border border-yellow-200 bg-yellow-50 p-3 sm:p-4"},Je={class:"overflow-x-auto rounded bg-gray-900 p-2 font-mono text-xs text-green-400 sm:p-3 sm:text-sm"},Xe={class:"whitespace-nowrap text-gray-300"},Ze={__name:"TutorialView",setup(et){const i=w("windows"),u=[{key:"windows",name:"Windows",icon:"fab fa-windows"},{key:"macos",name:"macOS",icon:"fab fa-apple"},{key:"linux",name:"Linux / WSL2",icon:"fab fa-linux"}],v=()=>{let l="";if(window.location.origin)l=window.location.origin;else{const e=window.location.protocol,r=window.location.hostname,x=window.location.port;l=e+"//"+r,x&&(e==="http:"&&x!=="80"||e==="https:"&&x!=="443")&&(l+=":"+x)}if(!l){const e=window.location.href,r=e.indexOf("/",8);if(r!==-1)l=e.substring(0,r);else return console.warn("无法获取完整的 origin,将使用相对路径"),""}return l},o=g(()=>v()+"/api"),m=g(()=>v()+"/gemini"),p=g(()=>v()+"/openai");return(l,e)=>(n(),b("div",A,[e[123]||(e[123]=t("div",{class:"mb-4 sm:mb-8"},[t("h3",{class:"mb-3 flex items-center text-xl font-bold text-gray-900 dark:text-gray-100 sm:mb-4 sm:text-2xl"},[t("i",{class:"fas fa-graduation-cap mr-2 text-blue-600 sm:mr-3"}),a(" Claude Code 使用教程 ")]),t("p",{class:"text-sm text-gray-600 dark:text-gray-400 sm:text-lg"}," 跟着这个教程,你可以轻松在自己的电脑上安装并使用 Claude Code。 ")],-1)),t("div",E,[t("div",S,[(n(),b(h,null,C(u,r=>t("button",{key:r.key,class:c(["flex flex-1 items-center justify-center gap-1 rounded-lg px-3 py-2 text-xs font-semibold transition-all duration-300 sm:gap-2 sm:px-6 sm:py-3 sm:text-sm",i.value===r.key?"bg-white text-blue-600 shadow-sm dark:bg-gray-800":"text-gray-600 hover:bg-white/50 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200"]),onClick:x=>i.value=r.key},[t("i",{class:c(r.icon)},null,2),a(" "+s(r.name),1)],10,O)),64))])]),i.value==="windows"?(n(),b("div",k,[e[37]||(e[37]=d('
1 安装 Node.js 环境
Claude Code 需要 Node.js 环境才能运行。
Windows 安装方法
方法一:官网下载(推荐)
- 打开浏览器访问
https://nodejs.org/ - 点击 "LTS" 版本进行下载(推荐长期支持版本)
- 下载完成后双击
.msi 文件 - 按照安装向导完成安装,保持默认设置即可
方法二:使用包管理器
如果你安装了 Chocolatey 或 Scoop,可以使用命令行安装:
# 使用 Chocolatey
choco install nodejs
# 或使用 Scoop
scoop install nodejs
Windows 注意事项
- • 建议使用 PowerShell 而不是 CMD
- • 如果遇到权限问题,尝试以管理员身份运行
- • 某些杀毒软件可能会误报,需要添加白名单
验证安装是否成功
安装完成后,打开 PowerShell 或 CMD,输入以下命令:
node --version
npm --version
如果显示版本号,说明安装成功了!
2 安装 Claude Code
安装 Claude Code
打开 PowerShell 或 CMD,运行以下命令:
# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
这个命令会从 npm 官方仓库下载并安装最新版本的 Claude Code。
提示
- • 建议使用 PowerShell 而不是 CMD,功能更强大
- • 如果遇到权限问题,以管理员身份运行 PowerShell
验证 Claude Code 安装
安装完成后,输入以下命令检查是否安装成功:
如果显示版本号,恭喜你!Claude Code 已经成功安装了。
',2)),t("div",_,[e[36]||(e[36]=t("h4",{class:"mb-3 flex items-center text-lg font-semibold text-gray-800 dark:text-gray-300 sm:mb-4 sm:text-xl"},[t("span",{class:"mr-2 flex h-6 w-6 items-center justify-center rounded-full bg-purple-500 text-xs font-bold text-white sm:mr-3 sm:h-8 sm:w-8 sm:text-sm"},"3"),a(" 设置环境变量 ")],-1)),t("div",I,[e[9]||(e[9]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-cog mr-2 text-purple-600"}),a(" 配置 Claude Code 环境变量 ")],-1)),e[10]||(e[10]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 为了让 Claude Code 连接到你的中转服务,需要设置两个环境变量: ",-1)),t("div",T,[t("div",P,[e[1]||(e[1]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法一:PowerShell 临时设置(当前会话) ",-1)),e[2]||(e[2]=t("p",{class:"mb-3 text-sm text-gray-600"},"在 PowerShell 中运行以下命令:",-1)),t("div",N,[t("div",G,' $env:ANTHROPIC_BASE_URL = "'+s(o.value)+'" ',1),e[0]||(e[0]=t("div",{class:"whitespace-nowrap text-gray-300"},' $env:ANTHROPIC_AUTH_TOKEN = "你的API密钥" ',-1))]),e[3]||(e[3]=t("p",{class:"mt-2 text-xs text-yellow-700"},' 💡 记得将 "你的API密钥" 替换为在上方 "API Keys" 标签页中创建的实际密钥。 ',-1))]),t("div",L,[e[6]||(e[6]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法二:PowerShell 永久设置(用户级) ",-1)),e[7]||(e[7]=t("p",{class:"mb-3 text-sm text-gray-600"}," 在 PowerShell 中运行以下命令设置用户级环境变量: ",-1)),t("div",U,[e[4]||(e[4]=t("div",{class:"mb-2"},"# 设置用户级环境变量(永久生效)",-1)),t("div",q,' [System.Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "'+s(o.value)+'", [System.EnvironmentVariableTarget]::User) ',1),e[5]||(e[5]=t("div",{class:"whitespace-nowrap text-gray-300"},' [System.Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "你的API密钥", [System.EnvironmentVariableTarget]::User) ',-1))]),e[8]||(e[8]=d('查看已设置的环境变量:
# 查看用户级环境变量
[System.Environment]::GetEnvironmentVariable("ANTHROPIC_BASE_URL", [System.EnvironmentVariableTarget]::User)
[System.Environment]::GetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", [System.EnvironmentVariableTarget]::User)
💡 设置后需要重新打开 PowerShell 窗口才能生效。
',3))])])]),t("div",D,[e[14]||(e[14]=d('验证环境变量设置
设置完环境变量后,可以通过以下命令验证是否设置成功:
在 PowerShell 中验证:
echo $env:ANTHROPIC_BASE_URL
echo $env:ANTHROPIC_AUTH_TOKEN
在 CMD 中验证:
echo %ANTHROPIC_BASE_URL%
echo %ANTHROPIC_AUTH_TOKEN%
',3)),t("div",H,[e[12]||(e[12]=t("p",{class:"text-sm text-blue-700"},[t("strong",null,"预期输出示例:")],-1)),t("div",R,[t("div",null,s(o.value),1),e[11]||(e[11]=t("div",null,"cr_xxxxxxxxxxxxxxxxxx",-1))]),e[13]||(e[13]=t("p",{class:"text-xs text-blue-700"}," 💡 如果输出为空或显示变量名本身,说明环境变量设置失败,请重新设置。 ",-1))])]),t("div",j,[e[27]||(e[27]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-robot mr-2 text-green-600"}),a(" 配置 Gemini CLI 环境变量 ")],-1)),e[28]||(e[28]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用 Gemini CLI,需要设置以下环境变量: ",-1)),t("div",K,[t("div",z,[e[17]||(e[17]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," PowerShell 设置方法 ",-1)),e[18]||(e[18]=t("p",{class:"mb-3 text-sm text-gray-600"},"在 PowerShell 中运行以下命令:",-1)),t("div",B,[t("div",$,' $env:CODE_ASSIST_ENDPOINT = "'+s(m.value)+'" ',1),e[15]||(e[15]=t("div",{class:"whitespace-nowrap text-gray-300"},' $env:GOOGLE_CLOUD_ACCESS_TOKEN = "你的API密钥" ',-1)),e[16]||(e[16]=t("div",{class:"whitespace-nowrap text-gray-300"},' $env:GOOGLE_GENAI_USE_GCA = "true" ',-1))]),e[19]||(e[19]=t("p",{class:"mt-2 text-xs text-yellow-700"}," 💡 使用与 Claude Code 相同的 API 密钥即可。 ",-1))]),t("div",V,[e[23]||(e[23]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," PowerShell 永久设置(用户级) ",-1)),e[24]||(e[24]=t("p",{class:"mb-3 text-sm text-gray-600"},"在 PowerShell 中运行以下命令:",-1)),t("div",M,[e[20]||(e[20]=t("div",{class:"mb-2"},"# 设置用户级环境变量(永久生效)",-1)),t("div",W,' [System.Environment]::SetEnvironmentVariable("CODE_ASSIST_ENDPOINT", "'+s(m.value)+'", [System.EnvironmentVariableTarget]::User) ',1),e[21]||(e[21]=t("div",{class:"whitespace-nowrap text-gray-300"},' [System.Environment]::SetEnvironmentVariable("GOOGLE_CLOUD_ACCESS_TOKEN", "你的API密钥", [System.EnvironmentVariableTarget]::User) ',-1)),e[22]||(e[22]=t("div",{class:"whitespace-nowrap text-gray-300"},' [System.Environment]::SetEnvironmentVariable("GOOGLE_GENAI_USE_GCA", "true", [System.EnvironmentVariableTarget]::User) ',-1))]),e[25]||(e[25]=t("p",{class:"mt-2 text-xs text-blue-700"}," 💡 设置后需要重新打开 PowerShell 窗口才能生效。 ",-1))]),e[26]||(e[26]=d(' 验证 Gemini CLI 环境变量
在 PowerShell 中验证:
echo $env:CODE_ASSIST_ENDPOINT
echo $env:GOOGLE_CLOUD_ACCESS_TOKEN
echo $env:GOOGLE_GENAI_USE_GCA
',1))])]),t("div",Y,[e[34]||(e[34]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-code mr-2 text-indigo-600"}),a(" 配置 Codex 环境变量 ")],-1)),e[35]||(e[35]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用支持 OpenAI API 的工具(如 Codex),需要设置以下环境变量: ",-1)),t("div",F,[t("div",Q,[e[31]||(e[31]=t("h6",{class:"mb-2 font-medium text-yellow-800"},"Codex 配置文件",-1)),e[32]||(e[32]=t("p",{class:"mb-3 text-sm text-yellow-700"},[a(" 在 "),t("code",{class:"rounded bg-yellow-100 px-1"},"~/.codex/config.toml"),a(" 文件中添加以下配置: ")],-1)),t("div",J,[e[29]||(e[29]=d('model_provider = "crs"
model = "gpt-5"
model_reasoning_effort = "high"
disable_response_storage = true
preferred_auth_method = "apikey"
[model_providers.crs]
name = "crs"
',8)),t("div",X,'base_url = "'+s(p.value)+'"',1),e[30]||(e[30]=t("div",{class:"whitespace-nowrap text-gray-300"},'wire_api = "responses"',-1))]),e[33]||(e[33]=d(' 在 ~/.codex/auth.json 文件中配置API密钥:
{
"OPENAI_API_KEY": "你的API密钥"
}
💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。
',3))])])])]),e[38]||(e[38]=d('4 开始使用 Claude Code
现在你可以开始使用 Claude Code 了!
在特定项目中使用
# 进入你的项目目录
cd C:\\path\\to\\your\\project
# 启动 Claude Code
claude
Windows 常见问题解决
安装时提示 "permission denied" 错误
这通常是权限问题,尝试以下解决方法:
- 以管理员身份运行 PowerShell
- 或者配置 npm 使用用户目录:
npm config set prefix %APPDATA%\\npm
PowerShell 执行策略错误
如果遇到执行策略限制,运行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
环境变量设置后不生效
设置永久环境变量后需要:
- 重新启动 PowerShell 或 CMD
- 或者注销并重新登录 Windows
- 验证设置:
echo $env:ANTHROPIC_BASE_URL
',2))])):i.value==="macos"?(n(),b("div",Z,[e[79]||(e[79]=d('1 安装 Node.js 环境
Claude Code 需要 Node.js 环境才能运行。
macOS 安装方法
方法一:使用 Homebrew(推荐)
如果你已经安装了 Homebrew,使用它安装 Node.js 会更方便:
# 更新 Homebrew
brew update
# 安装 Node.js
brew install node
方法二:官网下载
- 访问
https://nodejs.org/ - 下载适合 macOS 的 LTS 版本
- 打开下载的
.pkg 文件 - 按照安装程序指引完成安装
macOS 注意事项
- • 如果遇到权限问题,可能需要使用
sudo - • 首次运行可能需要在系统偏好设置中允许
- • 建议使用 Terminal 或 iTerm2
验证安装是否成功
安装完成后,打开 Terminal,输入以下命令:
node --version
npm --version
如果显示版本号,说明安装成功了!
2 安装 Claude Code
安装 Claude Code
打开 Terminal,运行以下命令:
# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
如果遇到权限问题,可以使用 sudo:
sudo npm install -g @anthropic-ai/claude-code
验证 Claude Code 安装
安装完成后,输入以下命令检查是否安装成功:
如果显示版本号,恭喜你!Claude Code 已经成功安装了。
',2)),t("div",ee,[e[78]||(e[78]=t("h4",{class:"mb-3 flex items-center text-lg font-semibold text-gray-800 dark:text-gray-300 sm:mb-4 sm:text-xl"},[t("span",{class:"mr-2 flex h-6 w-6 items-center justify-center rounded-full bg-orange-500 text-xs font-bold text-white sm:mr-3 sm:h-8 sm:w-8 sm:text-sm"},"3"),a(" 设置环境变量 ")],-1)),t("div",te,[e[51]||(e[51]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-cog mr-2 text-orange-600"}),a(" 配置 Claude Code 环境变量 ")],-1)),e[52]||(e[52]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 为了让 Claude Code 连接到你的中转服务,需要设置两个环境变量: ",-1)),t("div",se,[t("div",ae,[e[40]||(e[40]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法一:临时设置(当前会话) ",-1)),e[41]||(e[41]=t("p",{class:"mb-3 text-sm text-gray-600"},"在 Terminal 中运行以下命令:",-1)),t("div",de,[t("div",re,' export ANTHROPIC_BASE_URL="'+s(o.value)+'" ',1),e[39]||(e[39]=t("div",{class:"whitespace-nowrap text-gray-300"},' export ANTHROPIC_AUTH_TOKEN="你的API密钥" ',-1))]),e[42]||(e[42]=t("p",{class:"mt-2 text-xs text-yellow-700"},' 💡 记得将 "你的API密钥" 替换为在上方 "API Keys" 标签页中创建的实际密钥。 ',-1))]),t("div",oe,[e[49]||(e[49]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法二:永久设置 ",-1)),e[50]||(e[50]=t("p",{class:"mb-3 text-sm text-gray-600"}," 编辑你的 shell 配置文件(根据你使用的 shell): ",-1)),t("div",me,[e[43]||(e[43]=t("div",{class:"mb-2"},"# 对于 zsh (默认)",-1)),t("div",le,` echo 'export ANTHROPIC_BASE_URL="`+s(o.value)+`"' >> ~/.zshrc `,1),e[44]||(e[44]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export ANTHROPIC_AUTH_TOKEN="你的API密钥"' >> ~/.zshrc `,-1)),e[45]||(e[45]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.zshrc",-1))]),t("div",ie,[e[46]||(e[46]=t("div",{class:"mb-2"},"# 对于 bash",-1)),t("div",xe,` echo 'export ANTHROPIC_BASE_URL="`+s(o.value)+`"' >> ~/.bash_profile `,1),e[47]||(e[47]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export ANTHROPIC_AUTH_TOKEN="你的API密钥"' >> ~/.bash_profile `,-1)),e[48]||(e[48]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.bash_profile",-1))])])])]),t("div",be,[e[69]||(e[69]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-robot mr-2 text-green-600"}),a(" 配置 Gemini CLI 环境变量 ")],-1)),e[70]||(e[70]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用 Gemini CLI,需要设置以下环境变量: ",-1)),t("div",ne,[t("div",ve,[e[55]||(e[55]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," Terminal 设置方法 ",-1)),e[56]||(e[56]=t("p",{class:"mb-3 text-sm text-gray-600"},"在 Terminal 中运行以下命令:",-1)),t("div",pe,[t("div",ge,' export CODE_ASSIST_ENDPOINT="'+s(m.value)+'" ',1),e[53]||(e[53]=t("div",{class:"whitespace-nowrap text-gray-300"},' export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥" ',-1)),e[54]||(e[54]=t("div",{class:"whitespace-nowrap text-gray-300"},' export GOOGLE_GENAI_USE_GCA="true" ',-1))]),e[57]||(e[57]=t("p",{class:"mt-2 text-xs text-yellow-700"}," 💡 使用与 Claude Code 相同的 API 密钥即可。 ",-1))]),t("div",ce,[e[66]||(e[66]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 永久设置方法 ",-1)),e[67]||(e[67]=t("p",{class:"mb-3 text-sm text-gray-600"},"添加到你的 shell 配置文件:",-1)),t("div",ue,[e[58]||(e[58]=t("div",{class:"mb-2"},"# 对于 zsh (默认)",-1)),t("div",ye,` echo 'export CODE_ASSIST_ENDPOINT="`+s(m.value)+`"' >> ~/.zshrc `,1),e[59]||(e[59]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥"' >> ~/.zshrc `,-1)),e[60]||(e[60]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_GENAI_USE_GCA="true"' >> ~/.zshrc `,-1)),e[61]||(e[61]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.zshrc",-1))]),t("div",we,[e[62]||(e[62]=t("div",{class:"mb-2"},"# 对于 bash",-1)),t("div",fe,` echo 'export CODE_ASSIST_ENDPOINT="`+s(m.value)+`"' >> ~/.bash_profile `,1),e[63]||(e[63]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥"' >> ~/.bash_profile `,-1)),e[64]||(e[64]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_GENAI_USE_GCA="true"' >> ~/.bash_profile `,-1)),e[65]||(e[65]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.bash_profile",-1))])]),e[68]||(e[68]=d(' 验证 Gemini CLI 环境变量
在 Terminal 中验证:
echo $CODE_ASSIST_ENDPOINT
echo $GOOGLE_CLOUD_ACCESS_TOKEN
echo $GOOGLE_GENAI_USE_GCA
',1))])]),t("div",he,[e[76]||(e[76]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-code mr-2 text-indigo-600"}),a(" 配置 Codex 环境变量 ")],-1)),e[77]||(e[77]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用支持 OpenAI API 的工具(如 Codex),需要设置以下环境变量: ",-1)),t("div",Ce,[t("div",Ae,[e[73]||(e[73]=t("h6",{class:"mb-2 font-medium text-yellow-800"},"Codex 配置文件",-1)),e[74]||(e[74]=t("p",{class:"mb-3 text-sm text-yellow-700"},[a(" 在 "),t("code",{class:"rounded bg-yellow-100 px-1"},"~/.codex/config.toml"),a(" 文件中添加以下配置: ")],-1)),t("div",Ee,[e[71]||(e[71]=d('model_provider = "crs"
model = "gpt-5"
model_reasoning_effort = "high"
disable_response_storage = true
preferred_auth_method = "apikey"
[model_providers.crs]
name = "crs"
',8)),t("div",Se,'base_url = "'+s(p.value)+'"',1),e[72]||(e[72]=t("div",{class:"whitespace-nowrap text-gray-300"},'wire_api = "responses"',-1))]),e[75]||(e[75]=d(' 在 ~/.codex/auth.json 文件中配置API密钥:
{
"OPENAI_API_KEY": "你的API密钥"
}
💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。
',3))])])])]),e[80]||(e[80]=d('4 开始使用 Claude Code
现在你可以开始使用 Claude Code 了!
在特定项目中使用
# 进入你的项目目录
cd /path/to/your/project
# 启动 Claude Code
claude
macOS 常见问题解决
安装时提示权限错误
尝试以下解决方法:
- 使用 sudo 安装:
sudo npm install -g @anthropic-ai/claude-code - 或者配置 npm 使用用户目录:
npm config set prefix ~/.npm-global
macOS 安全设置阻止运行
如果系统阻止运行 Claude Code:
- 打开"系统偏好设置" → "安全性与隐私"
- 点击"仍要打开"或"允许"
- 或者在 Terminal 中运行:
sudo spctl --master-disable
环境变量不生效
检查以下几点:
- 确认修改了正确的配置文件(.zshrc 或 .bash_profile)
- 重新启动 Terminal
- 验证设置:
echo $ANTHROPIC_BASE_URL
',2))])):i.value==="linux"?(n(),b("div",Oe,[e[121]||(e[121]=d('1 安装 Node.js 环境
Claude Code 需要 Node.js 环境才能运行。
Linux 安装方法
方法一:使用官方仓库(推荐)
# 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
# 安装 Node.js
sudo apt-get install -y nodejs
方法二:使用系统包管理器
虽然版本可能不是最新的,但对于基本使用已经足够:
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# CentOS/RHEL/Fedora
sudo dnf install nodejs npm
Linux 注意事项
- • 某些发行版可能需要安装额外的依赖
- • 如果遇到权限问题,使用
sudo - • 确保你的用户在 npm 的全局目录有写权限
验证安装是否成功
安装完成后,打开终端,输入以下命令:
node --version
npm --version
如果显示版本号,说明安装成功了!
2 安装 Claude Code
安装 Claude Code
打开终端,运行以下命令:
# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
如果遇到权限问题,可以使用 sudo:
sudo npm install -g @anthropic-ai/claude-code
验证 Claude Code 安装
安装完成后,输入以下命令检查是否安装成功:
如果显示版本号,恭喜你!Claude Code 已经成功安装了。
',2)),t("div",ke,[e[120]||(e[120]=t("h4",{class:"mb-3 flex items-center text-lg font-semibold text-gray-800 dark:text-gray-300 sm:mb-4 sm:text-xl"},[t("span",{class:"mr-2 flex h-6 w-6 items-center justify-center rounded-full bg-orange-500 text-xs font-bold text-white sm:mr-3 sm:h-8 sm:w-8 sm:text-sm"},"3"),a(" 设置环境变量 ")],-1)),t("div",_e,[e[93]||(e[93]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-cog mr-2 text-orange-600"}),a(" 配置 Claude Code 环境变量 ")],-1)),e[94]||(e[94]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 为了让 Claude Code 连接到你的中转服务,需要设置两个环境变量: ",-1)),t("div",Ie,[t("div",Te,[e[82]||(e[82]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法一:临时设置(当前会话) ",-1)),e[83]||(e[83]=t("p",{class:"mb-3 text-sm text-gray-600"},"在终端中运行以下命令:",-1)),t("div",Pe,[t("div",Ne,' export ANTHROPIC_BASE_URL="'+s(o.value)+'" ',1),e[81]||(e[81]=t("div",{class:"whitespace-nowrap text-gray-300"},' export ANTHROPIC_AUTH_TOKEN="你的API密钥" ',-1))]),e[84]||(e[84]=t("p",{class:"mt-2 text-xs text-yellow-700"},' 💡 记得将 "你的API密钥" 替换为在上方 "API Keys" 标签页中创建的实际密钥。 ',-1))]),t("div",Ge,[e[91]||(e[91]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 方法二:永久设置 ",-1)),e[92]||(e[92]=t("p",{class:"mb-3 text-sm text-gray-600"},"编辑你的 shell 配置文件:",-1)),t("div",Le,[e[85]||(e[85]=t("div",{class:"mb-2"},"# 对于 bash (默认)",-1)),t("div",Ue,` echo 'export ANTHROPIC_BASE_URL="`+s(o.value)+`"' >> ~/.bashrc `,1),e[86]||(e[86]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export ANTHROPIC_AUTH_TOKEN="你的API密钥"' >> ~/.bashrc `,-1)),e[87]||(e[87]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.bashrc",-1))]),t("div",qe,[e[88]||(e[88]=t("div",{class:"mb-2"},"# 对于 zsh",-1)),t("div",De,` echo 'export ANTHROPIC_BASE_URL="`+s(o.value)+`"' >> ~/.zshrc `,1),e[89]||(e[89]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export ANTHROPIC_AUTH_TOKEN="你的API密钥"' >> ~/.zshrc `,-1)),e[90]||(e[90]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.zshrc",-1))])])])]),t("div",He,[e[111]||(e[111]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-robot mr-2 text-green-600"}),a(" 配置 Gemini CLI 环境变量 ")],-1)),e[112]||(e[112]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用 Gemini CLI,需要设置以下环境变量: ",-1)),t("div",Re,[t("div",je,[e[97]||(e[97]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 终端设置方法 ",-1)),e[98]||(e[98]=t("p",{class:"mb-3 text-sm text-gray-600"},"在终端中运行以下命令:",-1)),t("div",Ke,[t("div",ze,' export CODE_ASSIST_ENDPOINT="'+s(m.value)+'" ',1),e[95]||(e[95]=t("div",{class:"whitespace-nowrap text-gray-300"},' export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥" ',-1)),e[96]||(e[96]=t("div",{class:"whitespace-nowrap text-gray-300"},' export GOOGLE_GENAI_USE_GCA="true" ',-1))]),e[99]||(e[99]=t("p",{class:"mt-2 text-xs text-yellow-700"}," 💡 使用与 Claude Code 相同的 API 密钥即可。 ",-1))]),t("div",Be,[e[108]||(e[108]=t("h6",{class:"mb-2 text-sm font-medium text-gray-800 dark:text-gray-600 sm:text-base"}," 永久设置方法 ",-1)),e[109]||(e[109]=t("p",{class:"mb-3 text-sm text-gray-600"},"添加到你的 shell 配置文件:",-1)),t("div",$e,[e[100]||(e[100]=t("div",{class:"mb-2"},"# 对于 bash (默认)",-1)),t("div",Ve,` echo 'export CODE_ASSIST_ENDPOINT="`+s(m.value)+`"' >> ~/.bashrc `,1),e[101]||(e[101]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥"' >> ~/.bashrc `,-1)),e[102]||(e[102]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_GENAI_USE_GCA="true"' >> ~/.bashrc `,-1)),e[103]||(e[103]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.bashrc",-1))]),t("div",Me,[e[104]||(e[104]=t("div",{class:"mb-2"},"# 对于 zsh",-1)),t("div",We,` echo 'export CODE_ASSIST_ENDPOINT="`+s(m.value)+`"' >> ~/.zshrc `,1),e[105]||(e[105]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥"' >> ~/.zshrc `,-1)),e[106]||(e[106]=t("div",{class:"whitespace-nowrap text-gray-300"},` echo 'export GOOGLE_GENAI_USE_GCA="true"' >> ~/.zshrc `,-1)),e[107]||(e[107]=t("div",{class:"whitespace-nowrap text-gray-300"},"source ~/.zshrc",-1))])]),e[110]||(e[110]=d(' 验证 Gemini CLI 环境变量
在终端中验证:
echo $CODE_ASSIST_ENDPOINT
echo $GOOGLE_CLOUD_ACCESS_TOKEN
echo $GOOGLE_GENAI_USE_GCA
',1))])]),t("div",Ye,[e[118]||(e[118]=t("h5",{class:"mb-2 flex items-center text-base font-semibold text-gray-800 dark:text-gray-600 sm:mb-3 sm:text-lg"},[t("i",{class:"fas fa-code mr-2 text-indigo-600"}),a(" 配置 Codex 环境变量 ")],-1)),e[119]||(e[119]=t("p",{class:"mb-3 text-sm text-gray-700 dark:text-gray-300 sm:mb-4 sm:text-base"}," 如果你使用支持 OpenAI API 的工具(如 Codex),需要设置以下环境变量: ",-1)),t("div",Fe,[t("div",Qe,[e[115]||(e[115]=t("h6",{class:"mb-2 font-medium text-yellow-800"},"Codex 配置文件",-1)),e[116]||(e[116]=t("p",{class:"mb-3 text-sm text-yellow-700"},[a(" 在 "),t("code",{class:"rounded bg-yellow-100 px-1"},"~/.codex/config.toml"),a(" 文件中添加以下配置: ")],-1)),t("div",Je,[e[113]||(e[113]=d('model_provider = "crs"
model = "gpt-5"
model_reasoning_effort = "high"
disable_response_storage = true
preferred_auth_method = "apikey"
[model_providers.crs]
name = "crs"
',8)),t("div",Xe,'base_url = "'+s(p.value)+'"',1),e[114]||(e[114]=t("div",{class:"whitespace-nowrap text-gray-300"},'wire_api = "responses"',-1))]),e[117]||(e[117]=d(' 在 ~/.codex/auth.json 文件中配置API密钥:
{
"OPENAI_API_KEY": "你的API密钥"
}
💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。
',3))])])])]),e[122]||(e[122]=d('4 开始使用 Claude Code
现在你可以开始使用 Claude Code 了!
在特定项目中使用
# 进入你的项目目录
cd /path/to/your/project
# 启动 Claude Code
claude
Linux 常见问题解决
安装时提示权限错误
尝试以下解决方法:
- 使用 sudo 安装:
sudo npm install -g @anthropic-ai/claude-code - 或者配置 npm 使用用户目录:
npm config set prefix ~/.npm-global - 然后添加到 PATH:
export PATH=~/.npm-global/bin:$PATH
缺少依赖库
某些 Linux 发行版需要安装额外依赖:
# Ubuntu/Debian
sudo apt install build-essential
# CentOS/RHEL
sudo dnf groupinstall "Development Tools"
环境变量不生效
检查以下几点:
- 确认修改了正确的配置文件(.bashrc 或 .zshrc)
- 重新启动终端或运行
source ~/.bashrc - 验证设置:
echo $ANTHROPIC_BASE_URL
',2))])):f("",!0),e[124]||(e[124]=t("div",{class:"rounded-xl bg-gradient-to-r from-blue-500 to-purple-600 p-4 text-center text-white sm:p-6"},[t("h5",{class:"mb-2 text-lg font-semibold sm:text-xl"},"🎉 恭喜你!"),t("p",{class:"mb-3 text-sm text-blue-100 sm:mb-4 sm:text-base"}," 你已经成功安装并配置了 Claude Code,现在可以开始享受 AI 编程助手带来的便利了。 "),t("p",{class:"text-xs text-blue-200 sm:text-sm"}," 如果在使用过程中遇到任何问题,可以查看官方文档或社区讨论获取帮助。 ")],-1))]))}},rt=y(Ze,[["__scopeId","data-v-b4ed951e"]]);export{rt as default};