Claude Code + CC Switch + 魔搭模型:私有化部署模型接入的配置与验证
1. 为什么要在内网把 Claude Code 接到魔搭私有化模型Claude Code 本身是个命令行里的编码 Agent能读你当前目录的文件、跑命令、改代码默认走 Anthropic 官方接口。但很多团队的真实情况是代码不能出内网模型必须跑在自己的机器或公司集群上公网 API 根本用不了。这时候就需要一条「Claude Code → 本地路由 → 私有化模型」的链路而 CC Switch 正好是这条链路里最省事的一环。魔搭ModelScope这边有两种用法一种是直接用它的在线推理接口另一种是把模型权重拉到本地或内网机器上用 vLLM、SGLang 之类的框架起一个 OpenAI 兼容服务。后者就是所谓的私有化部署服务地址通常长这样http://10.0.0.23:8000/v1/chat/completions只在内网可达。问题在于Claude Code 说的是 Anthropic 的/v1/messages协议而你的私有化服务说的是 OpenAI 的/chat/completions协议两边对不上直接填地址必然报错。CC Switch 的价值就在这它在本地起一个小路由把 Claude Code 发出来的 Anthropic 格式请求翻译成 OpenAI 格式再转发给你的私有化服务回来的结果再翻译回去。你不需要改 Claude Code 的源码也不用自己写中间层。这篇就按「装 Claude Code → 装 CC Switch → 配魔搭在线模型 → 配内网私有化模型 → 验证一次对话 → 排错」的顺序走一遍每一步都给可复制的配置片段。适合谁看手上已经有内网模型服务、想让 Claude Code 用起来的开发者或者想先用魔搭在线模型跑通链路、再换成私有化地址的人。前置条件就三个Node.js 18 以上、一个能访问的模型服务地址、以及对应的 API Key私有化场景下很多服务不校验 Key随便填也行但字段不能空。我试过在 Windows 上用 Windows Terminal 操作比默认 PowerShell 顺手中文不会乱码。下面命令在 macOS / Linux 的 bash 里同样适用路径换成~/.claude/即可。2. 装好 Claude Code 与 CC Switch 这两件工具先说 Claude Code 的安装。它是个 npm 全局包一条命令搞定npm install -g anthropic-ai/claude-code装完验证版本claude --version能打印出版本号就说明 CLI 可用了。如果提示claude: command not found多半是 npm 全局 bin 目录没进 PATH用npm config get prefix看一下路径把它加到环境变量里。接着装 CC Switch。它的作用是图形化管理多个 provider 配置省得你手动改settings.json。到 GitHub Releases 页面下载对应平台的安装包Windows 选.msi一路 NextmacOS 选.dmg拖进 Applications。装完打开界面左侧是供应商列表右侧是配置表单。这里有个概念要先理清CC Switch 管的是「Claude Code 该往哪个地址发请求」。它最终会写进C:\Users\你的用户名\.claude\settings.jsonmacOS/Linux 是~/.claude/settings.json。这个文件是 Claude Code 启动时读的里面有个env段指定ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN。CC Switch 帮你把这两个值填好你就不用记路径了。装完先别急着配模型确认一下 Claude Code 能启动。第一次运行claude会要求登录 Anthropic 账号但我们走的是自定义接口不需要登录。跳过登录的办法是在settings.json里加一行{ hasCompletedOnboarding: true }注意这是加在顶层和已有的键值对之间要有逗号。加完再运行claude就不会弹登录了。这一步很关键很多人卡在「一直让我登录」就是因为没加这个字段。还有一点你在哪个目录下运行claude它就把那个目录当工作区能读该目录下所有文件。所以建议cd到你的项目根目录再启动别在用户主目录下跑不然它会去扫一堆无关文件。3. 可复制的 provider 配置魔搭在线与内网私有化这一节是核心分两种场景给配置。先看魔搭在线推理接口适合先跑通链路。在 CC Switch 里点「新增供应商」预设选「自定义配置」然后填字段值供应商名称modelscope-online随便起请求地址https://api-inference.modelscope.cnAPI Key魔搭生成的 Access Token去掉ms-前缀实际请求模型模型库里的 Model ID如Qwen/Qwen2.5-7B-Instruct注意请求地址后面不要加/v1CC Switch 会自己拼。API Key 那个ms-前缀要去掉这是魔搭的约定带着会 401。配完保存CC Switch 会往settings.json写类似这样的内容{ env: { ANTHROPIC_BASE_URL: http://127.0.0.1:xxxx, ANTHROPIC_AUTH_TOKEN: your-token }, hasCompletedOnboarding: true }那个127.0.0.1:xxxx是 CC Switch 本地路由的地址端口它自己分配。也就是说 Claude Code 的请求先到本地路由路由再转发到魔搭。现在说私有化部署。你的内网服务是 OpenAI 兼容格式地址类似http://10.0.0.23:8000接口是/v1/chat/completions。CC Switch 期望的是 Anthropic 格式所以必须开启路由转换。在 CC Switch 里编辑供应商服务端地址填完整的 OpenAI 兼容地址不要以/结尾并打开「完整 URL」开关。高级选项里API 格式选OpenAI Chat Completions需开启路由。实际请求模型按你服务加载的模型名填比如 vLLM 启动时--served-model-name default这里就填default。API Key 如果内网服务不校验随便填个非空字符串。对应的settings.json会长这样{ env: { ANTHROPIC_BASE_URL: http://127.0.0.1:xxxx, ANTHROPIC_AUTH_TOKEN: sk-local-anything }, hasCompletedOnboarding: true }关键点在于ANTHROPIC_BASE_URL指向的永远是 CC Switch 的本地路由不是你的内网服务地址。内网地址是填在 CC Switch 的 provider 表单里的由它去转发。很多人搞混这一点直接把内网地址写进settings.json结果协议不匹配报reading choices之类的错。如果你不用 CC Switch想手动配那settings.json里就得直接写内网地址但那样就没有协议转换除非你的服务本身支持 Anthropic 格式。所以私有化场景下 CC Switch 基本是必需的。4. 发一次对话请求验证链路是否通配置写完验证分两步先确认本地路由活着再确认端到端能出结果。第一步看settings.json是否被正确写入。打开C:\Users\你的用户名\.claude\settings.json确认ANTHROPIC_BASE_URL指向127.0.0.1的某个端口且hasCompletedOnboarding为true。如果这个文件里还是官方地址说明 CC Switch 没保存成功回去检查表单。第二步在项目目录下启动 Claude Codecd /path/to/your/project claude进去之后用/model命令看当前模型。如果你配了多个 provider这里会列出来选你刚配的那个。然后直接输入一句话测试比如「读一下当前目录的 README用一句话总结」。如果链路通它会去读文件并返回总结。想更纯粹地验证接口连通性可以绕过 Claude Code直接用 curl 打你的内网服务确认服务本身没问题curl http://10.0.0.23:8000/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-local-anything \ -d { model: default, messages: [{role: user, content: ping}], max_tokens: 16 }能返回 JSON 且choices[0].message.content有内容说明内网服务正常。这一步排除了服务端问题剩下的错就都在 CC Switch 或 Claude Code 侧。再验证 CC Switch 的本地路由。找到它监听的端口在 CC Switch 界面或settings.json里能看到直接打curl http://127.0.0.1:xxxx/v1/messages \ -H Content-Type: application/json \ -H x-api-key: sk-local-anything \ -H anthropic-version: 2023-06-01 \ -d { model: default, max_tokens: 16, messages: [{role: user, content: ping}] }注意这里用的是 Anthropic 格式/v1/messages、x-api-key、anthropic-version如果 CC Switch 路由正常它会翻译成 OpenAI 格式转发出去返回 Anthropic 格式的响应。这一步通了Claude Code 里基本就没问题。实测下来最容易出问题的是模型名对不上。内网 vLLM 启动时--served-model-name是什么CC Switch 里「实际请求模型」就得填什么差一个字符都会 404。5. 常见报错排查清单401、local proxy failed、reading choices这一节按真实报错来对。遇到问题先看 Claude Code 终端里的报错再对照下面。401 Unauthorized。两种可能一是魔搭在线场景下 API Key 没去掉ms-前缀或者 Token 过期二是私有化场景下内网服务其实校验了 Key而你填的是随便的字符串。排查办法先用第 4 节的 curl 直接打上游服务确认 Key 对不对。如果 curl 通但 Claude Code 报 401那就是 CC Switch 里 Key 字段没填对或者settings.json里的ANTHROPIC_AUTH_TOKEN和 CC Switch 表单不一致。local proxy failed / connection refused。这是 CC Switch 的本地路由没起来或者端口被占。表现是 Claude Code 连127.0.0.1:xxxx直接失败。先确认 CC Switch 进程还在跑没被关掉再看端口有没有被别的程序占用换个端口重启 CC Switch。还有一种情况是settings.json里的端口和 CC Switch 实际监听的不一致手动对齐一下。reading choices / unexpected response shape。这个错通常出现在协议没转换成功的时候。Claude Code 期望 Anthropic 格式的响应结果收到了 OpenAI 格式的原始 JSON解析choices字段就崩了。根因是 CC Switch 里「API 格式」没选OpenAI Chat Completions需开启路由或者「完整 URL」开关没打开。回去把这两个开关确认一遍。另外如果你的内网服务返回的是流式 SSE而 CC Switch 版本较老不支持流式转换也会出这个错升级 CC Switch 到较新版本。OAuth / 一直要求登录。就是第 2 节说的hasCompletedOnboarding没加或者加错了位置。它必须在settings.json顶层不能嵌在env里面。加完保存重开终端再运行claude。模型返回空 / 一直转圈。多半是上游服务超时或模型没加载完。先用 curl 打上游确认能出结果再看 CC Switch 日志界面上一般有日志入口。如果上游是 vLLM确认--max-model-len够大Claude Code 发的 prompt 可能很长超了会被截断或报错。排查顺序建议固定成先 curl 上游 → 再 curl 本地路由 → 最后看 Claude Code。这样能快速定位是服务端、路由层还是客户端的问题别一上来就改settings.json。6. 把链路固定下来长期编码与多模型切换链路跑通之后日常用起来还有几个点值得固化。第一CC Switch 支持多 provider 并存你可以同时配「魔搭在线」和「内网私有化」两个用/model随时切。在线那个用来做轻量问答内网那个用来处理敏感代码互不干扰。切换时 CC Switch 会重写settings.json不用手动改。第二如果你团队里多人共用一套内网模型服务把 CC Switch 的 provider 配置导出成 JSON 发给同事他们导入即可省得每人重填。注意导出文件里可能含 API Key内网场景下 Key 通常不敏感但魔搭在线的 Token 别外传。第三长期跑编码任务的话建议把 Claude Code 的工作目录固定成项目根配合.claude/settings.json做项目级配置。CC Switch 写的是用户级~/.claude/settings.json项目级配置会覆盖它两者别冲突。第四如果你想让 Claude Code 走一个更稳定的中转来管理多个模型出口可以了解下 TaoToken 的 Coding Plan它把模型接入和额度管理放在一起适合需要长期跑 Agent 的场景。接入文档在 https://taotoken.net/api API Key 在 https://taotoken.net/api-keys 管理模型对话入口在 https://taotoken.net/chat 。配置方式和上面 CC Switch 的思路一致Base URL 填 TaoToken 的地址Key 填生成的 TokenModel ID 填你要用的模型名三件套对齐就能通。最后提醒一句私有化部署的模型能力参差不齐7B 级别的模型在 Claude Code 里做复杂重构会比较吃力建议至少上到能稳定输出结构化内容的尺寸。链路本身是通的效果取决于你后端挂的是什么模型。

