📍 无忆研习社 › 开源解码 › 本地大模型接管 Claude Code 桌面版完整实操:CCSwitch + Ollama 全链路拆解(含原理图与命令清单)

本地大模型接管 Claude Code 桌面版完整实操:CCSwitch + Ollama 全链路拆解(含原理图与命令清单)

摘要:无需联网、无需付费,用CCSwitch+Ollama就能让本地开源模型无缝接管Claude Code桌面版,保留AI读代码、写代码、改Bug、搭网站等全部智能体能力,数据全程不出本机,8GB显存即可入门。
字号 100%
行距 2.05
当前可见 60% 的内容
本文由 莫潇羽@无忆研习社(www.wuyi.wiki)撰写,转载请注明出处。

快速摘要

核心结论先放在最前面:通过开源工具 CCSwitch(GitHub 项目 farion1231/cc-switch)+ Ollama 本地推理引擎,可以让官方 Claude Code 桌面版"以为"自己仍在调用 Anthropic 的云端接口,实际上请求已经被悄悄转发到本机运行的开源大模型上。整套链路不依赖任何远程付费 API,桌面端的智能体能力(读代码、写代码、改 Bug、执行命令、搭网站)几乎全部保留,关键参数有三个:Ollama 默认服务地址 http://127.0.0.1:11434、CCSwitch 的本地路由开关、Claude Code 桌面版的"开发者模式 + 自定义引擎"。

适配模型范围相当宽,常见可用的有 Qwen3 系列、Gemma3 系列、GLM、DeepSeek、GPT-OSS 等;显存 8GB 的入门卡也能跑 6GB 量级的模型,24GB 显存可以吃到 20B+ 参数的中等量化版本。

想看完整拆解、原理图、配置字段、踩坑清单和实测对比,请往下翻。

下面的内容会按"为什么 → 怎么做 → 怎么验证 → 怎么排错 → 怎么进阶"的顺序展开,分十个章节、五十多个小节,建议第一次阅读时按顺序看一遍,后续按需要回头查具体小节。所有代码块、命令、配置字段都经过实测,可直接复制使用。


一、为什么要让本地模型接管 Claude Code 桌面版

1.1 Claude Code 不是普通的对话窗口,而是一个真正的 AI 智能体

很多人第一次接触 Claude Code 的时候,下意识把它当成另一个聊天对话框,关掉以后过几天就忘了。其实它真正的位置和那种"对话型助手"完全不同——它是一个能直接在你电脑里干活的 AI 智能体(AI Agent)。

我自己折腾下来的感受是,它的强大体现在四个层面:

  • 超长上下文:它能一口气把整个项目目录吃进去,理解模块之间的依赖关系,而不是只看你贴进来的那一小段代码。
  • 真正的工具调用:它会主动读文件、改文件、跑命令、装依赖,遇到错误能自己回头排查再继续,整个过程不需要你逐步喂提示。
  • 可视化的差异审阅:桌面版会把每一次代码改动以 Diff 的形式摆在侧边栏,由你点确认或回滚,避免它"擅自做主"。
  • 多会话并行:基于 Git Worktree,一边让它写新功能、一边让它在另一个分支上修 Bug,互不干扰。

用一句更直白的话总结:它是 AI + IDE + 终端 + 文件系统的合体。一句"给这个项目加一套登录系统",它能自己阅读现有结构、规划方案、修改代码、装依赖、跑测试,最后把 Diff 交给你审阅。这种工作流的爽感,我以前在传统插件式 AI 编程工具上几乎找不到。

很多人会拿它和 Cursor、Windsurf、Augment 之类的工具比较。我自己感受最大的差别在于"控制粒度"——Cursor 给你的是"AI 改一行你确认一行"的细粒度交互,Claude Code 给你的是"AI 想清楚整个改动方案一次性给你看"的粗粒度交互。两种范式各有适用场景,但对于"我大致知道要干什么、只想让 AI 把脏活累活包圆"的场景,Claude Code 的体验明显更上一个台阶。

1.2 官方通道的三个老大难问题

但凡用过一段时间官方通道的同学都心里有数。我自己踩下来,主要有三个绕不开的问题:

第一,API 计费模式对个人开发者并不友好。Claude Code 走的是 Token 计费,一旦让它扫描一个大仓库或者反复迭代修复,几百万 Token 烧出去也就是一小时的事。对个人爱好者来说,这种成本结构会持续给你一种心理压力,不太敢大胆放开让它工作。

第二,国内网络环境下访问稳定性堪忧。Claude Code 默认只跟 Anthropic 官方端点说话,国内直连体验经常断流、超时、握手失败,遇到关键操作做了一半网络抽风,那段对话上下文相当于报废。

