"代码不出设备"的四种方案:从不可能到完全可以

wescode · 2026-10-28 · 代码安全 / 本地部署 / Ollama / 私有化

利益声明:本文作者参与了 wescode 的开发。文中涉及 wescode 的技术描述基于内部测试数据;涉及其他工具的描述基于各家公开文档和社区反馈。

本文是「代码安全实录」系列第 9 篇。四种方案的架构、代价和适用场景对比。所有信息来源标注在文末。

前几篇我们分析了 AI 编程工具的数据流、BYOK 的三种含义、企业安审的 7 个问题。所有分析最终指向同一个实际需求:

有没有办法既用 AI 编程工具,又让代码不离开我的电脑?

这个需求不是恐慌——它来自真实的合规场景:

本文拆解四种"代码不出设备"(或接近不出设备)的方案,每种方案的架构、代价、适用场景各不相同。


方案一:不用 AI 编程工具

这是最极端的选择,但也是最简单的安全方案。

你的电脑
┌──────────────────────┐
│                      │
│   传统 IDE           │
│   (VS Code / JB)     │
│                      │
│   · 本地编辑         │
│   · 本地编译         │
│   · 本地调试         │
│                      │
│   零出站             │
│   零 AI              │
└──────────────────────┘

代价:

适用场景:

什么情况下选这个方案:当你的合规要求是"开发环境不允许运行任何不在审批清单上的软件"——这种场景通常已经有成熟的软件管控流程,AI 编程工具只是又一个不在清单上的软件。

务实地说:这个方案越来越不可行。不是因为安全做不到——而是因为竞争压力会迫使越来越多的组织寻找"既安全又有 AI"的方案。下面的三个方案就是在安全和效率之间寻找平衡点。


方案二:私有部署 AI 编程工具

代表工具:CodeGeeX 私有部署、Tabby、Continue + 私有 LLM

企业内网
┌───────────────────────────────────────────────────────┐
│                                                       │
│   开发者电脑                    内网 GPU 服务器        │
│   ┌──────────────┐            ┌──────────────────┐   │
│   │              │  ① 代码    │                  │   │
│   │  VS Code +   │───────────→│  CodeGeeX Server │   │
│   │  CodeGeeX    │  上下文    │  (A100 / H100)   │   │
│   │  插件        │            │                  │   │
│   │              │  ② 补全/   │  · 模型推理      │   │
│   │              │  对话结果  │  · 代码索引      │   │
│   │              │←───────────│  · 上下文管理    │   │
│   └──────────────┘            └──────────────────┘   │
│                                                       │
│   🔒 数据不出内网                                      │
└───────────────────────────────────────────────────────┘

架构说明:

企业在自己的内网(或私有云)部署一套完整的 AI 编程工具后端——包括模型推理服务、代码索引服务、上下文管理服务。开发者的请求在内网闭环,代码不出企业边界。

代价:

维度说明
硬件成本最低起步:1 台 A100 GPU(约 ¥10-15 万),推荐 2-4 台做冗余
运维团队需要 1-2 个工程师维护 GPU 集群、模型更新、服务可用性
模型更新云端模型更新后需要手动同步到内网(涉密环境需要介质审批)
模型能力私有部署通常使用中等参数的模型(13B-34B),推理能力弱于 Claude 3.5 Sonnet / GPT-4o
部署周期从采购到上线通常 2-4 周(涉密环境可能 2-3 个月)

适用场景:

什么情况下选这个方案:


方案三:wescode + 云端 API(BYOK-B)

你的电脑                                          模型供应商
┌─────────────────────────────┐                  ┌──────────────┐
│                             │  ② Prompt        │              │
│   wescode                   │─────────────────→│  DeepSeek /  │
│   (Code OSS Fork)           │  (含代码片段)     │  OpenAI /    │
│                             │                  │  Anthropic   │
│   ① 全部在本地完成:        │  ③ 响应          │              │
│   · tree-sitter 代码解析    │←─────────────────│  · 模型推理  │
│   · CKG 知识图谱构建        │                  │  · 返回结果  │
│   · SQLite 本地存储         │                  │              │
│   · Prompt 组装             │                  └──────────────┘
│   · 上下文选择              │
│                             │  ⓪ 无 wescode 服务器
└─────────────────────────────┘

严格来说,这不是"代码不出设备"——Prompt 中包含的代码片段发给了模型供应商。但它是代码不经中间方——代码只去了一个地方(模型供应商),不经过工具厂商的服务器。

上一篇(第 7 篇)把这种模式定义为 BYOK-B。

代价:

维度说明
API 费用DeepSeek V3 约 ¥1-3/天(个人使用),Claude 3.5 Sonnet 约 ¥5-15/天
Prompt 中的代码片段仍然发给了模型供应商——模型供应商的数据政策适用
部署成本零——下载 wescode + 配置 API Key 即可,无需服务器
模型能力云端大模型全能力可用——与使用 Cursor / Copilot 的模型能力相同

适用场景:

什么情况下选这个方案:

