# Cursor (/docs/zh-CN/code-cli/cursor)

Cursor 的 chat 和 agent 可以跑在任意 OhMyGPT 模型上。在 Cursor 设置里填入你的 OhMyGPT Key 和 base URL，再添加想用的模型 ID，它们就会出现在模型选择器里，与 Cursor 自带的模型并列。

## 配置 [#配置]

1. 打开 **Cursor Settings → Models**，展开 **API Keys**。
2. 把 OhMyGPT Key 粘贴到 **OpenAI API Key**，并打开这个 Key 的开关。
3. 打开 **Override OpenAI Base URL**，填入 `https://api.ohmygpt.com/v1`。
4. 在同一页面的模型列表中添加一个自定义模型，按 `GET /v1/models` 列出的写法原样输入 OhMyGPT 模型 ID，例如 `anthropic/claude-sonnet-5-5`。
5. 在 chat 的模型选择器中选中这个模型。

| 设置项 | 值 |
|---|---|
| OpenAI API Key | 你的 OhMyGPT Key |
| Override OpenAI Base URL | `https://api.ohmygpt.com/v1` |
| Model | [选择模型](#选择模型)中的一个 ID |

这些请求由 Cursor 自己的服务器发出，所以你的 Key 和提示词会先经过 Cursor，再到达 OhMyGPT。

## 哪些请求走 OhMyGPT [#哪些请求走-ohmygpt]

- 你添加的模型 ID 对应的 chat 和 agent 请求。
- 开启覆盖期间，Cursor 内置的 OpenAI 模型。关闭覆盖后，这些模型会改用你的 Cursor 订阅。

Tab 补全和 Cursor 的其他内置模型仍然由 Cursor 自己的服务提供。

## 检查连接 [#检查连接]

Cursor 发送的是 Chat Completions 请求。向免费测试模型 `ohmygpt/mock` 发送一个：

```bash
curl https://api.ohmygpt.com/v1/chat/completions \
  -H "Authorization: Bearer $OHMYGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "ohmygpt/mock", "messages": [{"role": "user", "content": "ping"}]}'
```

```json
{
  "id": "chatcmpl-ohmygpt-mock",
  "object": "chat.completion",
  "model": "mock",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "This is a mock reply from OhMyGPT. Your integration works; switch to a real model when ready."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 15, "completion_tokens": 17, "total_tokens": 32 }
}
```

想免费检查 Cursor 这一侧的配置，把 `ohmygpt/mock` 添加为自定义模型并发送一条 chat 消息，上面的回复就会出现在对话中。账户完成充值后即可使用 mock 模型。

## 选择模型 [#选择模型]

所有对话模型都能在 Cursor 中使用：

```bash
curl -s https://api.ohmygpt.com/v1/models \
  | jq -r '.data[] | select(.available and any(.protocols[]?; .id == "openai-completions")) | .id'
```

请使用带厂商前缀（`anthropic/`、`openai/`、`zhipu/` 等）的完整 ID。各模型的价格见[模型](https://www.ohmygpt.com/models)页面。

## 问题排查 [#问题排查]

| 现象 | 原因 | 解决办法 |
|---|---|---|
| 所有请求都返回 `404` | base URL 缺少 `/v1`，或以 `/chat/completions` 结尾 | 原样填入 `https://api.ohmygpt.com/v1` |
| `401`，提示 `Invalid API key` | **OpenAI API Key** 中的 Key 输错了或已被删除 | 从 [API Key](https://www.ohmygpt.com/keys) 页面复制一个 Key |
| `404`，提示模型不存在 | 自定义模型名不是 OhMyGPT 的模型 ID | 从 `GET /v1/models` 复制 ID |
| 请求仍然发到了 OpenAI | **Override OpenAI Base URL** 没有打开 | 打开它 |
| `402` | 余额或 Key 的消费额度已用完 | 到[账单](https://www.ohmygpt.com/billing)页面充值 |

每个响应都带有 `X-Request-ID` 头，每个请求的费用可以在[用量](https://www.ohmygpt.com/usage)页面查看。