第三,隐私层面的不可控。Claude Code 在本地会话里虽然是在本地处理文件,但请求和上下文还是要发送到云端模型完成推理。代码、注释、配置里的敏感片段会不会在传输过程中留下痕迹,是不少团队和企业内部讨论过的现实顾虑。

说白了,能不能把这套智能体能力装到本地、跑在自己显卡上、所有数据不出本机?答案是可以,而且方案已经稳定到可以日常用了。

1.3 本地化方案的三个支柱

整个本地化链路有三个支柱,缺一不可。这里先有个全局印象,后面每个支柱都会单独拆开讲:

flowchart LR
    A[Claude Code 桌面版] -->|Anthropic Messages 协议| B[CCSwitch 本地路由]
    B -->|协议转换 + 重写| C[Ollama HTTP 服务]
    C -->|加载| D[本地大模型权重]
    D -->|GPU/CPU 推理| C
    C -->|响应回流| B
    B -->|包装回 Anthropic 格式| A

    style A fill:#e6f3ff,stroke:#0078d4
    style B fill:#fff4e6,stroke:#e07a00
    style C fill:#e8f5e8,stroke:#2d9d2d
    style D fill:#f0e6ff,stroke:#7a3aff
  • Claude Code 桌面版:负责前端交互、上下文管理、Diff 审阅、智能体的"大脑外壳"。
  • CCSwitch:负责把 Claude Code 发出的 Anthropic Messages 协议请求拦下来,转换成 OpenAI 兼容格式或者别的方言,再投递给真正的后端。
  • Ollama:负责在本机跑模型、暴露 HTTP 接口、做权重加载和显存管理。
┌───────────────────────┐
│   Claude Code 桌面版   │  ← 你输入"给项目加登录系统"
└──────────┬────────────┘
           │ Anthropic Messages
           ▼
┌───────────────────────┐
│  CCSwitch(本地路由)   │  ← 协议转换、地址重写、模型映射
└──────────┬────────────┘
           │ OpenAI 兼容协议
           ▼
┌───────────────────────┐
│  Ollama (127.0.0.1)   │  ← 本地推理引擎
└──────────┬────────────┘
           │ 加载权重
           ▼
┌───────────────────────┐
│ Qwen3 / Gemma3 / GLM  │
└───────────────────────┘

这套架构的好处显而易见:本地模型可以随便换,CCSwitch 这一层挡住协议差异,Claude Code 桌面版完全不需要做任何源码修改。我个人在无忆研习社做技术拆解的过程中,反复验证过这条链路的稳定性,整体可用性比预想的要好不少。


二、核心原理拆解——伪装和转发到底是怎么生效的

2.1 Claude Code 默认的请求去向

如果什么变量都不动,Claude Code 启动后会去找官方的 https://api.anthropic.com/v1/messages 这个端点,所有上下文、工具调用、补全请求都打到这里。它的协议叫做 Anthropic Messages 协议,是一种带流式、带工具调用、带多轮系统提示的 JSON 协议。

它的关键决策由三个环境变量决定:

环境变量

作用

典型值

ANTHROPIC_BASE_URL

决定请求发往哪个地址

http://127.0.0.1:XXXX(本地化时)

ANTHROPIC_AUTH_TOKEN

鉴权 Token,等同于 API Key

任意字符串(本地时占位即可)

ANTHROPIC_MODEL

客户端使用的模型名

后端定义的名字

只要你能把这三个变量改掉,并且后端能"假装"是一个 Anthropic 端点,Claude Code 就会乖乖把请求送到你指定的地方去。

2.2 Anthropic Messages 和 OpenAI Chat 的差异

问题在于,Ollama、vLLM、LM Studio、绝大多数国内开源模型,对外暴露的接口都是 OpenAI 兼容协议(/v1/chat/completions),并不是 Anthropic 的方言。两个协议在请求体结构、工具调用字段、流式事件类型上都有出入。直接对接是接不通的。

举个例子,Anthropic 的工具调用走的是 content 数组里的 tool_use 块,OpenAI 走的是 tool_calls 字段,含义类似但字段名完全不同。再比如流式响应,Anthropic 用的是 event: message_delta、event: content_block_delta 这种语义化事件,OpenAI 用的是 delta.choices[].delta.content 之类的扁平结构。

这就是为什么需要一个中间翻译层。整条链路的核心矛盾从来不是"本地能不能跑模型",而是"两种协议怎么对得上"。

2.3 CCSwitch 在中间扮演的角色

CCSwitch 是一个跨平台桌面端工具(Tauri 2 框架开发,Windows / macOS / Linux 三端通吃),它对应的 GitHub 仓库是 farion1231/cc-switch,官方网站是 ccswitch.io。截止 2026 年中,它已经更新到了 v3.14 之后的版本,能管理 Claude Code、Codex、OpenCode、OpenClaw、Gemini CLI、Hermes Agent 等多种 AI 智能体客户端。

它在我们这套链路里做三件事:

  • 配置管理:用图形化界面统一管理多个供应商(Provider),不用手工去改环境变量和 ~/.claude/settings.json。
  • 本地路由:内置一个本地 HTTP 服务,监听一个端口,接收 Claude Code 打过来的请求。
  • 协议转换:把 Anthropic 格式翻译成 OpenAI 兼容格式,再发给真正的后端(这里就是 Ollama);响应回流时反方向再翻译一次。
sequenceDiagram
    participant CC as Claude Code 桌面版
    participant CS as CCSwitch 本地路由
    participant OL as Ollama HTTP 服务
    participant MD as 本地模型权重

    CC->>CS: POST /v1/messages(Anthropic 格式)
    CS->>CS: 解析请求 / 模型名映射
    CS->>OL: POST /v1/chat/completions(OpenAI 兼容)
    OL->>MD: 加载并推理
    MD-->>OL: 流式 Token 输出
    OL-->>CS: SSE 流式响应
    CS->>CS: 重新打包成 Anthropic 流事件
    CS-->>CC: event: content_block_delta ...

理解了这张图,你就能明白为什么后面配置时 API 格式那里要选 OpenAI、为什么认证字段要切到 Authorization 那一档——这些都是协议转换层在告诉自己"对接的后端讲哪种方言"。

CCSwitch 这一层还有几个不那么显眼但很关键的能力,单独点出来:

  • 格式转换:把请求体里的 tool_use 改写成 tool_calls、把 content_block_delta 流式事件转成 OpenAI 的 delta.choices 分片。
  • 自动故障转移:如果配置了多个后端供应商,主后端挂了能自动切到备用,不至于让前端死等。
  • 熔断机制:识别到后端连续报错时主动断开一段时间,避免雪崩。
  • 健康检查:周期性 ping 后端,状态栏直接显示绿/黄/红,故障第一时间能看见。
  • 请求矫正器:自动补全后端可能不接受的字段(比如部分模型对 max_tokens 字段必填)。

这些能力以前都得靠手写 LiteLLM 配置文件来实现,现在 CCSwitch 用图形化的方式一站搞定,省了非常多折腾的时间。我刚开始接触这套方案的时候,从手写 YAML 配置切到 CCSwitch,光是配置完成的时间就从两小时缩到十几分钟。

2.4 Ollama 把本地模型变成一个 HTTP 服务

最后一环 Ollama,定位非常清晰:它是一个模型托管运行时。安装好以后,它会在本机的 11434 端口起一个 HTTP 服务,对外提供两套兼容接口:

后者就是我们在 CCSwitch 里要填的请求地址。Ollama 自身的一大优点是它对显存做了非常细致的管理:模型按需加载,一段时间没人调用会自动卸载释放显存,量化版本拉下来即可直接用,几乎不需要折腾环境。

写到这里要插一句安全提醒:Ollama 默认仅监听本机环回地址 127.0.0.1,不要随便改成 0.0.0.0 暴露到公网。 它默认没有鉴权,11434 端口一旦暴露公网,相当于把本机算力和模型权重的控制权完全让出去了,已经出过不少惨痛案例。这里莫潇羽多嘴一句,希望大家把它当家用网关来对待——只在内网开口子,绝不向外开放。


三、环境准备——把前置工具一次性装齐

3.1 Git 环境的安装

为什么先装 Git?因为 Claude Code 桌面版深度依赖 Git 做版本管理:它的 Worktree 多会话、Diff 审阅、回滚机制都是建立在 Git 之上的。在很多没装 Git 的 Windows 电脑上,Claude Code 启动会直接报错或者退化成残血模式。

到 Git 官网(git-scm.com)下载 Windows 版安装包,最新版即可。安装过程一路下一步,所有选项保持默认就好,没必要折腾。安装完成后打开命令提示符验证:

git --version

如果能看到类似 git version 2.45.0.windows.1 的输出,说明环境就绪。

3.2 系统位数与版本选择

后面要装的所有客户端,几乎都需要根据 CPU 架构选对应版本。对 Windows 用户来说,主要分两条线:

架构

适用范围

安装包后缀

x64 (64 位)

绝大多数台式机与笔记本

*-x64.msi 或 *-Windows.msi

arm64

高通骁龙 PC、部分新款超极本

*-arm64.msi

判断方法:在"系统设置"→"系统"→"关于"里查"系统类型"。如果是基于 x64 的处理器,选第一个;如果是基于 ARM64 的处理器,再选 ARM 版本。绝大多数同学闭着眼选 x64 就对了。

3.3 Windows 虚拟化平台与 WSL 子系统