相关新闻

径向基神经网络RBFNN数据预测:Python源码实现与调参指南

径向基神经网络RBFNN数据预测:Python源码实现与调参指南

简介:一套基于径向基神经网络(RBFNN)的数据预测 Python 实现,面向数据科学初学者以及需要处理非线性回归、时序预测问题的工程师。压缩包共 8 个文件、整体仅 6KB,包含训练脚本、预测脚本、4 个 npy 格式的模型参数文件…

2026/10/12 19:22:00 阅读更多 →
招聘数据分析实战:从爬虫到可视化的完整流程

招聘数据分析实战:从爬虫到可视化的完整流程

简介:面向Python爬虫、数据分析与可视化初学者,以及准备求职大数据岗位的毕业生,这份资源完整实践了从Boss直聘采集北京地区大数据岗位信息、数据清洗聚合、统计分析与可视化展示的全流程。压缩包共111个文件,大小6.58MB&#xff…

2026/10/12 19:22:00 阅读更多 →
LangSmith链路追踪与RAG自动化评估实战:从黑盒调优到工程化迭代

LangSmith链路追踪与RAG自动化评估实战:从黑盒调优到工程化迭代

1. 为什么链路追踪和自动化评估值得放在一起聊做过 RAG 应用的人大概都有过这种体验:本地跑一个问答 Demo,效果看着还行,一旦上线,用户问法千奇百怪,回答质量就开始飘。更麻烦的是,你根本不知道问题出在哪一…

