1 line
27 KiB
JSON
1 line
27 KiB
JSON
{"repo": "beltran12138/claude-code-deploy", "files": {"install.sh": {"f0888d9093974bd95718905f89b5b631850699fb": {"t": 1785746419.0591025, "n": 4325, "h": "7b90025816f931b4", "c": "#!/usr/bin/env bash\n# ============================================================\n# Claude Code + DeepSeek 一键安装(公司 Mac)\n# 原理:DeepSeek 官方 /anthropic 端点原生支持 Anthropic 协议,\n# Claude Code 直连,零翻译层(区别于 codex-deploy 需要 ccx)。\n# 用法: bash install.sh (幂等,可重复运行)\n# 依赖:Node.js 18+ + npm + curl(macOS 自带 curl)\n# 安全:DeepSeek key 只写 ~/.claude-deepseek-env(权限 600),不进脚本/日志/仓库\n# ============================================================\nset -uo pipefail\n\nBASE_URL=\"https://api.deepseek.com/anthropic\"\nMODEL=\"${CLAUDE_MODEL:-deepseek-v4-pro}\" # 省钱: export CLAUDE_MODEL=deepseek-v4-flash\nENV_FILE=\"${HOME}/.claude-deepseek-env\"\n\nG='\\033[32m'; Y='\\033[33m'; R='\\033[31m'; N='\\033[0m'\nok(){ printf \"${G}✓${N} %s\\n\" \"$1\"; }\ninfo(){ printf \" %s\\n\" \"$1\"; }\nwarn(){ printf \"${Y}!${N} %s\\n\" \"$1\"; }\ndie(){ printf \"${R}✗ %s${N}\\n\" \"$1\" >&2; exit 1; }\n\necho \"==========================================\"\necho \" Claude Code + DeepSeek 一键安装\"\necho \"==========================================\"\n\n# ---- 0. 前置:Node 18+ ----\necho \"【0/4】检查环境...\"\ncommand -v node >/dev/null || die \"缺 Node.js(装 Node 18+,找 IT 或 nvm install 18)\"\nNM=\"$(node -v | sed 's/v//;s/\\..*//')\"\n[ \"$NM\" -ge 18 ] 2>/dev/null || die \"Node 版本过低($(node -v)),需 18+\"\ncommand -v npm >/dev/null || die \"缺 npm\"\ncommand -v curl >/dev/null || die \"缺 curl\"\nok \"Node $(node -v) / npm $(npm -v)\"\n\n# ---- 1. 装/升级 Claude Code(npm 全局,幂等)----\necho \"【1/4】安装 Claude Code...\"\nif ! npm install -g @anthropic-ai/claude-code >/dev/null 2>&1; then\n die \"npm 安装失败(查网络/代理/npm 权限)\"\nfi\nCCV=\"$(claude --version 2>/dev/null || echo '已装')\"\nok \"Claude Code ${CCV}\"\n\n# ---- 2. 收 DeepSeek key(不回显,不进脚本)----\necho \"【2/4】填 DeepSeek API Key...\"\nwarn \"key 只写本地 ${ENV_FILE}(权限 600),不进脚本/日志/仓库\"\nwhile true; do\n printf \" 粘贴 DeepSeek key(sk-...,输入不显示): \"; read -rs DK; echo\n case \"$DK\" in\n sk-*) break ;;\n \"\") warn \"不能为空\" ;;\n *) warn \"应以 sk- 开头(你输入的开头是 '${DK:0:6}...')\" ;;\n esac\ndone\n\n# ---- 3. 持久化:独立 env 文件(chmod 600)+ zshrc 一行 source ----\necho \"【3/4】持久化配置...\"\numask 077\ncat > \"$ENV_FILE\" <<EOF\n# Claude Code -> DeepSeek(claude-code-deploy 生成)\n# 换模型:改下面 MODEL 值后重开终端,或重跑 CLAUDE_MODEL=xxx bash install.sh\n# 1M 上下文:模型名后加 [1m],如 deepseek-v4-pro[1m]\nexport ANTHROPIC_BASE_URL=\"$BASE_URL\"\nexport ANTHROPIC_AUTH_TOKEN=\"$DK\"\nexport ANTHROPIC_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_OPUS_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_SUBAGENT_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_EFFORT_LEVEL=\"max\"\nEOF\nchmod 600 \"$ENV_FILE\"\nok \"配置写入 ${ENV_FILE}(权限 600)\"\n\n# 注入 zshrc(标记区块便卸载;key 不进 zshrc 明文,只 source env 文件)\ntouch \"${HOME}/.zshrc\"\nLINE='[ -f \"$HOME/.claude-deepseek-env\" ] && . \"$HOME/.claude-deepseek-env\"'\nif grep -qF '.claude-deepseek-env' \"${HOME}/.zshrc\" 2>/dev/null; then\n ok \"~/.zshrc 已注入(跳过)\"\nelse\n printf '\\n# >>> claude-deepseek >>>\\n%s\\n# <<< claude-deepseek <<<\\n' \"$LINE\" >> \"${HOME}/.zshrc\"\n ok \"已注入 ~/.zshrc\"\nfi\n\n# ---- 4. 自测(curl 打 DeepSeek /anthropic,绕开 claude 首次 onboarding)----\necho \"【4/4】自测(打 DeepSeek /anthropic 端点)...\"\n. \"$ENV_FILE\"\nTF=\"$(mktemp)\"\nCODE=\"$(curl -s -o \"$TF\" -w '%{http_code}' --max-time 25 \\\n \"${BASE_URL}/v1/messages\" \\\n -H \"content-type: application/json\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n -H \"Authorization: Bearer ${DK}\" \\\n -d '{\"model\":\"'\"${MODEL}\"'\",\"max_tokens\":20,\"messages\":[{\"role\":\"user\",\"content\":\"say hi in 3 words\"}]}')\"\nif [ \"${CODE}\" = \"200\" ]; then\n # DeepSeek V4 默认开 thinking,content[0] 可能是 thinking block,遍历找 text\n REPLY=\"$(python3 -c 'import json,sys\ntry:\n d=json.load(open(sys.argv[1]))\n txt=None\n for b in d.get(\"content\",[]):\n if isinstance(b,dict) and b.get(\"type\")==\"text\":\n txt=b.get(\"text\"); break\n print(txt or \"(HTTP 200,响应无 text block)\")\nexcept Exception:\n print(\"(HTTP 200,响应解析异常)\")' \"$TF\" 2>/dev/null | head -c 120)\"\n ok \"✅ DeepSeek /anthropic 打通(HTTP 200)\"\n info \"回复:${REPLY}\"\nelse\n warn \"自测 HTTP=${CODE}(401=key 错;000=网络不通;5xx=DeepSeek 端)\"\n info \"响应:$(head -c 200 \"$TF\")\"\nfi\nrm -f \"$TF\"\n\ncat <<EOF\n\n${G}========================================================${N}\n 完成!新开一个终端窗口,cd 到项目目录,跑:\n claude\n ${Y}不要登录 Anthropic 账号${N}(直接走 DeepSeek)\n 首次跑 claude 会过一遍 onboarding(选主题/信任目录),按提示走即可。\n 排错 / 换模型 / 卸载见 README.md\n${G}========================================================${N}\nEOF\n"}, "c200016cbf25126db8723cc7b156f18c56fae7b2": {"t": 1785763840.010103, "n": 4325, "h": "7b90025816f931b4", "c": "#!/usr/bin/env bash\n# ============================================================\n# Claude Code + DeepSeek 一键安装(公司 Mac)\n# 原理:DeepSeek 官方 /anthropic 端点原生支持 Anthropic 协议,\n# Claude Code 直连,零翻译层(区别于 codex-deploy 需要 ccx)。\n# 用法: bash install.sh (幂等,可重复运行)\n# 依赖:Node.js 18+ + npm + curl(macOS 自带 curl)\n# 安全:DeepSeek key 只写 ~/.claude-deepseek-env(权限 600),不进脚本/日志/仓库\n# ============================================================\nset -uo pipefail\n\nBASE_URL=\"https://api.deepseek.com/anthropic\"\nMODEL=\"${CLAUDE_MODEL:-deepseek-v4-pro}\" # 省钱: export CLAUDE_MODEL=deepseek-v4-flash\nENV_FILE=\"${HOME}/.claude-deepseek-env\"\n\nG='\\033[32m'; Y='\\033[33m'; R='\\033[31m'; N='\\033[0m'\nok(){ printf \"${G}✓${N} %s\\n\" \"$1\"; }\ninfo(){ printf \" %s\\n\" \"$1\"; }\nwarn(){ printf \"${Y}!${N} %s\\n\" \"$1\"; }\ndie(){ printf \"${R}✗ %s${N}\\n\" \"$1\" >&2; exit 1; }\n\necho \"==========================================\"\necho \" Claude Code + DeepSeek 一键安装\"\necho \"==========================================\"\n\n# ---- 0. 前置:Node 18+ ----\necho \"【0/4】检查环境...\"\ncommand -v node >/dev/null || die \"缺 Node.js(装 Node 18+,找 IT 或 nvm install 18)\"\nNM=\"$(node -v | sed 's/v//;s/\\..*//')\"\n[ \"$NM\" -ge 18 ] 2>/dev/null || die \"Node 版本过低($(node -v)),需 18+\"\ncommand -v npm >/dev/null || die \"缺 npm\"\ncommand -v curl >/dev/null || die \"缺 curl\"\nok \"Node $(node -v) / npm $(npm -v)\"\n\n# ---- 1. 装/升级 Claude Code(npm 全局,幂等)----\necho \"【1/4】安装 Claude Code...\"\nif ! npm install -g @anthropic-ai/claude-code >/dev/null 2>&1; then\n die \"npm 安装失败(查网络/代理/npm 权限)\"\nfi\nCCV=\"$(claude --version 2>/dev/null || echo '已装')\"\nok \"Claude Code ${CCV}\"\n\n# ---- 2. 收 DeepSeek key(不回显,不进脚本)----\necho \"【2/4】填 DeepSeek API Key...\"\nwarn \"key 只写本地 ${ENV_FILE}(权限 600),不进脚本/日志/仓库\"\nwhile true; do\n printf \" 粘贴 DeepSeek key(sk-...,输入不显示): \"; read -rs DK; echo\n case \"$DK\" in\n sk-*) break ;;\n \"\") warn \"不能为空\" ;;\n *) warn \"应以 sk- 开头(你输入的开头是 '${DK:0:6}...')\" ;;\n esac\ndone\n\n# ---- 3. 持久化:独立 env 文件(chmod 600)+ zshrc 一行 source ----\necho \"【3/4】持久化配置...\"\numask 077\ncat > \"$ENV_FILE\" <<EOF\n# Claude Code -> DeepSeek(claude-code-deploy 生成)\n# 换模型:改下面 MODEL 值后重开终端,或重跑 CLAUDE_MODEL=xxx bash install.sh\n# 1M 上下文:模型名后加 [1m],如 deepseek-v4-pro[1m]\nexport ANTHROPIC_BASE_URL=\"$BASE_URL\"\nexport ANTHROPIC_AUTH_TOKEN=\"$DK\"\nexport ANTHROPIC_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_OPUS_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_SUBAGENT_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_EFFORT_LEVEL=\"max\"\nEOF\nchmod 600 \"$ENV_FILE\"\nok \"配置写入 ${ENV_FILE}(权限 600)\"\n\n# 注入 zshrc(标记区块便卸载;key 不进 zshrc 明文,只 source env 文件)\ntouch \"${HOME}/.zshrc\"\nLINE='[ -f \"$HOME/.claude-deepseek-env\" ] && . \"$HOME/.claude-deepseek-env\"'\nif grep -qF '.claude-deepseek-env' \"${HOME}/.zshrc\" 2>/dev/null; then\n ok \"~/.zshrc 已注入(跳过)\"\nelse\n printf '\\n# >>> claude-deepseek >>>\\n%s\\n# <<< claude-deepseek <<<\\n' \"$LINE\" >> \"${HOME}/.zshrc\"\n ok \"已注入 ~/.zshrc\"\nfi\n\n# ---- 4. 自测(curl 打 DeepSeek /anthropic,绕开 claude 首次 onboarding)----\necho \"【4/4】自测(打 DeepSeek /anthropic 端点)...\"\n. \"$ENV_FILE\"\nTF=\"$(mktemp)\"\nCODE=\"$(curl -s -o \"$TF\" -w '%{http_code}' --max-time 25 \\\n \"${BASE_URL}/v1/messages\" \\\n -H \"content-type: application/json\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n -H \"Authorization: Bearer ${DK}\" \\\n -d '{\"model\":\"'\"${MODEL}\"'\",\"max_tokens\":20,\"messages\":[{\"role\":\"user\",\"content\":\"say hi in 3 words\"}]}')\"\nif [ \"${CODE}\" = \"200\" ]; then\n # DeepSeek V4 默认开 thinking,content[0] 可能是 thinking block,遍历找 text\n REPLY=\"$(python3 -c 'import json,sys\ntry:\n d=json.load(open(sys.argv[1]))\n txt=None\n for b in d.get(\"content\",[]):\n if isinstance(b,dict) and b.get(\"type\")==\"text\":\n txt=b.get(\"text\"); break\n print(txt or \"(HTTP 200,响应无 text block)\")\nexcept Exception:\n print(\"(HTTP 200,响应解析异常)\")' \"$TF\" 2>/dev/null | head -c 120)\"\n ok \"✅ DeepSeek /anthropic 打通(HTTP 200)\"\n info \"回复:${REPLY}\"\nelse\n warn \"自测 HTTP=${CODE}(401=key 错;000=网络不通;5xx=DeepSeek 端)\"\n info \"响应:$(head -c 200 \"$TF\")\"\nfi\nrm -f \"$TF\"\n\ncat <<EOF\n\n${G}========================================================${N}\n 完成!新开一个终端窗口,cd 到项目目录,跑:\n claude\n ${Y}不要登录 Anthropic 账号${N}(直接走 DeepSeek)\n 首次跑 claude 会过一遍 onboarding(选主题/信任目录),按提示走即可。\n 排错 / 换模型 / 卸载见 README.md\n${G}========================================================${N}\nEOF\n"}, "eeda68bccafa4f262d6c57a40d65a52668f9f94a": {"t": 1785763841.332619, "n": 4083, "h": "b3bc64f4c1bff82a", "c": "#!/usr/bin/env bash\n# ============================================================\n# Claude Code + DeepSeek 一键安装(公司 Mac)\n# 原理:DeepSeek 官方 /anthropic 端点原生支持 Anthropic 协议,\n# Claude Code 直连,零翻译层(区别于 codex-deploy 需要 ccx)。\n# 用法: bash install.sh (幂等,可重复运行)\n# 依赖:Node.js 18+ + npm + curl(macOS 自带 curl)\n# 安全:DeepSeek key 只写 ~/.claude-deepseek-env(权限 600),不进脚本/日志/仓库\n# ============================================================\nset -uo pipefail\n\nBASE_URL=\"https://api.deepseek.com/anthropic\"\nMODEL=\"${CLAUDE_MODEL:-deepseek-v4-pro}\" # 省钱: export CLAUDE_MODEL=deepseek-v4-flash\nENV_FILE=\"${HOME}/.claude-deepseek-env\"\n\nG='\\033[32m'; Y='\\033[33m'; R='\\033[31m'; N='\\033[0m'\nok(){ printf \"${G}✓${N} %s\\n\" \"$1\"; }\ninfo(){ printf \" %s\\n\" \"$1\"; }\nwarn(){ printf \"${Y}!${N} %s\\n\" \"$1\"; }\ndie(){ printf \"${R}✗ %s${N}\\n\" \"$1\" >&2; exit 1; }\n\necho \"==========================================\"\necho \" Claude Code + DeepSeek 一键安装\"\necho \"==========================================\"\n\n# ---- 0. 前置:Node 18+ ----\necho \"【0/4】检查环境...\"\ncommand -v node >/dev/null || die \"缺 Node.js(装 Node 18+,找 IT 或 nvm install 18)\"\nNM=\"$(node -v | sed 's/v//;s/\\..*//')\"\n[ \"$NM\" -ge 18 ] 2>/dev/null || die \"Node 版本过低($(node -v)),需 18+\"\ncommand -v npm >/dev/null || die \"缺 npm\"\ncommand -v curl >/dev/null || die \"缺 curl\"\nok \"Node $(node -v) / npm $(npm -v)\"\n\n# ---- 1. 装/升级 Claude Code(npm 全局,幂等)----\necho \"【1/4】安装 Claude Code...\"\nif ! npm install -g @anthropic-ai/claude-code >/dev/null 2>&1; then\n die \"npm 安装失败(查网络/代理/npm 权限)\"\nfi\nCCV=\"$(claude --version 2>/dev/null || echo '已装')\"\nok \"Claude Code ${CCV}\"\n\n# ---- 2. 收 DeepSeek key(不回显,不进脚本)----\necho \"【2/4】填 DeepSeek API Key...\"\nwarn \"key 只写本地 ${ENV_FILE}(权限 600),不进脚本/日志/仓库\"\nwhile true; do\n printf \" 粘贴 DeepSeek key(sk-...,输入不显示): \"; read -rs DK; echo\n case \"$DK\" in\n sk-*) break ;;\n \"\") warn \"不能为空\" ;;\n *) warn \"应以 sk- 开头(你输入的开头是 '${DK:0:6}...')\" ;;\n esac\ndone\n\n# ---- 3. 持久化:独立 env 文件(chmod 600)+ zshrc 一行 source ----\necho \"【3/4】持久化配置...\"\numask 077\ncat > \"$ENV_FILE\" <<EOF\n# Claude Code -> DeepSeek(claude-code-deploy 生成)\n# 换模型:改下面 MODEL 值后重开终端,或重跑 CLAUDE_MODEL=xxx bash install.sh\n# 1M 上下文:模型名后加 [1m],如 deepseek-v4-pro[1m]\nexport ANTHROPIC_BASE_URL=\"$BASE_URL\"\nexport ANTHROPIC_AUTH_TOKEN=\"$DK\"\nexport ANTHROPIC_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_OPUS_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"${MODEL}\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_SUBAGENT_MODEL=\"deepseek-v4-flash\"\nexport CLAUDE_CODE_EFFORT_LEVEL=\"max\"\nEOF\nchmod 600 \"$ENV_FILE\"\nok \"配置写入 ${ENV_FILE}(权限 600)\"\n\n# 注入 zshrc(标记区块便卸载;key 不进 zshrc 明文,只 source env 文件)\ntouch \"${HOME}/.zshrc\"\nLINE='[ -f \"$HOME/.claude-deepseek-env\" ] && . \"$HOME/.claude-deepseek-env\"'\nif grep -qF '.claude-deepseek-env' \"${HOME}/.zshrc\" 2>/dev/null; then\n ok \"~/.zshrc 已注入(跳过)\"\nelse\n printf '\\n# >>> claude-deepseek >>>\\n%s\\n# <<< claude-deepseek <<<\\n' \"$LINE\" >> \"${HOME}/.zshrc\"\n ok \"已注入 ~/.zshrc\"\nfi\n\n# ---- 4. 自测(curl 打 DeepSeek /anthropic,绕开 claude 首次 onboarding)----\necho \"【4/4】自测(打 DeepSeek /anthropic 端点)...\"\n. \"$ENV_FILE\"\nTF=\"$(mktemp)\"\nCODE=\"$(curl -s -o \"$TF\" -w '%{http_code}' --max-time 25 \\\n \"${BASE_URL}/v1/messages\" \\\n -H \"content-type: application/json\" \\\n -H \"anthropic-version: 2023-06-01\" \\\n -H \"Authorization: Bearer ${DK}\" \\\n -d '{\"model\":\"'\"${MODEL}\"'\",\"max_tokens\":20,\"messages\":[{\"role\":\"user\",\"content\":\"say hi in 3 words\"}]}')\"\nif [ \"${CODE}\" = \"200\" ]; then\n REPLY=\"$(python3 -c 'import json,sys\ntry: d=json.load(open(sys.argv[1])); print(d[\"content\"][0][\"text\"])\nexcept Exception: print(\"(解析失败)\")' \"$TF\" 2>/dev/null | head -c 120)\"\n ok \"✅ DeepSeek /anthropic 打通(HTTP 200)\"\n info \"回复:${REPLY}\"\nelse\n warn \"自测 HTTP=${CODE}(401=key 错;000=网络不通;5xx=DeepSeek 端)\"\n info \"响应:$(head -c 200 \"$TF\")\"\nfi\nrm -f \"$TF\"\n\ncat <<EOF\n\n${G}========================================================${N}\n 完成!新开一个终端窗口,cd 到项目目录,跑:\n claude\n ${Y}不要登录 Anthropic 账号${N}(直接走 DeepSeek)\n 首次跑 claude 会过一遍 onboarding(选主题/信任目录),按提示走即可。\n 排错 / 换模型 / 卸载见 README.md\n${G}========================================================${N}\nEOF\n"}}, "README.md": {"f0888d9093974bd95718905f89b5b631850699fb": {"t": 1785747204.6659086, "n": 2641, "h": "ad365b8a9a65e722", "c": "# claude-code-deploy —— Claude Code + DeepSeek 公司 Mac 一键安装\n\n把 **Claude Code**(Anthropic 官方 CLI)接到 **DeepSeek** 模型,不走 Anthropic 计费。\n\n**原理**:DeepSeek 官方 `/anthropic` 端点原生支持 Anthropic 协议,Claude Code 直连,**不需要任何 proxy / 翻译层**(区别于 [codex-deploy](https://github.com/Beltran12138/codex-deploy) 需要 ccx 翻译 Responses↔Chat)。\n\n## 一行安装(公司 Mac)\n\n终端粘贴回车:\n\n```bash\ngit clone https://github.com/Beltran12138/claude-code-deploy.git && cd claude-code-deploy && bash install.sh\n```\n\n脚本自动:检查 Node → 装 Claude Code → 收 DeepSeek key → 持久化配置 → 自测。\n**唯一手动**:粘贴 DeepSeek key。\n\n> **为什么 `git clone` 不是 `curl | bash`**:公司网络 `raw.githubusercontent.com` 不通,但 `github.com` / `git` / `npm` 正常(实测)。\n\n## 前提\n\n- **Node.js 18+**(`node -v` 查;没有找 IT,或 `nvm install 18`)\n- **DeepSeek API Key**(platform.deepseek.com 注册,`sk-` 开头)\n\n## 用法\n\n新开终端 → `cd` 到项目目录 → 跑 `claude`。\n**不要登录 Anthropic 账号**(直接走 DeepSeek)。首次会过一遍 onboarding(选主题/信任目录),按提示走。\n\n## 换模型\n\n```bash\nCLAUDE_MODEL=deepseek-v4-flash bash install.sh # 重跑覆盖配置,换 flash(更便宜)\n```\n\n或直接改 `~/.claude-deepseek-env` 里的 `ANTHROPIC_MODEL`,重开终端。\n**1M 上下文**:模型名后加 `[1m]`,如 `deepseek-v4-pro[1m]`。\n\n## 排错\n\n| 报错 | 原因 | 修法 |\n|---|---|---|\n| `command not found: claude` | npm 全局路径不在 PATH | `npm config get prefix` 看路径,加进 PATH(`export PATH=\"$(npm config get prefix)/bin:$PATH\"`) |\n| 自测 `401` / `unauthorized` | DeepSeek key 错或过期 | 重跑 `bash install.sh` 填新 key |\n| 自测 `000` | 网络不通 / 代理 | 查公司代理是否放行 `api.deepseek.com` |\n| 多轮对话后 `400 thinking mode` | Claude Code + DeepSeek thinking 协议层不兼容([cc-switch#3246](https://github.com/farion1231/cc-switch/issues/3246)) | **v0.2 Mac 实测未触发**(v2.1.206 + max effort 多轮正常);若遇:重开会话,或把 `~/.claude-deepseek-env` 里 `CLAUDE_CODE_EFFORT_LEVEL=max` 改 `low`/删除 |\n| 贴图 / 多模态失败 | DeepSeek `/anthropic` 不支持 image / document | 文本任务用,别贴图([兼容性表](https://api-docs.deepseek.com/guides/anthropic_api/)) |\n| 部分 MCP 工具异常 | `mcp_tool_use` block 不支持(普通 `tool_use` 支持) | 待实测,反馈给 IT |\n\n## 卸载\n\n```bash\n# 删 zshrc 注入区块\nsed -i '' '/# >>> claude-deepseek >>>/,/# <<< claude-deepseek <<</d' ~/.zshrc\nrm -f ~/.claude-deepseek-env\nnpm uninstall -g @anthropic-ai/claude-code # 可选,删 Claude Code 本体\n```\n\n## 安全\n\n- DeepSeek key 只在 `~/.claude-deepseek-env`(权限 600),**不进脚本 / 日志 / 仓库**。\n- `~/.zshrc` 只有一行 source 指向 env 文件,**不含 key 明文**。\n- 仓库本身不含任何 key。\n\n## 文件\n\n- `install.sh` —— 主安装(装 Claude Code + 配 DeepSeek + 自测)\n- `probe.sh` —— 只读环境探测(装机前自检)\n\n## 与 codex-deploy 的区别\n\n| | codex-deploy | claude-code-deploy(本仓库) |\n|---|---|---|\n| 客户端 | Codex(说 Responses) | Claude Code(说 Anthropic Messages) |\n| 翻译层 | **需要 ccx**(Responses↔Chat) | **零翻译层**(DeepSeek 原生 Anthropic 端点) |\n| 依赖 | ccx 二进制 + sha256 + launchd 常驻 | 仅 npm 包 + 环境变量 |\n| 复杂度 | 高(3 关配置坑) | 低(直连) |\n"}, "c200016cbf25126db8723cc7b156f18c56fae7b2": {"t": 1785763839.631275, "n": 2641, "h": "ad365b8a9a65e722", "c": "# claude-code-deploy —— Claude Code + DeepSeek 公司 Mac 一键安装\n\n把 **Claude Code**(Anthropic 官方 CLI)接到 **DeepSeek** 模型,不走 Anthropic 计费。\n\n**原理**:DeepSeek 官方 `/anthropic` 端点原生支持 Anthropic 协议,Claude Code 直连,**不需要任何 proxy / 翻译层**(区别于 [codex-deploy](https://github.com/Beltran12138/codex-deploy) 需要 ccx 翻译 Responses↔Chat)。\n\n## 一行安装(公司 Mac)\n\n终端粘贴回车:\n\n```bash\ngit clone https://github.com/Beltran12138/claude-code-deploy.git && cd claude-code-deploy && bash install.sh\n```\n\n脚本自动:检查 Node → 装 Claude Code → 收 DeepSeek key → 持久化配置 → 自测。\n**唯一手动**:粘贴 DeepSeek key。\n\n> **为什么 `git clone` 不是 `curl | bash`**:公司网络 `raw.githubusercontent.com` 不通,但 `github.com` / `git` / `npm` 正常(实测)。\n\n## 前提\n\n- **Node.js 18+**(`node -v` 查;没有找 IT,或 `nvm install 18`)\n- **DeepSeek API Key**(platform.deepseek.com 注册,`sk-` 开头)\n\n## 用法\n\n新开终端 → `cd` 到项目目录 → 跑 `claude`。\n**不要登录 Anthropic 账号**(直接走 DeepSeek)。首次会过一遍 onboarding(选主题/信任目录),按提示走。\n\n## 换模型\n\n```bash\nCLAUDE_MODEL=deepseek-v4-flash bash install.sh # 重跑覆盖配置,换 flash(更便宜)\n```\n\n或直接改 `~/.claude-deepseek-env` 里的 `ANTHROPIC_MODEL`,重开终端。\n**1M 上下文**:模型名后加 `[1m]`,如 `deepseek-v4-pro[1m]`。\n\n## 排错\n\n| 报错 | 原因 | 修法 |\n|---|---|---|\n| `command not found: claude` | npm 全局路径不在 PATH | `npm config get prefix` 看路径,加进 PATH(`export PATH=\"$(npm config get prefix)/bin:$PATH\"`) |\n| 自测 `401` / `unauthorized` | DeepSeek key 错或过期 | 重跑 `bash install.sh` 填新 key |\n| 自测 `000` | 网络不通 / 代理 | 查公司代理是否放行 `api.deepseek.com` |\n| 多轮对话后 `400 thinking mode` | Claude Code + DeepSeek thinking 协议层不兼容([cc-switch#3246](https://github.com/farion1231/cc-switch/issues/3246)) | **v0.2 Mac 实测未触发**(v2.1.206 + max effort 多轮正常);若遇:重开会话,或把 `~/.claude-deepseek-env` 里 `CLAUDE_CODE_EFFORT_LEVEL=max` 改 `low`/删除 |\n| 贴图 / 多模态失败 | DeepSeek `/anthropic` 不支持 image / document | 文本任务用,别贴图([兼容性表](https://api-docs.deepseek.com/guides/anthropic_api/)) |\n| 部分 MCP 工具异常 | `mcp_tool_use` block 不支持(普通 `tool_use` 支持) | 待实测,反馈给 IT |\n\n## 卸载\n\n```bash\n# 删 zshrc 注入区块\nsed -i '' '/# >>> claude-deepseek >>>/,/# <<< claude-deepseek <<</d' ~/.zshrc\nrm -f ~/.claude-deepseek-env\nnpm uninstall -g @anthropic-ai/claude-code # 可选,删 Claude Code 本体\n```\n\n## 安全\n\n- DeepSeek key 只在 `~/.claude-deepseek-env`(权限 600),**不进脚本 / 日志 / 仓库**。\n- `~/.zshrc` 只有一行 source 指向 env 文件,**不含 key 明文**。\n- 仓库本身不含任何 key。\n\n## 文件\n\n- `install.sh` —— 主安装(装 Claude Code + 配 DeepSeek + 自测)\n- `probe.sh` —— 只读环境探测(装机前自检)\n\n## 与 codex-deploy 的区别\n\n| | codex-deploy | claude-code-deploy(本仓库) |\n|---|---|---|\n| 客户端 | Codex(说 Responses) | Claude Code(说 Anthropic Messages) |\n| 翻译层 | **需要 ccx**(Responses↔Chat) | **零翻译层**(DeepSeek 原生 Anthropic 端点) |\n| 依赖 | ccx 二进制 + sha256 + launchd 常驻 | 仅 npm 包 + 环境变量 |\n| 复杂度 | 高(3 关配置坑) | 低(直连) |\n"}, "eeda68bccafa4f262d6c57a40d65a52668f9f94a": {"t": 1785763842.8744984, "n": 2595, "h": "40b8a7f33b78b8f2", "c": "# claude-code-deploy —— Claude Code + DeepSeek 公司 Mac 一键安装\n\n把 **Claude Code**(Anthropic 官方 CLI)接到 **DeepSeek** 模型,不走 Anthropic 计费。\n\n**原理**:DeepSeek 官方 `/anthropic` 端点原生支持 Anthropic 协议,Claude Code 直连,**不需要任何 proxy / 翻译层**(区别于 [codex-deploy](https://github.com/Beltran12138/codex-deploy) 需要 ccx 翻译 Responses↔Chat)。\n\n## 一行安装(公司 Mac)\n\n终端粘贴回车:\n\n```bash\ngit clone https://github.com/Beltran12138/claude-code-deploy.git && cd claude-code-deploy && bash install.sh\n```\n\n脚本自动:检查 Node → 装 Claude Code → 收 DeepSeek key → 持久化配置 → 自测。\n**唯一手动**:粘贴 DeepSeek key。\n\n> **为什么 `git clone` 不是 `curl | bash`**:公司网络 `raw.githubusercontent.com` 不通,但 `github.com` / `git` / `npm` 正常(实测)。\n\n## 前提\n\n- **Node.js 18+**(`node -v` 查;没有找 IT,或 `nvm install 18`)\n- **DeepSeek API Key**(platform.deepseek.com 注册,`sk-` 开头)\n\n## 用法\n\n新开终端 → `cd` 到项目目录 → 跑 `claude`。\n**不要登录 Anthropic 账号**(直接走 DeepSeek)。首次会过一遍 onboarding(选主题/信任目录),按提示走。\n\n## 换模型\n\n```bash\nCLAUDE_MODEL=deepseek-v4-flash bash install.sh # 重跑覆盖配置,换 flash(更便宜)\n```\n\n或直接改 `~/.claude-deepseek-env` 里的 `ANTHROPIC_MODEL`,重开终端。\n**1M 上下文**:模型名后加 `[1m]`,如 `deepseek-v4-pro[1m]`。\n\n## 排错\n\n| 报错 | 原因 | 修法 |\n|---|---|---|\n| `command not found: claude` | npm 全局路径不在 PATH | `npm config get prefix` 看路径,加进 PATH(`export PATH=\"$(npm config get prefix)/bin:$PATH\"`) |\n| 自测 `401` / `unauthorized` | DeepSeek key 错或过期 | 重跑 `bash install.sh` 填新 key |\n| 自测 `000` | 网络不通 / 代理 | 查公司代理是否放行 `api.deepseek.com` |\n| 多轮对话后 `400 thinking mode` | Claude Code + DeepSeek thinking 已知不兼容([cc-switch#3246](https://github.com/farion1231/cc-switch/issues/3246)) | 重开会话;或改 `~/.claude-deepseek-env` 把 `CLAUDE_CODE_EFFORT_LEVEL=max` 改 `low`/删除后重开终端 |\n| 贴图 / 多模态失败 | DeepSeek `/anthropic` 不支持 image / document | 文本任务用,别贴图([兼容性表](https://api-docs.deepseek.com/guides/anthropic_api/)) |\n| 部分 MCP 工具异常 | `mcp_tool_use` block 不支持(普通 `tool_use` 支持) | 待实测,反馈给 IT |\n\n## 卸载\n\n```bash\n# 删 zshrc 注入区块\nsed -i '' '/# >>> claude-deepseek >>>/,/# <<< claude-deepseek <<</d' ~/.zshrc\nrm -f ~/.claude-deepseek-env\nnpm uninstall -g @anthropic-ai/claude-code # 可选,删 Claude Code 本体\n```\n\n## 安全\n\n- DeepSeek key 只在 `~/.claude-deepseek-env`(权限 600),**不进脚本 / 日志 / 仓库**。\n- `~/.zshrc` 只有一行 source 指向 env 文件,**不含 key 明文**。\n- 仓库本身不含任何 key。\n\n## 文件\n\n- `install.sh` —— 主安装(装 Claude Code + 配 DeepSeek + 自测)\n- `probe.sh` —— 只读环境探测(装机前自检)\n\n## 与 codex-deploy 的区别\n\n| | codex-deploy | claude-code-deploy(本仓库) |\n|---|---|---|\n| 客户端 | Codex(说 Responses) | Claude Code(说 Anthropic Messages) |\n| 翻译层 | **需要 ccx**(Responses↔Chat) | **零翻译层**(DeepSeek 原生 Anthropic 端点) |\n| 依赖 | ccx 二进制 + sha256 + launchd 常驻 | 仅 npm 包 + 环境变量 |\n| 复杂度 | 高(3 关配置坑) | 低(直连) |\n"}}}} |