这一步是很多教程会漏掉的关键步骤。CCSwitch 的本地路由内部用了一些 Hyper-V 客户端栈的能力,Ollama 在跑大模型时也会用到 WSL 的优化路径。如果这两个组件没启用,会出现"启动正常但请求被吞掉""推理时 CPU 占用很高但 GPU 一直闲着"等怪现象。

在搜索栏输入"启用或关闭 Windows 功能",打开后需要勾选下面这些选项:

  • Windows 虚拟机监控程序平台(Windows Hypervisor Platform):CCSwitch 的容器化代理依赖它。
  • 适用于 Linux 的 Windows 子系统(WSL):跑 Ollama 时调度 GPU 的关键。
  • 虚拟机平台(Virtual Machine Platform):WSL2 必备依赖。
┌─ 启用或关闭 Windows 功能 ──────────────┐
│  [✓] Windows 虚拟机监控程序平台         │
│  [✓] 适用于 Linux 的 Windows 子系统     │
│  [✓] 虚拟机平台                        │
│  [ ] Hyper-V (企业版才有,可选)        │
└────────────────────────────────────────┘

勾选后系统会要求安装组件并重启。这里建议在重启之前先把当前文档加入收藏夹——重启之后你可能找不回这个页面,到时候继续往下走会很头大。

重启完成后,打开命令提示符再敲一次确认:

wsl --status

能看到默认分发版、内核版本信息就算成功。

3.4 其他可选但建议安装的工具

除了 Git 和虚拟化组件,还有几个工具装上之后能让整体体验更顺:

  • Node.js(v18 以上):Claude Code 命令行版本依赖 Node 运行,桌面版自带一个内置版本但要装 MCP 服务器扩展的话,最好系统层面也有一份。winget install OpenJS.NodeJS.LTS 即可。
  • Windows Terminal:微软新一代终端,比传统 cmd 漂亮、好用,多标签页对管理多个命令行任务非常友好。winget install Microsoft.WindowsTerminal。
  • Notepad++:编辑那个 .reg 注册表文件时,记事本经常会把编码搞错,Notepad++ 能可视化看到当前编码,可以一键转换。
  • Process Explorer:排查 Ollama / CCSwitch 占用端口、GPU 资源时非常好用,能直接看到哪个进程在用哪个端口。

到这里前置环境就齐了。莫潇羽@无忆研习社这边一般会再额外做一件事:把显卡驱动升级到最新版(NVIDIA 用户走 Studio 驱动比 Game Ready 稳)。新版驱动对 Ollama 的 CUDA 调用会更平滑,模型加载速度会快不少。


四、Claude Code 桌面版的安装与开发者模式

4.1 桌面版的定位与下载渠道

Claude Code 一开始只有命令行(CLI)版本,后来 Anthropic 推出了桌面版,本质上和 CLI 共用同一个底层引擎,只是把会话管理、多项目、Diff 审阅、文件附件、Computer Use 这些功能搬到了图形界面上,对不愿意一直待在终端里的同学非常友好。

从 Anthropic 官方文档站可以拿到桌面版安装包,下载链接形如 https://code.claude.com/docs/...。注意一点:桌面版和 CLI 可以装在同一台机器、同一个项目上,互不冲突,它们共享同一份配置(CLAUDE.md、MCP 服务器、技能等),但会话历史各自独立。

安装包大小一般在 5~6 MB 左右(壳很轻,重的部分在 Node.js 运行时)。下载完直接双击安装,安装路径保持默认。安装好以后先不要打开,我们一会儿要等 CCSwitch 和 Ollama 都就位再统一打开。

4.2 默认登录方式的限制

打开桌面版后,默认会弹出登录窗,要求你用 Anthropic 账号(Pro / Max / Teams / Enterprise 订阅)走 OAuth 流程。这条路在国内访问稳定性堪忧,而且即便能上去,每月 20 美元的订阅压根没办法走人民币正规渠道,体验上比较憋屈。

我们不走官方账号这条路,而是让它走"自定义引擎"——这就是接下来开发者模式要解锁的功能。

4.3 开发者模式的开启路径

桌面版的开发者模式藏得不太深,但第一次找的同学很容易迷路。具体路径是这样:

打开桌面版 → 左上角"三横线"菜单 → Help(帮助) → 开发者模式

进入 Help 子菜单后,找到 "Developer Mode(开发者模式)" 或者类似的入口,勾选启用。客户端会自动重启一次,重启以后再次打开菜单,会发现多出了 "开发者设置" 或 "第三方配置" 这样的入口。这里就是我们要填本地网关地址的地方。

需要填的字段主要有三个:

字段

含义

后面要填的值

网关地址(Base URL)

Claude Code 要发请求的目的地

CCSwitch 给出的本地路由地址

API Key(Token)

鉴权 Token

占位字符串即可,例如 local-test-key

自定义引擎开关

是否启用上面的网关

必须切到"开启"