2026/10/12 19:22:00 阅读更多 →

最新新闻

第6章:Spring AI 2.0 ChatClient 门面

第6章:Spring AI 2.0 ChatClient 门面

上章思考题答案 用户原话里的 {orderId} 若放进 SystemPromptTemplate 再渲染,StringTemplate 会把它当成变量。缺这个键时,ValidationMode.THROW 抛 IllegalStateException,正常咨询被拒绝。用户原话应走 UserMessage 或 ChatClient.user&a…

2026/10/14 0:03:43 阅读更多 →
【车载定位】基于扩展卡尔曼滤波 EKF,分别利用 TDOA、AOA 以及 TDOA+AOA 融合观测,搭配近恒速 NCV / 近恒位置 NCP运动模型对车辆轨迹估计附Matlab代码

【车载定位】基于扩展卡尔曼滤波 EKF,分别利用 TDOA、AOA 以及 TDOA+AOA 融合观测,搭配近恒速 NCV / 近恒位置 NCP运动模型对车辆轨迹估计附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &…

2026/10/14 0:03:43 阅读更多 →
人工智能期末复习:用习题集构建考点地图,高效备考不挂科

人工智能期末复习:用习题集构建考点地图,高效备考不挂科

简介:这份资源汇集人工智能课程各章小结与经典习题解答,适合正在系统学习人工智能基础、准备期末考试的本科生或自学者使用。内容覆盖人工智能的概念与发展阶段、研究学派与研究领域、知识与知识表示(谓词逻辑、产生式规则、框架、语义网络&a…

2026/10/14 0:03:43 阅读更多 →
wandb-core 中的 Wire 依赖注入:从贡献指南到 go:generate 自动装配实战

wandb-core 中的 Wire 依赖注入:从贡献指南到 go:generate 自动装配实战

机器学习深度学习数据可视化可观测性 【免费下载链接】wandb The AI developer platform. Use Weights & Biases to train and fine-tune models, and manage models from experimentation to production. 项目地址: https://gitcode.com/gh_mirrors/wa/wandb 点…

2026/10/14 0:03:43 阅读更多 →
微博评论文本情感分析:从数据清洗到三模型对比的完整实践

微博评论文本情感分析:从数据清洗到三模型对比的完整实践

简介:面向毕业设计场景,资源围绕微博评论文本情感分析,完整覆盖支持向量机、朴素贝叶斯与AdaBoost三种机器学习算法的建模流程,适合计算机相关专业本科生用于课程设计或毕业设计参考。压缩包共70个文件,约6.05MB&#…

2026/10/14 0:03:43 阅读更多 →
小型超市仓库管理系统

小型超市仓库管理系统

小型超市仓库管理系统选题背景与意义 随着我国城镇化进程的不断推进以及居民消费水平的持续提升,小型超市作为连接城市社区与消费者的重要商业节点,在日常生活中的作用日益凸显。尤其是在一二线城市周边的居民区、城乡结合部及中小城镇,小型超…

2026/10/14 0:02:42 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →