离线安装本地代码补全模型需同步完成三件事:插件可运行(如codegeex≥2.6.0)、模型文件完整落盘(manifests/与blobs/双目录迁移)、通信链路打通(正确配置apibase并确认ollama监听localhost:11434)。

离线安装本地代码补全模型,本质是三件事同步到位:插件可运行、模型文件真实落盘、通信链路打通。缺任一环,VSCode 都不会弹出补全建议——不是“没生效”,而是根本没启动推理。
确认插件支持 localMode 且版本够新
旧版插件压根不认本地模型。CodeGeeX 必须 ≥2.6.0(含 codegeex.localMode 开关),Tabnine 必须 ≥4.20(否则 "tabnine.experimentalLocalModel": true 被忽略),Continue 插件则需 v1.2+ 才能正确识别 Ollama 的 /v1/chat/completions 接口。
- 在有网机器上访问 Marketplace,点进插件页 →「Version History」→ 下载明确标注支持 offline/local 的最新稳定版 .vsix
- Windows 上双击 .vsix 可能失败,改用命令行:
code --install-extension zhipuai.codegeex-2.6.0.vsix - 装完别急着写代码,先打开 VSCode 输出面板(
Ctrl+Shift+U),切换到对应插件日志页,确认无Unsupported version或local mode not available报错
Ollama 模型必须完整迁移,不能只拷 GGUF
Ollama 不是“把模型文件扔进去就能跑”的工具。它依赖 manifest.json + blobs/ 目录结构共同注册模型。只复制单个 model.Q4_K_M.gguf,ollama list 里永远为空,插件连连接目标都找不到。
- 在联网机执行
ollama pull codegeex4或ollama pull deepseek-coder:1.3b,确保下载完成 - 找到模型存储路径:
OLLAMA_MODELS环境变量值(默认 Windows 是C:\Users\<username>\.ollama\models\</username>,Linux/macOS 是~/.ollama/models/) - 整份复制该路径下的
manifests/和blobs/两个文件夹(不是models/根目录)到离线机相同位置 - 离线机上运行
ollama list,输出中必须出现codegeex4或deepseek-coder且状态为latest
插件配置必须指向本地 Ollama 接口,且端口不被占用
插件默认连 https://api.codegeex.cn 或云端 Tabnine 服务。离线时若没显式改 apiBase 或 serverUrl,它会卡在 DNS 查询或超时,状态栏可能显示“Local”但实际没发请求。
- CodeGeeX:在
settings.json中设"codegeex.localMode": true、"codegeex.apiBase": "http://localhost:11434/v1/chat/completions"、"codegeex.model": "codegeex4","codegeex.apiKey"留空 - Tabnine:配置
"tabnine.experimentalLocalModel": true后,**必须手动点设置页右下角的 Download local model 按钮**,否则模型不会下到~/.tabnine/ - Continue:配置中 Provider 选
ollama,Model 填codegeex4(不要带 :latest),并确认 Ollama 正在监听localhost:11434—— 若端口被占,curl http://localhost:11434/api/tags会返回Connection refused
M1/M2 Mac 用户必须用 Rosetta 运行 VSCode
Tabnine 官方打包的本地模型是 x86_64 架构二进制,Arm64 版 VSCode 无法加载,报 exec format error。这不是配置问题,是 CPU 指令集不兼容。
- 退出 VSCode,右键应用图标 →「显示简介」→ 勾选「使用 Rosetta 打开」
- 重启 VSCode,打开输出面板 → TabNine 日志页,搜索
Loaded model from,看到完整路径才算成功 - 别信“已适配 Apple Silicon”的宣传——截至 2026 年 9 月,Tabnine 未发布原生 arm64 本地模型
最常被跳过的验证动作是:检查插件日志里有没有模型加载成功的明确语句。状态栏图标变绿、设置里写了 localMode、甚至 ollama list 有模型,都不等于补全框真能弹出来。真正起作用的,永远是那行 Local model is ready 或 Loaded model from /xxx/model.bin。