与 Cursor 的区别(相同点和不同点):

维度Cursor (BYOK-A)wescode (BYOK-B)
模型能力相同(都用云端大模型)相同
代码经过工具厂商是否
上下文理解方式Embedding(云端计算)CKG 知识图谱(本地计算)
客户端可审计闭源Code OSS 开源
费用¥145/月订阅 或 自带 Key自带 Key(按用量付费)
社区和教程大较小

方案四:wescode + Ollama / vLLM(BYOK-C)

你的电脑
┌───────────────────────────────────────────────────────┐
│                                                       │
│   wescode                           Ollama            │
│   ┌───────────────────┐           ┌──────────────┐   │
│   │                   │  ② Prompt │              │   │
│   │  · tree-sitter    │──────────→│  本地模型    │   │
│   │  · CKG 构建       │ localhost │              │   │
│   │  · Prompt 组装    │  :11434   │  Qwen 2.5   │   │
│   │  · 上下文选择     │           │  Coder 7B   │   │
│   │                   │  ③ 响应   │  / 14B      │   │
│   │                   │←──────────│  / 32B      │   │
│   └───────────────────┘           └──────────────┘   │
│                                                       │
│   🔒 零出站网络流量                                    │
│   断网后仍可使用                                       │
└───────────────────────────────────────────────────────┘

这是真正的"代码不出设备"——代码从头到尾没离开过你的电脑。模型推理在本地完成,没有任何外部网络请求。

代价:

维度说明
本地算力需要足够的 GPU 显存或 CPU 内存来运行模型(见下方硬件要求表)
模型能力本地 7B-34B 参数模型在复杂推理上弱于 Claude 3.5 Sonnet / GPT-4o
补全延迟视硬件而定,通常 200ms-2s(云端模型通常 100-500ms)
费用零 API 费用——只有电费和硬件折旧

Ollama 本地模型的硬件要求和实际体验

模型参数GPU 显存 / CPU 内存推理速度(token/s)编程能力评估
Qwen 2.5 Coder 7B7B6GB GPU / 8GB RAM~30-50 t/s (GPU)代码补全可用,简单重构可用,复杂推理较弱
DeepSeek Coder V2 Lite16B12GB GPU / 20GB RAM~15-25 t/s (GPU)补全优秀,中等复杂度重构可用
Qwen 2.5 Coder 32B32B24GB GPU / 36GB RAM~8-15 t/s (GPU)接近云端模型水平,复杂推理可用
Codestral 22B22B16GB GPU / 28GB RAM~12-20 t/s (GPU)多语言编程出色
Llama 3.1 8B8B6GB GPU / 10GB RAM~25-40 t/s (GPU)通用能力好,代码专项略弱

注:推理速度取决于具体硬件。以上数据基于 NVIDIA RTX 4090(24GB)的测试。Apple Silicon Mac 使用 Metal 加速,速度约为 NVIDIA GPU 的 50-70%。纯 CPU 推理速度约为 GPU 的 10-20%。

各场景的体验差异

场景本地 7B 模型本地 32B 模型云端 Claude 3.5 Sonnet
代码补全(单行/多行)⭐⭐⭐ 可用⭐⭐⭐⭐ 优秀⭐⭐⭐⭐⭐ 最佳
函数级重构⭐⭐ 基本可用⭐⭐⭐⭐ 好⭐⭐⭐⭐⭐ 最佳
跨文件理解⭐⭐ 上下文有限⭐⭐⭐ 可用⭐⭐⭐⭐⭐ 最佳
Bug 分析和修复⭐⭐ 简单 bug 可以⭐⭐⭐⭐ 大部分可用⭐⭐⭐⭐⭐ 最佳
架构设计建议⭐ 较弱⭐⭐⭐ 可参考⭐⭐⭐⭐⭐ 最佳

适用场景:


四种方案对比总览

维度方案一:不用 AI方案二:私有部署方案三:BYOK-B方案四:BYOK-C
安全等级🟢 最高🟢 高(内网)🟡 中(直连供应商)🟢 高(零出站)
模型能力—⭐⭐⭐ 中⭐⭐⭐⭐⭐ 最强⭐⭐-⭐⭐⭐⭐ 视模型
部署成本零🔴 高(GPU + 运维)🟢 零🟢 零(需有 GPU)
持续费用零🟡 电费 + 运维人力🟢 ¥40-60/月 API🟢 电费
维护难度零🔴 高🟢 低🟢 低
适用团队涉密小组50+ 人大企业绝大多数企业安全要求极高
离线可用✅⚠️ 需内网否✅
代码不出设备✅⚠️ 在内网内流转否(Prompt 出设备)✅
客户端可审计✅(传统 IDE)⚠️ 看供应商✅ Code OSS✅ Code OSS

混合方案——最实际的选择

对大多数企业来说,不是选其中一种——而是混合使用。

按项目分级

项目分级策略

┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│   开源/学习      │  │   一般商业       │  │   核心/敏感      │
│   项目          │  │   项目           │  │   项目           │
│                 │  │                 │  │                 │
│   方案三        │  │   方案三         │  │   方案四         │
│   BYOK-B        │  │   BYOK-B         │  │   BYOK-C         │
│   + 最强模型    │  │   + DeepSeek     │  │   + Ollama       │
│   (Claude/GPT)  │  │   (国内供应商)   │  │   (零出站)       │
│                 │  │                 │  │                 │
│   ✅ 模型全能力  │  │   ✅ 不出境       │  │   ✅ 代码不出     │
│   ✅ 最低成本    │  │   ✅ 合规         │  │     设备         │
│   ⚠️ 经供应商   │  │   ⚠️ 经供应商    │  │   ✅ 零出站       │
└─────────────────┘  └─────────────────┘  └─────────────────┘

按场景切换

同一个开发者在一天内可能切换不同的安全模式:

在 wescode 中切换这些模式只需要改一行配置——把模型供应商从 api.deepseek.com 改成 localhost:11434(Ollama)。不需要安装不同的编辑器,不需要重新学习工作流。


Ollama 的安装和配置

对于方案四(BYOK-C),这里是最简化的安装步骤。

1. 安装 Ollama

# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh

# 或 macOS 通过 Homebrew
brew install ollama

2. 下载模型

# 推荐的编程模型(选一个即可)

# 小型(6GB 显存,大多数电脑可用)
ollama pull qwen2.5-coder:7b

# 中型(16GB 显存)
ollama pull codestral:22b

# 大型(24GB 显存,推荐 RTX 4090 或 M2 Max)
ollama pull qwen2.5-coder:32b

3. 在 wescode 中配置

在 wescode 的模型设置中,添加一个 Ollama 供应商:

配置完成后,wescode 的所有 AI 功能(对话、补全、重构建议)都走本地模型,零出站网络流量。

4. 验证零出站

断开网络连接(关掉 Wi-Fi / 拔网线),然后在 wescode 中发起一次 AI 对话。如果模型正常响应——恭喜,你的代码确实没有离开你的电脑。


选择指引

你的合规需求是什么?
│
├── 代码绝对不能离开受控环境(涉密/军工)
│   ├── 有 GPU 集群 → 方案二(私有部署)
│   └── 无 GPU 集群 → 方案四(wescode + Ollama)
│       └── 电脑有独立 GPU(6GB+)→ ✅ 可行
│       └── 电脑无 GPU(仅 CPU)→ ⚠️ 体验较慢但可用
│
├── 代码不能经过不必要的第三方(一般企业合规)
│   ├── 可以使用海外模型 → 方案三(wescode + Claude/GPT)
│   └── 代码不能出境 → 方案三(wescode + DeepSeek/通义千问)
│
├── 没有硬性合规要求,但想更安全
│   ├── 在意体验和生态 → Cursor / Copilot(方案三也可以)
│   └── 在意数据路径 → 方案三(wescode BYOK-B)
│
└── 没有安全顾虑 → 选体验最好的工具

常见问题

"方案四的模型太弱了,不如不用"

不完全对。7B 模型确实在复杂推理上远不如 Claude 3.5 Sonnet——但日常的代码补全、简单的重构建议、文档生成这些高频场景,7B 模型的表现可能超出你的预期。

混合方案更实际:日常补全用本地模型(7B,快速响应、零出站),遇到复杂问题时切到云端 API(Claude/DeepSeek,能力最强)。用 80% 的本地 + 20% 的云端,覆盖 100% 的场景。

"我的 MacBook 能跑 Ollama 吗?"

可以。Apple Silicon Mac(M1/M2/M3/M4)使用 Metal 加速运行 Ollama:

Mac 配置推荐模型推理速度
M1/M2 8GBQwen 2.5 Coder 1.5B-3B~20-35 t/s
M1/M2 16GBQwen 2.5 Coder 7B~15-25 t/s
M2 Pro/Max 32GB+Qwen 2.5 Coder 14B-32B~10-20 t/s
M3 Pro/Max 36GB+Qwen 2.5 Coder 32B~12-25 t/s

8GB 内存的 Mac 可以跑 3B 模型——补全体验基本可用。16GB 可以跑 7B——补全+简单对话都可以。32GB 以上可以跑 14B-32B——体验接近云端。

"私有部署和本地 Ollama 有什么区别?"


信息来源汇总

#来源类型URL
1Ollama 官方文档官方文档ollama.com
2vLLM 部署指南官方文档docs.vllm.ai
3CodeGeeX 企业版官方文档codegeex.cn
4Qwen 2.5 Coder 模型文档官方文档huggingface.co/Qwen
5DeepSeek Coder V2 模型文档官方文档huggingface.co/deepseek-ai
6Codestral (Mistral) 文档官方文档mistral.ai
7wescode 安全架构产品文档weisyn.com
8GitHub Copilot 研究:AI 编程效率提升数据研究github.blog

本文信息截至 2026 年 10 月。如各方后续发布更新或澄清,请以最新信息为准。