开发者指南:在反重力中使用OpenAI模型
本指南解释了如何在反重力环境中通过模型上下文协议(MCP)集成和使用OpenAI模型。
1.了解MCP与基本模型
在开始之前,了解Antigravity如何处理模型非常重要:
- 基础模型(“大脑”):这些是通过聊天界面中的模型选择器选择的主要模型(例如Gemini 3 Flash、Claude Sonnet)。它们充当代理的中央推理引擎。
- MCP服务器(“插件”):MCP服务器使用工具扩展了基本模型。当你添加一个OpenAI MCP服务器时,你并没有添加一个新的可选“大脑”。相反,你让当前选择的基础模型能够按需调用OpenAI模型作为工具。
简言之: 基础模型决定 *当* 调用工具;MCP服务器定义 *什么* 工具可用。
2.获取您的OpenAI API密钥和信用
OpenAI API的使用与ChatGPT Plus是分开的。要通过MCP使用OpenAI模型,您必须启用API计费。
3.设置系统环境变量(稳健方法)
对于Windows用户来说,由于传播问题或路径处理,依赖系统环境变量有时会失败。最稳健的方法(也是为此环境配置的方法)是使用本地\.env\文件和自定义运行器脚本。
3.1创建\.env\文件
- 导航到您的Antigravity配置文件夹(通常
C:\Users\\.gemini\antigravity). - 创建一个名为\[.env\]的文件(file:///C:/Users/Mahesh%20Haputhanthiri/.gemini/antigravity/.env).
- 将密钥添加到文件中:
AI_CHAT_KEY="sk-proj-xxxxxxxxxxxxxxxxxxxxxxxx"*(您也可以使用 OPENAI_API_KEY)*
- 关键的:确保文件已保存 UTF-8编码(如果使用PowerShell/记事本,请注意不要另存为UTF-16/UCS-2,否则将无法读取密钥)。
3.2创建Runner脚本
为确保正确加载环境变量并可靠执行Windows命令,请使用包装器脚本。
- 创建一个名为\[mcp.dotenv_wrunner.mjs\]的文件(file:///C:/Users/Mahesh%20Haputhanthiri/.gemini/antigravity/mcp_dotenv_runner.mjs)与\[.env\]位于同一文件夹中(file:///C:/Users/Mahesh%20Haputhanthiri/.gemini/antigravity/.env)文件。
- 粘贴以下代码:
import { spawn } from "node:child_process";
import path from "node:path";
import process from "node:process";
import fs from "node:fs";
import { fileURLToPath } from "node:url";
function loadDotEnv(envPath) {
if (!fs.existsSync(envPath)) return;
const raw = fs.readFileSync(envPath, "utf8");
for (const line of raw.split(/\r?\n/)) {
const trimmed = line.trim();
if (!trimmed || trimmed.startsWith("#")) continue;
const idx = trimmed.indexOf("=");
if (idx === -1) continue;
const key = trimmed.slice(0, idx).trim();
let val = trimmed.slice(idx + 1).trim();
// strip surrounding quotes if present
if (
(val.startsWith('"') && val.endsWith('"')) ||
(val.startsWith("'") && val.endsWith("'"))
) {
val = val.slice(1, -1);
}
// Force override from file (solves stale env var issues)
process.env[key] = val;
}
}
// Load .env from same directory as this script
const envPath = path.join(path.dirname(fileURLToPath(import.meta.url)), ".env");
loadDotEnv(envPath);
// Ensure AI_CHAT_KEY is set
process.env.AI_CHAT_KEY =
process.env.AI_CHAT_KEY || process.env.OPENAI_API_KEY || "";
const args = process.argv.slice(2);
// Windows: use npx.cmd with shell: true
const child = spawn("npx.cmd", args, {
env: process.env,
stdio: "inherit",
shell: true, // Required for Windows .cmd execution
});
child.on("exit", (code) => process.exit(code ?? 1));4.配置MCP服务器
现在配置Antigravity以使用此运行器脚本。
- 打开 管理MCP服务器 在《反重力》中。
- 点击 查看原始配置 (文件图标)。
- 添加或更新
mcpServers对象如下。
*替换 `` 使用您的实际Windows用户名。*
{
"mcpServers": {
"openai-gpt-4-1": {
"command": "node",
"args": [
"C:\\Users\\\\.gemini\\antigravity\\mcp_dotenv_runner.mjs",
"-y",
"@pyroprompts/any-chat-completions-mcp"
],
"env": {
"AI_CHAT_NAME": "OpenAI-GPT-4-1",
"AI_CHAT_MODEL": "gpt-4.1",
"AI_CHAT_BASE_URL": "https://api.openai.com/v1"
}
},
"openai-gpt-4o-mini": {
"command": "node",
"args": [
"C:\\Users\\\\.gemini\\antigravity\\mcp_dotenv_runner.mjs",
"-y",
"@pyroprompts/any-chat-completions-mcp"
],
"env": {
"AI_CHAT_NAME": "OpenAI-GPT-4o-mini",
"AI_CHAT_MODEL": "gpt-4o-mini",
"AI_CHAT_BASE_URL": "https://api.openai.com/v1"
}
},
"openai-gpt-5-2": {
"command": "node",
"args": [
"C:\\Users\\\\.gemini\\antigravity\\mcp_dotenv_runner.mjs",
"-y",
"@pyroprompts/any-chat-completions-mcp"
],
"env": {
"AI_CHAT_NAME": "OpenAI-GPT-5-2",
"AI_CHAT_MODEL": "gpt-5.2",
"AI_CHAT_BASE_URL": "https://api.openai.com/v1"
}
}
}
}5.型号可用性说明
- GPT-4.1/GPT-4o-mini:广泛可用。
- GPT-5.2:需要特定的访问权限和计费的OpenAI组织。如果5.2访问受到限制,请使用GPT-4o-mini进行一般测试。
6.如何使用和验证
- 重新筛选:更新配置后,单击MCP服务器列表中的“刷新”。
- 验证:如果工具出现在服务器名称下,则连接良好。
- 聊天:“使用GPT-5-2查看此代码。”
7.故障排除
- 错误:
spawn EINVAL:
- 原因:Windows上的Node.js不能直接生成 .cmd 没有shell的文件。 - 修复:确保 shell: true 在runner脚本中设置(已包含在上面的脚本中)。
- 错误:
401 Incorrect API key:
- 原因1:\.env\文件的密钥错误。 - 原因2:\.env\文件保存为UTF-16(在PowerShell中很常见)。 - 修复:打开\.env\在VS Code中,单击右下角的编码(例如“UTF-16LE”),选择“保存编码”,然后选择“UTF-8”。
