codegeex需配置本地ollama服务并正确设置模型名,否则生成的前端请求代码会缺失mode:'no-cors'等跨域关键字段,导致浏览器cors拦截;必须显式声明origin或配置代理才能使请求生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在 VSCode 中用 CodeGeeX 生成带跨域兼容逻辑的前端请求代码时,若未显式声明 Origin 或忽略 CORS 策略,生成的 fetch 或 axios 调用会在浏览器中直接被拦截,控制台报错“CORS header ‘Access-Control-Allow-Origin’ missing”,导致接口调用始终失败。
确认 CodeGeeX 是否已启用本地模型服务
打开 VSCode 终端(Ctrl+`),执行 ollama list,检查输出中是否包含 codegeex4 或类似名称的模型。若为空或报错 connection refused,说明 Ollama 未运行或模型未加载,后续所有生成均无法正确理解跨域上下文语义。
若服务未启动:Windows 用户打开“服务”管理器,启动 【Ollama】;Linux/macOS 用户执行 ollama serve 并保持终端常驻。
配置插件指向本地 Ollama API
按下 Ctrl+Shift+P → 输入 “CodeGeeX: Open Settings” → 回车,进入设置页。
将以下三项设为指定值:
- CodeGeeX: Model Provider → 设为 【Ollama】
- CodeGeeX: API Base URL → 改为 【http://localhost:11434/v1/chat/completions】
-
CodeGeeX: Model Name → 填写 【codegeex4】(必须与
ollama list中显示的名称完全一致)
注意:若此处填错模型名,插件会静默回退至云端请求,而云端模型不理解本地开发中对 mode: 'no-cors' 或代理配置的工程需求,生成结果必然缺失关键字段。
生成带跨域适配的请求代码
方法一:使用自然语言指令精准引导
新建一个 api.js 文件,在顶部写下注释:// 向 http://192.168.1.100:8080/api/users 发起 GET 请求,后端未配置 Access-Control-Allow-Origin,需用 no-cors 模式绕过预检,但允许读取 JSON 响应。
光标置于空行 → 右键 → 选择 “CodeGeeX: Generate Code”。等待生成完成,检查输出是否含 mode: 'no-cors' 和 credentials: 'include' 字段——这是绕过浏览器预检请求的核心配置。
方法二:手动补全关键 headers 防止生成遗漏
若生成结果中只有基础 fetch 调用,缺少跨域相关参数,立即在 fetch(url, { 后插入:
mode: 'cors', credentials: 'same-origin', headers: {'Origin': 'http://localhost:3000'}
这一步不能省略:Chrome 125+ 对 Origin header 的校验更严格,不显式声明会导致即使服务端允许,浏览器仍拒绝解析响应体。
验证生成代码是否可运行
第一步:在 VSCode 中右键 → “在集成终端中运行 Python”(若用 Live Server)或启动 Vite/React 开发服务器。
第二步:将生成的请求代码粘贴进浏览器控制台,观察 Network 面板中该请求的 Request Headers 是否包含 Origin 字段,Response Headers 是否返回 Access-Control-Allow-Origin: * 或对应源。
第三步:若仍报 CORS 错误,说明后端未开启跨域,此时需切换策略——在 vite.config.ts 或 vue.config.js 中配置代理,而非修改前端请求代码。CodeGeeX 无法替代服务端配置,它只负责生成客户端可执行的合法调用片段。