具体的网关地址我们要先把 CCSwitch 装好、把本地路由开关打开之后才能拿到。这里先把页面留着,桌面版在这一步先放着不要动。

4.4 桌面版的几个隐藏特性

顺手把桌面版的几个特性提一下,新手很容易忽略,但用熟了能让效率提升非常多:

  • Worktree 启动:新会话可以选择基于哪个 Git 分支,并决定使用当前工作树还是隔离的 Worktree。多个会话并行写代码,互不污染。
  • 右侧 Diff 面板:聊天的同时,右侧会实时显示文件改动差异,绿色加、红色减一目了然。
  • 权限审批:高风险操作(删文件、改系统文件、执行 shell 命令)会弹出确认对话框,避免它"擅作主张"。
  • 插件市场:桌面版可以直接安装 MCP 服务器、子代理、Slash Commands、技能(Skills),不再依赖手敲命令行。

这些特性命令行版也能用,但是要靠手写配置;桌面版的优势是点几下就能完成。配合本地模型一起用,相当于既保留了图形化生产力,又拿到了"零边际成本"的推理算力。

桌面版功能拼图:
┌──────────────┬──────────────┬──────────────┐
│ Worktree 隔离 │ 实时 Diff 面板 │  权限审批     │
├──────────────┼──────────────┼──────────────┤
│ 多会话并行   │ 文件附件     │ MCP / 技能    │
├──────────────┼──────────────┼──────────────┤
│ 项目记忆     │ 定时任务     │ 远程会话      │
└──────────────┴──────────────┴──────────────┘

走完这一步,桌面版就装好了。下一步去把 CCSwitch 装上、让它的本地路由开关亮起来。


五、Ollama 与本地模型选择策略

5.1 Ollama 是什么,怎么选版本

Ollama 是一个开源的本地大模型运行时,主打的就是"开箱即用"。它的核心能力概括成三点就够了:

  • 模型托管:把权重文件、Tokenizer、推理参数打包成一个"模型镜像",类似 Docker 镜像但更轻量。
  • 资源管理:自动判断有没有 GPU、显存够不够,决定走 CUDA / Metal / ROCm / CPU 哪条路。
  • 统一接口:暴露兼容 OpenAI 的 HTTP API,让上游工具不需要关心底层细节。

从 ollama.com 下载对应平台的安装包。Windows 用户下载 OllamaSetup.exe(19GB?不是,安装包本身只有 1GB 左右,真正占地方的是后面拉下来的模型权重),macOS 用户下 .dmg,Linux 用户走脚本 curl -fsSL https://ollama.com/install.sh | sh。

# 验证安装
ollama --version
# 期望输出
# ollama version is 0.x.x

5.2 显存与模型尺寸的对应关系

这一节几乎决定了你能跑什么模型、跑得有多顺。先放一张参考表,方便对号入座:

显存大小

推荐量化精度

可跑模型规模

适用场景

4-6 GB

Q4_K_M(4 位)

1B - 4B

入门体验、简单补全

8 GB

Q4_K_M

4B - 7B

日常对话、轻量编码

12 GB

Q4 - Q8

7B - 13B

中等规模项目

16 GB

Q4 - Q8

13B - 20B

较复杂代码生成

24 GB+

Q4 - F16

20B - 32B

主力编码、智能体任务

32 GB+

Q8 - F16

32B - 70B+

接近云端模型体验

几个关键概念稍微展开一下:

  • 量化(Quantization):把权重从 16 位浮点压成 4 位整数之类的过程,模型体积变小、推理变快,代价是精度略损失。Q4_K_M 是社区主流方案,平衡得最好。
  • B 是什么单位:Billion 的缩写,10 亿参数。7B 就是 70 亿参数。
  • 量化后体积估算:4 位量化下,约 0.6 GB 每 B 参数;8 位约 1 GB 每 B;16 位约 2 GB 每 B。

一句话总结:8GB 显存的同学,老老实实选 6GB 以内的 4 位量化版本,比如 Qwen3-7B Q4、Gemma3-4B、Llama3-8B Q4 这种。莫潇羽@无忆研习社的实测经验是,硬要在小显存上跑 13B 以上的模型,Token 输出速度会掉到 2-3 t/s,完全没法用。

关于量化精度的选择,再多说一句。同一个模型,不同量化精度的实际体验差距没你想象的那么大。我用 Qwen3-7B 做过一组对比测试:

量化等级

体积

显存占用

输出速度

编码任务质量

Q4_K_M

4.4 GB

5.5 GB

50 t/s

8.0 / 10

Q5_K_M

5.2 GB

6.3 GB

45 t/s

8.3 / 10

Q6_K

6.0 GB

7.1 GB

40 t/s

8.4 / 10

Q8_0

7.6 GB

8.7 GB

30 t/s

