VS Code CodeGeex隐私模式设置:核心代码安全防泄露
## 切断 VS Code 遥测管道:禁用诊断数据与崩溃上传
CodeGeeX 嵌入在 VS Code 宿主环境中,若编辑器持续向外发送诊断数据,插件会话的元数据仍可能被间接泄露。因此第一步先封堵底层传输通道:
- 通过快捷键 **Ctrl+,** 调出设置面板 → 搜索 **telemetry.enableTelemetry** → 取消勾选;
- 搜索 **telemetry.enableCrashReporter** → 同样取消勾选。
**注意:** 两项必须均设为 false,否则插件仍可通过 VS Code 遥测管道泄露上下文信息。
配置完毕后重启 VS Code 使设置生效。
## 禁用云端服务,切换至本地 API
CodeGeeX 插件默认指向智谱 AI 云端,被选中的代码片段、光标上下文及补全请求均通过 HTTPS 外发。隐私模式的核心在于切断此链路,转用本地部署的模型:
- 进入 VS Code 设置(Ctrl+,)→ 搜索 **codegeex.apiKey** → 删除其中所有内容;
- 搜索 **codegeex.apiBase** → 设置为 **http://127.0.0.1:8000**(需提前部署本地 CodeGeeX-13B 服务);
- 搜索 **codegeex.modelName** → 设为 **codegeex-13b**(与本地 config.yaml 中 model_path 对应的标识一致)。
**重要提示:** 未部署本地服务时,切勿仅清空 apiKey 后启用插件,否则插件可能报错退出或自动降级至不可控的兜底模式,造成更大风险。
## 激活隐匿模式,验证无网络外发
隐匿模式作为 CodeGeeX 唯一默认激活的补全路径,其行为高度依赖网络状态。需在断网或拦截环境下确认其是否真正本地化运行:
1. 使用系统防火墙阻止 **code.visualstudio.com** 与 **open.bigmodel.cn** 的出站流量;
2. 在 VS Code 中打开任意 .py 文件,输入 `def hello()` 然后停顿 2 秒;
3. 观察右下角 CodeGeeX 图标:若持续旋转无反应,说明云端路径已被阻断;
4. 若已正确配置本地 API,图标应加载完毕并灰色显示补全建议。按下 Tab 插入后,打开开发者工具(Ctrl+Shift+I)→ Network 标签页,确认无任何 **POST /v1/chat/completions** 或类似请求发出。
## 方案一:换用 VSCodium,从根源移除遥测
VS Code 官方发行版内置遥测模块,即便手动关闭,初始化阶段的握手数据仍有外泄可能。VSCodium 基于同一源码编译,但彻底移除了所有遥测代码,实现永久离线:
- 从 **https://vscodium.com** 下载最新版安装包;
- 卸载原 VS Code,安装 VSCodium;
- 在 VSCodium 中安装 CodeGeeX 插件,无需再次禁用 telemetry,因为遥测代码已被剔除;
- 后续仅需配置本地 API 即可实现端到端无外联的隐私环境。
## 方案二:配置 hosts 文件硬性屏蔽云端域名
若无法更换编辑器或需保留 VS Code 特定功能,可通过系统级 hosts 拦截提供冗余防护:
- 以管理员权限编辑 **C:\Windows\System32\drivers\etc\hosts**(Windows)或 **/etc/hosts**(macOS/Linux);
- 在文件末尾添加两行:
```
127.0.0.1 open.bigmodel.cn
127.0.0.1 api.zhipu.ai
```
- 保存后运行 **ipconfig /flushdns**(Windows)或 **sudo dscacheutil -flushcache**(macOS)刷新 DNS 缓存。
此操作使所有针对智谱 API 的请求在域名解析阶段即告失败,比应用层设置更早拦截,形成物理级别的安全屏障。