[{"data":1,"prerenderedAt":522},["ShallowReactive",2],{"tech:claude-code-dpsk-macos":3},{"id":4,"title":5,"body":6,"cover":507,"date":508,"description":509,"draft":510,"extension":511,"meta":512,"navigation":513,"path":514,"seo":515,"stem":516,"tags":517,"updated":508,"__hash__":521},"tech\u002Ftech\u002Fclaude-code-dpsk-macos.md","在 macOS 配置 Claude Code 与 DeepSeek API：从终端到项目目录",{"type":7,"value":8,"toc":493},"minimark",[9,13,17,23,28,31,62,69,73,76,103,106,110,117,225,231,266,269,281,297,301,304,339,342,350,353,357,364,370,391,394,397,444,447,453,456,459,462,489],[10,11,5],"h1",{"id":12},"在-macos-配置-claude-code-与-deepseek-api从终端到项目目录",[14,15,16],"p",{},"这篇记录只保留可重复的部分：安装 CLI、把 DeepSeek 的连接信息放进 shell 配置、在一个干净项目里验证。密钥不写进仓库，也不复制进截图。",[18,19,20],"blockquote",{},[14,21,22],{},"DeepSeek 同时提供 OpenAI 与 Anthropic 兼容接口。Claude Code 这里使用的是 Anthropic 兼容端点，而不是 OpenAI 的默认端点。",[24,25,27],"h2",{"id":26},"_0-准备","0. 准备",[14,29,30],{},"先确认终端和 Git 可用：",[32,33,38],"pre",{"className":34,"code":35,"language":36,"meta":37,"style":37},"language-bash shiki shiki-themes github-light github-dark","zsh --version\ngit --version\n","bash","",[39,40,41,54],"code",{"__ignoreMap":37},[42,43,46,50],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"sScJk","zsh",[42,51,53],{"class":52},"sj4cs"," --version\n",[42,55,57,60],{"class":44,"line":56},2,[42,58,59],{"class":48},"git",[42,61,53],{"class":52},[14,63,64,65,68],{},"macOS 默认 shell 通常是 zsh，后续配置写进 ",[39,66,67],{},"~\u002F.zshrc","。如果你使用的是 fish 或 bash，请改到对应的配置文件。",[24,70,72],{"id":71},"_1-安装-claude-code","1. 安装 Claude Code",[14,74,75],{},"先确认 Node.js 版本满足 Claude Code 的要求，再安装 CLI：",[32,77,79],{"className":34,"code":78,"language":36,"meta":37,"style":37},"npm install -g @anthropic-ai\u002Fclaude-code\nclaude --version\n",[39,80,81,96],{"__ignoreMap":37},[42,82,83,86,90,93],{"class":44,"line":45},[42,84,85],{"class":48},"npm",[42,87,89],{"class":88},"sZZnC"," install",[42,91,92],{"class":52}," -g",[42,94,95],{"class":88}," @anthropic-ai\u002Fclaude-code\n",[42,97,98,101],{"class":44,"line":56},[42,99,100],{"class":48},"claude",[42,102,53],{"class":52},[14,104,105],{},"能输出版本号后，再进入登录或授权步骤。不要急着在全局环境里放服务密钥；先保证 CLI 本身能正常启动。",[24,107,109],{"id":108},"_2-单独保存-deepseek-配置","2. 单独保存 DeepSeek 配置",[14,111,112,113,116],{},"新建一个只在本机保存的文件，例如 ",[39,114,115],{},"~\u002F.config\u002Fdeepseek\u002Fclaude.env","：",[32,118,120],{"className":34,"code":119,"language":36,"meta":37,"style":37},"export ANTHROPIC_BASE_URL=\"https:\u002F\u002Fapi.deepseek.com\u002Fanthropic\"\nexport ANTHROPIC_AUTH_TOKEN=\"sk-请替换为自己的 DeepSeek API Key\"\nexport ANTHROPIC_MODEL=\"deepseek-v4-pro\"\nexport ANTHROPIC_DEFAULT_OPUS_MODEL=\"deepseek-v4-pro\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"deepseek-v4-pro\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_SUBAGENT_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_EFFORT_LEVEL=\"max\"\n",[39,121,122,138,150,163,175,187,200,212],{"__ignoreMap":37},[42,123,124,128,132,135],{"class":44,"line":45},[42,125,127],{"class":126},"szBVR","export",[42,129,131],{"class":130},"sVt8B"," ANTHROPIC_BASE_URL",[42,133,134],{"class":126},"=",[42,136,137],{"class":88},"\"https:\u002F\u002Fapi.deepseek.com\u002Fanthropic\"\n",[42,139,140,142,145,147],{"class":44,"line":56},[42,141,127],{"class":126},[42,143,144],{"class":130}," ANTHROPIC_AUTH_TOKEN",[42,146,134],{"class":126},[42,148,149],{"class":88},"\"sk-请替换为自己的 DeepSeek API Key\"\n",[42,151,153,155,158,160],{"class":44,"line":152},3,[42,154,127],{"class":126},[42,156,157],{"class":130}," ANTHROPIC_MODEL",[42,159,134],{"class":126},[42,161,162],{"class":88},"\"deepseek-v4-pro\"\n",[42,164,166,168,171,173],{"class":44,"line":165},4,[42,167,127],{"class":126},[42,169,170],{"class":130}," ANTHROPIC_DEFAULT_OPUS_MODEL",[42,172,134],{"class":126},[42,174,162],{"class":88},[42,176,178,180,183,185],{"class":44,"line":177},5,[42,179,127],{"class":126},[42,181,182],{"class":130}," ANTHROPIC_DEFAULT_SONNET_MODEL",[42,184,134],{"class":126},[42,186,162],{"class":88},[42,188,190,192,195,197],{"class":44,"line":189},6,[42,191,127],{"class":126},[42,193,194],{"class":130}," ANTHROPIC_DEFAULT_HAIKU_MODEL",[42,196,134],{"class":126},[42,198,199],{"class":88},"\"deepseek-v4-flash\"\n",[42,201,203,205,208,210],{"class":44,"line":202},7,[42,204,127],{"class":126},[42,206,207],{"class":130}," CLAUDE_CODE_SUBAGENT_MODEL",[42,209,134],{"class":126},[42,211,199],{"class":88},[42,213,215,217,220,222],{"class":44,"line":214},8,[42,216,127],{"class":126},[42,218,219],{"class":130}," CLAUDE_CODE_EFFORT_LEVEL",[42,221,134],{"class":126},[42,223,224],{"class":88},"\"max\"\n",[14,226,227,228,230],{},"随后在 ",[39,229,67],{}," 最末尾加入：",[32,232,234],{"className":34,"code":233,"language":36,"meta":37,"style":37},"test -f \"$HOME\u002F.config\u002Fdeepseek\u002Fclaude.env\" && source \"$HOME\u002F.config\u002Fdeepseek\u002Fclaude.env\"\n",[39,235,236],{"__ignoreMap":37},[42,237,238,241,244,247,250,253,256,259,261,263],{"class":44,"line":45},[42,239,240],{"class":52},"test",[42,242,243],{"class":52}," -f",[42,245,246],{"class":88}," \"",[42,248,249],{"class":130},"$HOME",[42,251,252],{"class":88},"\u002F.config\u002Fdeepseek\u002Fclaude.env\"",[42,254,255],{"class":130}," && ",[42,257,258],{"class":52},"source",[42,260,246],{"class":88},[42,262,249],{"class":130},[42,264,265],{"class":88},"\u002F.config\u002Fdeepseek\u002Fclaude.env\"\n",[14,267,268],{},"重新加载配置：",[32,270,272],{"className":34,"code":271,"language":36,"meta":37,"style":37},"source ~\u002F.zshrc\n",[39,273,274],{"__ignoreMap":37},[42,275,276,278],{"class":44,"line":45},[42,277,258],{"class":52},[42,279,280],{"class":88}," ~\u002F.zshrc\n",[14,282,283,284,288,289,292,293,296],{},"这里最重要的一点是：",[285,286,287],"strong",{},"密钥文件不进入 Git","。如果项目里需要环境变量，再建立一个不提交的 ",[39,290,291],{},".env.local","，并写好 ",[39,294,295],{},".gitignore","。",[24,298,300],{"id":299},"_3-在项目目录验证","3. 在项目目录验证",[14,302,303],{},"选一个没有敏感文件的测试目录：",[32,305,307],{"className":34,"code":306,"language":36,"meta":37,"style":37},"mkdir -p ~\u002FCode\u002Fclaude-sandbox\ncd ~\u002FCode\u002Fclaude-sandbox\ngit init\nclaude\n",[39,308,309,320,327,334],{"__ignoreMap":37},[42,310,311,314,317],{"class":44,"line":45},[42,312,313],{"class":48},"mkdir",[42,315,316],{"class":52}," -p",[42,318,319],{"class":88}," ~\u002FCode\u002Fclaude-sandbox\n",[42,321,322,325],{"class":44,"line":56},[42,323,324],{"class":52},"cd",[42,326,319],{"class":88},[42,328,329,331],{"class":44,"line":152},[42,330,59],{"class":48},[42,332,333],{"class":88}," init\n",[42,335,336],{"class":44,"line":165},[42,337,338],{"class":48},"claude\n",[14,340,341],{},"第一次对话可以只给一个很小的任务，例如：",[32,343,348],{"className":344,"code":346,"language":347,"meta":37},[345],"language-text","请先阅读当前目录，告诉我这里有哪些文件；不要修改任何内容。\n","text",[39,349,346],{"__ignoreMap":37},[14,351,352],{},"确认它能读取项目结构后，再尝试创建一个最小文件。把“只读确认”和“允许修改”分开，是我觉得最舒服的工作节奏。",[24,354,356],{"id":355},"_4-常见检查点","4. 常见检查点",[358,359,361,362],"h3",{"id":360},"终端里找不到-claude","终端里找不到 ",[39,363,100],{},[14,365,366,367,116],{},"先重开终端；仍然不行时检查安装目录是否在 ",[39,368,369],{},"PATH",[32,371,373],{"className":34,"code":372,"language":36,"meta":37,"style":37},"which claude\necho $PATH\n",[39,374,375,383],{"__ignoreMap":37},[42,376,377,380],{"class":44,"line":45},[42,378,379],{"class":52},"which",[42,381,382],{"class":88}," claude\n",[42,384,385,388],{"class":44,"line":56},[42,386,387],{"class":52},"echo",[42,389,390],{"class":130}," $PATH\n",[358,392,393],{"id":393},"配置没有生效",[14,395,396],{},"不要直接把密钥打印到屏幕。只检查变量是否存在：",[32,398,400],{"className":34,"code":399,"language":36,"meta":37,"style":37},"test -n \"$ANTHROPIC_BASE_URL\" && echo \"base url is set\"\ntest -n \"$ANTHROPIC_AUTH_TOKEN\" && echo \"token is set\"\n",[39,401,402,424],{"__ignoreMap":37},[42,403,404,406,409,411,414,417,419,421],{"class":44,"line":45},[42,405,240],{"class":52},[42,407,408],{"class":52}," -n",[42,410,246],{"class":88},[42,412,413],{"class":130},"$ANTHROPIC_BASE_URL",[42,415,416],{"class":88},"\"",[42,418,255],{"class":130},[42,420,387],{"class":52},[42,422,423],{"class":88}," \"base url is set\"\n",[42,425,426,428,430,432,435,437,439,441],{"class":44,"line":56},[42,427,240],{"class":52},[42,429,408],{"class":52},[42,431,246],{"class":88},[42,433,434],{"class":130},"$ANTHROPIC_AUTH_TOKEN",[42,436,416],{"class":88},[42,438,255],{"class":130},[42,440,387],{"class":52},[42,442,443],{"class":88}," \"token is set\"\n",[358,445,446],{"id":446},"项目里有不该读取的内容",[14,448,449,450,452],{},"把私密文件放进 ",[39,451,295],{}," 并不等于它不会被本地工具读到。对于密钥、导出的数据库和客户资料，我会把它们放到工作目录之外，或明确在开始前排除。",[24,454,455],{"id":455},"小结",[14,457,458],{},"这套配置的核心不是某一条命令，而是边界：CLI、服务配置、项目文件各自独立。以后更换 DeepSeek 模型时，只改本地环境文件，不需要改项目代码，也不会把凭据带进提交记录。",[24,460,461],{"id":461},"参考网站",[463,464,465,475,482],"ul",{},[466,467,468],"li",{},[469,470,474],"a",{"href":471,"rel":472},"https:\u002F\u002Fapi-docs.deepseek.com\u002Fguides\u002Fagent_integrations\u002Fclaude_code",[473],"nofollow","DeepSeek：Claude Code 集成说明",[466,476,477],{},[469,478,481],{"href":479,"rel":480},"https:\u002F\u002Fapi-docs.deepseek.com\u002Fguides\u002Fanthropic_api",[473],"DeepSeek：Anthropic API 兼容说明",[466,483,484],{},[469,485,488],{"href":486,"rel":487},"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fgetting-started",[473],"Claude Code：官方入门文档",[490,491,492],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":37,"searchDepth":56,"depth":56,"links":494},[495,496,497,498,499,505,506],{"id":26,"depth":56,"text":27},{"id":71,"depth":56,"text":72},{"id":108,"depth":56,"text":109},{"id":299,"depth":56,"text":300},{"id":355,"depth":56,"text":356,"children":500},[501,503,504],{"id":360,"depth":152,"text":502},"终端里找不到 claude",{"id":393,"depth":152,"text":393},{"id":446,"depth":152,"text":446},{"id":455,"depth":56,"text":455},{"id":461,"depth":56,"text":461},"\u002Fog-image.png","2026-07-14","用 DeepSeek 的 Anthropic 兼容端点接入 Claude Code；一份可重复执行的 macOS 配置记录。",false,"md",{},true,"\u002Ftech\u002Fclaude-code-dpsk-macos",{"title":5,"description":509},"tech\u002Fclaude-code-dpsk-macos",[518,519,520],"Claude Code","macOS","DeepSeek","_HzhGS-ceWyrkffZ-evrjylv-WAeFgeAyyAd7Q1EYx0",1784032894846]