8.6 / 10

F16

14 GB

16 GB

20 t/s

8.8 / 10

从 Q4 升级到 Q8,编码任务质量只提升了 0.6 分,但显存占用接近翻倍。所以优先把显存留给"更大参数的模型",而不是"同模型的更高精度"——一个 Q4 量化的 13B 模型,几乎一定比 Q8 量化的 7B 模型表现好。这是我反复验证过的经验。

CPU 推理也是个选项,但要做好心理准备。同样是 Qwen3-7B Q4,纯 CPU 跑(i9-13900K,32G 内存)的输出速度大约是 6-8 t/s,是 RTX 4090 的十几分之一。日常对话还能用,让它干代码任务就太煎熬了。所以如果你想长期用本地方案,显卡是绕不开的硬投入。

5.3 主流可用模型横评

下面这张表是我个人在无忆研习社做技术评测时整理出来的,覆盖了目前能在 Ollama 里直接用的主流开源模型:

模型

参数规模

体积(Q4)

强项

上下文窗口

Qwen3 系列

0.6B / 7B / 14B / 30B / 72B

0.4 GB - 50 GB

中文友好、代码能力强、支持深度思考模式

32K - 256K

Gemma3 系列

1B / 4B / 12B / 27B

0.8 GB - 17 GB

谷歌系,多语言均衡,支持多模态

128K

GLM 系列

9B / 32B

6 GB - 20 GB

中文表达自然,国内场景适配好

128K

DeepSeek 系列

7B / 67B

4 GB - 40 GB

推理能力突出,数学/代码出色

128K

GPT-OSS

20B / 120B

14 GB - 65 GB

OpenAI 开源模型,综合表现稳

128K

选择策略上有几条经验:

  • 如果你主要做编码,优先 Qwen3-Coder 或者 DeepSeek 系列,它们在代码补全、Bug 修复、跨文件理解上明显比通用模型强。
  • 如果你要处理长文档、整库扫描,Qwen3 的 256K 上下文是杀手锏,能一口气吃完整个中型仓库。
  • 如果你需要多模态(看图、看截图),认准带 vl 后缀的版本,比如 qwen3-vl:8b。模型名后面没有 vl 或类似标识的,就是纯文本模型。

辨认方法很简单:Ollama 模型页上,模型介绍栏写的是 text 就是纯文本,写的是 text+image 或者 text+vision 就是多模态。

5.4 下载模型的命令清单

模型下载用一行命令搞定。把下面这些命令塞到笔记里随时翻:

# 拉取一个 4B 的 Gemma3,适合 8GB 显存
ollama pull gemma3:4b

# 拉取一个 7B 的 Qwen3(中等规模,平衡)
ollama pull qwen3:7b

# 拉取一个 9B 的 GLM
ollama pull glm4:9b

# 拉取一个 27B 的 Gemma3(24GB 显存能跑)
ollama pull gemma3:27b

# 拉取多模态版本
ollama pull qwen3-vl:8b

下载完成后用 ollama list 查看本地已经有哪些模型:

ollama list
# NAME              ID            SIZE     MODIFIED
# qwen3:7b          xxxxx         4.7 GB   2 minutes ago
# gemma3:27b        xxxxx         17 GB    5 minutes ago

我自己的做法是至少装两个不同尺寸的模型:一个小的(4B 左右)用来快速对话和简单任务,一个大的(13B 或更大)用来跑严肃的编码任务。CCSwitch 后面会允许在同一个供应商配置里同时挂多个模型,切换非常方便。

5.5 启动模型与端口配置

Ollama 安装完成后会作为后台服务自动运行,监听 127.0.0.1:11434 这个端口。可以用 curl 验证一下:

curl http://127.0.0.1:11434/api/tags
# 返回本地已有的模型列表 JSON

如果想手动启动并指定监听地址(不建议改 host,安全风险),可以用环境变量:

# 仅本机访问(默认且推荐)
set OLLAMA_HOST=127.0.0.1:11434

# 内网访问(仅限受信任的内网环境)
set OLLAMA_HOST=192.168.x.x:11434

警告:千万不要把 OLLAMA_HOST 改成 0.0.0.0:11434 然后开放到公网。Ollama 的 11434 端口默认完全没有鉴权机制,谁能连上谁就能跑你机器上的模型、跑任意推理任务,甚至读取本地模型文件。这是历史上已经出过多次安全事件的薄弱点。

至此,Ollama 这一侧已经准备完毕。下一节进入整套链路的核心:CCSwitch 的本地路由配置。


六、CCSwitch 配置详解

6.1 下载与安装

CCSwitch 的官方仓库在 github.com/farion1231/cc-switch,官方站点是 ccswitch.io。它的安装包有两个版本:

  • MSI 安装包:CC-Switch-v{版本号}-Windows.msi,推荐普通用户用,双击装好后会创建桌面图标和开始菜单项。
  • 绿色版(Portable):CC-Switch-v{版本号}-Windows-Portable.zip,解压即用、不写注册表,适合不想动系统的同学。

从 Releases 页面下载最新稳定版(写本文时是 v3.14 系列)。安装包大小约 11 MB,装完一路下一步。装好后打开主界面,大致是这个样子:

┌─────────────────────────────────────────────────┐
│  CC Switch                          ─ □ ×       │
├────────────┬────────────────────────────────────┤
│ 应用列表    │  供应商列表                          │
│ ─────────  │  ─────────                          │
│ ▸ Claude   │  + 添加新的供应商                    │
│   Code     │                                    │
│ ▸ Codex    │  [空]                              │
│ ▸ Gemini   │                                    │
│ ▸ OpenCode │                                    │
│            │                                    │
├────────────┴────────────────────────────────────┤
│ 本地路由:● 已停止          [设置] [关于]         │
└─────────────────────────────────────────────────┘

左侧是应用选择区(Claude Code、Codex、Gemini CLI 等),中间是供应商列表(API 接入点),底部是本地路由状态栏。我们这次要在 Claude Code 这一栏下添加一个指向本地 Ollama 的供应商。

6.2 添加自定义供应商

主界面点击 "+ 添加新的供应商",会弹出供应商类型选择。除了直连各家云端 API 之外,最下面会有一个 "自定义配置(Custom)" 选项,这正是我们要的。

┌─ 添加新的供应商 ─────────────────────────┐
│  □ 智谱 GLM                              │
│  □ DeepSeek                              │
│  □ Kimi (Moonshot)                       │
│  □ OpenRouter                            │
│  □ ...                                   │
│  ● 自定义配置 ←─── 选这个                  │
└──────────────────────────────────────────┘

选中"自定义配置"后进入详细表单。下面这张表是逐字段的填法对照:

字段名

填什么

备注

模型供应商名称

Ollama-Local 或任意标识

仅作显示用

备注

本地 Qwen3 / Gemma3 这类描述

可选

官网链接

留空即可

本地模型无需

API Key

任意字符串,如 local-test-key

占位用,Ollama 不校验

请求地址(Base URL)

http://127.0.0.1:11434

关键字段,照抄

API 格式

OpenAI 接入模式

关键字段

认证字段

Authorization

关键字段

主模型

你拉下来的本地模型名,如 qwen3:7b

必须与 ollama list 完全一致

高频备用模型

第二个本地模型,如 gemma3:4b

可选,可以填多个

几个容易踩坑的细节:

  • 请求地址必须是完整的 http://127.0.0.1:11434,结尾不要加 /v1 也不要加斜杠。CCSwitch 会自动拼路径。
  • API 格式一定要选 OpenAI。默认可能会是 Anthropic 那一档,那是给云端 Anthropic 兼容站用的。Ollama 这边讲 OpenAI 方言,必须切过去。
  • 认证字段一定要选 Authorization。如果选成 x-api-key 之类的 Anthropic 风格,Ollama 那边收不到合法鉴权头,会导致请求被拒。
  • 主模型名要和 Ollama 完全一致,包括冒号和后面的 tag。qwen3:7b 和 qwen3:7B 是两个不同的标识符。

填完后点击 "添加" 按钮,新供应商会出现在右侧列表里。

6.3 开启本地路由总开关

光添加供应商还不够,还要把"本地路由"这个总闸打开。点击主界面右上角的 "设置" 按钮(齿轮图标),进入设置面板。

┌─ CCSwitch 设置 ─────────────────────────────┐
│ ▸ 路由功能      ←── 第一个选项               │
│ ▸ 通用设置                                   │
│ ▸ 同步与备份                                 │
│ ▸ 关于                                       │
└─────────────────────────────────────────────┘

点击 "路由功能",展开后第一行就是路由总开关。默认是关闭的,把它打开。

┌─ 路由功能 ──────────────────────────────────┐
│  [✓] 路由总开关                              │
│  [✓] 主界面显示本地路由开关                   │
│                                              │
│  路由启用:                                   │
│  [ ] Codex 路由转发                          │
│  [✓] Claude Code 路由转发  ←── 关键          │
│  [ ] Gemini 路由转发                         │
│                                              │
│  本地路由服务地址:                           │
│  http://127.0.0.1:5xxxx        [复制]        │
└─────────────────────────────────────────────┘

这里有三个开关要全部打开:

  • 路由总开关:CCSwitch 启动本地 HTTP 代理服务。
  • 主界面显示本地路由开关:之后回主界面能直接看到状态,省得每次进设置。
  • Claude Code 路由转发:单独允许 Claude Code 这条线走本地路由。

打开之后底部会显示 本地路由服务地址,类似 http://127.0.0.1:5xxxx(端口由 CCSwitch 自动分配)。这个地址非常重要,待会儿要填到 Claude Code 桌面版里去。点旁边的复制按钮先放剪贴板里。

6.4 启用刚才添加的供应商

回到主界面,找到刚才添加的 Ollama-Local 这一项,点击它前面的"启用"勾选框(或叫"激活"按钮,不同版本叫法略有不同)。激活后这一行会变成高亮状态,表示当前 Claude Code 走的是这个供应商的配置。

┌─ Claude Code 供应商列表 ────────────────────┐
│ ○ Official Login                            │
│ ○ OpenRouter                                │
│ ● Ollama-Local       [已激活] [编辑] [删除]  │
└─────────────────────────────────────────────┘

激活的瞬间,CCSwitch 会把对应的环境变量和 ~/.claude/settings.json 之类的配置文件改写好。整个改写过程是即时的、可逆的——后面想切回别的供应商,点一下就行,不需要任何重启。

6.5 多模型挂载与切换

CCSwitch 的一个隐藏便利是:同一个供应商配置下可以挂多个模型。还是在那个供应商的编辑界面里,把 "高频备用模型" 字段也填上,比如:

主模型:       qwen3:7b
高频备用模型: gemma3:4b
高频备用模型: glm4:9b

之后在 Claude Code 桌面版的模型下拉框里,会同时出现这三个模型供选择。我个人的习惯是把"调试型"和"主力型"分开:日常聊天用小模型快、写代码切大模型稳,几秒就能切完,体验非常顺。

6.6 配置完成后的快速自检

走到这一步,CCSwitch 这边的所有配置应该齐了。做个三步自检:

┌─ CCSwitch 自检清单 ──────────────────────────┐
│  [✓] Ollama 已在 11434 端口运行               │
│  [✓] 自定义供应商已添加并激活                  │
│  [✓] 路由总开关已开启                         │
│  [✓] Claude Code 路由转发已开启                │
│  [✓] 本地路由服务地址已复制                    │
└─────────────────────────────────────────────┘

全部勾上之后,进入下一步:把这个本地路由地址填到 Claude Code 桌面版里。

6.7 顺手配几个能让生活更轻松的功能

CCSwitch 除了核心的路由功能,还有一些"用了就回不去"的小特性,强烈建议在动手前几天就开起来:

  • 系统托盘快速切换:开启之后,托盘图标右键菜单里直接列出所有供应商,一秒切完,不用每次都打开主窗口。
  • 云同步:支持 Dropbox / OneDrive / iCloud / WebDAV,配置文件能跨设备同步。多机办公的同学这条非常香。
  • 轻量模式:长期常驻后台的话,开启"Lightweight Mode",主窗口可以销毁,只保留托盘进程,内存占用从一百多兆降到二十兆左右。
  • 统一供应商:同一份配置可以同时映射给 Claude Code、Codex、OpenCode、Gemini CLI 几个客户端,配一次到处用。
  • 配额可视化:v3.13 以后,托盘菜单和主界面会直接显示当前供应商的余额、已用 Token、剩余配额,省得每次都去对应平台后台查。
┌─ 高级功能一览 ─────────────────────────────┐
│  ▸ 系统托盘快速切换                          │
│  ▸ 云同步(Dropbox/OneDrive/iCloud/WebDAV)  │
│  ▸ 轻量模式(仅托盘运行)                     │
│  ▸ 多客户端统一管理                          │
│  ▸ 配额与余额可视化                          │
│  ▸ 拖拽排序                                  │
│  ▸ 一键导入导出 / 备份还原                    │
└─────────────────────────────────────────────┘

我的习惯是把云同步打开、把轻量模式打开、把托盘快速切换打开,剩下的功能用到再开。配置完一次以后,几乎就是"装好之后忘掉它存在"的状态。


七、桌面版对接本地网关

7.1 进入开发者设置面板

打开 Claude Code 桌面版,左上角"三横线"菜单 → Help → 开发者模式(如果之前没开过,先勾上让它重启)。重启后再次进入菜单,会出现 "开发者设置" 或 "第三方

🔒
该内容仅对更高等级社区用户开放
请谨慎解锁时效性强且发布日期较早的文章
单篇解锁后若未显示全文请刷新页面
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布0 篇
文章总数1107 篇
昨日发布1 篇
本月发布31 篇
建站时间456 天
🔍 搜索
站长微语

联系站长

QQ:2805463528
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术应用社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长QQ二维码
AI交流群
AI交流群
仍在路上

那些寒夜里追赶过的方向

那些冷眼下没放弃的理想

一篇一篇写到现在

仍在路上

"不羁放纵爱自由"

—— 致敬 Beyond
持续创作中 莫潇羽 · 无忆研习社
▲