如何使用 Model Gate
如果你用过 OpenAI 或 Cursor 接模型,接入方式几乎一样:换服务地址、换 Key、选模型名称。下面按「先跑通 → 再接到工具或代码里」的顺序说明。
① 服务地址
填到工具或 SDK 的 Base URL / 接口地址里。
https://model-gate.lawmeta.top/api/v1
② API Key
在控制台创建,创建时完整复制保存,关闭后无法再看。
快速开始
三分钟跑通一次对话。
- 登录 控制台,在 API Key 页面新建一把密钥并复制保存。
- 打开 模型列表,记下要用的模型名称(例如
gpt-4o这类 slug)。 - 把下面示例里的
YOUR_API_KEY和your-model-slug换成你的真实值,运行即可。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://model-gate.lawmeta.top/api/v1",
apiKey: process.env.MODEL_GATE_API_KEY,
});
const completion = await client.chat.completions.create({
model: "your-model-slug",
messages: [
{ role: "user", content: "你好,介绍一下你自己" }
],
});
console.log(completion.choices[0].message.content);切换标签查看不同语言;内容等价,任选其一即可。想在 Cursor 等工具里用?见 在常用工具里用。
在常用工具里用
下面以 Cursor、Hermes Agent、Open Claw 为例。三者都支持 OpenAI 兼容接口,按卡片里的步骤填服务地址、API Key 和模型名称即可。
Claude Code
使用 Anthropic Messages API;通过环境变量把请求指向 Model Gate(透传 R9S)。
配置步骤
- 在控制台创建 API Key(与 OpenAI 兼容接口共用同一密钥)。
- 终端设置:export ANTHROPIC_BASE_URL="https://model-gate.lawmeta.top/api"(不要带 /v1,CLI 会自动请求 /v1/messages)。
- export ANTHROPIC_AUTH_TOKEN=你的_Model_Gate_API_Key
- 可选:export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1,从 GET /v1/models 拉取模型列表(需较新版本 Claude Code)。
- model 字段填模型列表中的 slug,与 OpenAI 接口一致。
- 运行 claude 或 claude -p 你好 验证。
注意
- ·仅支持 Messages 协议,不能只用 OpenAI Base URL 配置 Claude Code。
- ·流式长会话可能受部署环境 Function 超时限制,与 chat/completions 相同。
接口参数
OpenAI 对话:POST https://model-gate.lawmeta.top/api/v1/chat/completions。Claude Code 等使用 Anthropic Messages:POST https://model-gate.lawmeta.top/api/v1/messages(鉴权可用 Bearer 或 x-api-key)。下文参数表以 Chat Completions 为主。
请求头
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| Authorization | 是 | string | Bearer + 控制台 API Key,例如 Bearer sk_xxx。 |
| Content-Type | 是 | string | 固定为 application/json。 |
请求体字段
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| model | 是 | string | 模型 slug,须与模型列表或 GET /models 返回的 id 完全一致。 |
| messages | 是 | array | 对话消息列表,每项含 role 与 content,见下方说明。 |
| stream | 否 | boolean | true 时返回 SSE 流式;false 或不传则一次返回完整 JSON。 |
| max_tokens | 否 | integer | 单次回复 token 上限。参与转发前余额预估;未传时按 4096 估算。 |
| temperature | 否 | number | 采样温度,数值越高越发散,具体范围取决于模型。 |
| top_p | 否 | number | 核采样参数,与 temperature 二选一调节即可,按模型支持情况使用。 |
| stop | 否 | string | array | 遇到指定字符串时停止生成。 |
| presence_penalty | 否 | number | 降低重复提及已出现话题的倾向。 |
| frequency_penalty | 否 | number | 降低重复相同用语的倾向。 |
{
"model": "your-model-slug",
"messages": [
{ "role": "system", "content": "你是一个简洁的助手" },
{ "role": "user", "content": "你好" }
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}messages 消息结构
messages 为对象数组,每条消息包含:
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| role | 是 | string | 常见取值为 system(系统提示)、user(用户)、assistant(助手回复)。 |
| content | 是 | string | array | 消息正文。多模态模型可能支持图片等结构,以模型列表标注的输入能力为准。 |
多轮对话按时间顺序排列即可:先 system(可选),再交替 user 与 assistant。
流式相关
- 设置
stream: true后,响应为 SSE(text/event-stream),按data:行推送,以data: [DONE]结束。 - 流式请求时平台会自动带上用量统计配置,便于在流结束后按 token 扣费;客户端无需自行配置
stream_options。
curl https://model-gate.lawmeta.top/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "your-model-slug",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}'长对话可适当控制 max_tokens,避免余额预检时预估费用过高。
响应体(非流式)
HTTP 200 时,JSON 主体常见字段如下(具体以上游返回为准):
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 本次补全 id(上游返回)。 |
| choices | array | 生成结果列表;通常取 choices[0].message.content 作为回复文本。 |
| usage | object | token 用量,含 prompt_tokens、completion_tokens、total_tokens,用于计费结算。 |
响应头
| Header | 说明 |
|---|---|
| x-request-id | 平台请求 ID,报障时建议提供。 |
| x-upstream-request-id | 上游请求 ID(若上游返回)。 |
error 对象(含 message、type、code),详见 遇到问题。怎么选模型
所有可用模型、参考价格和上下文长度,都在模型列表页维护。
请打开 模型列表 浏览。调用时把列表里的模型名称原样复制到请求的 model 字段,不要自己改写或缩写。
程序里需要自动拉列表时,可请求 GET /models(需带 API Key),返回里的 id 就是调用时要填的名称。
遇到问题
先看下面几种常见情况,大多能自行解决。
提示密钥无效或 401
多半是 API Key 复制不完整、已删除,或填成了别的平台的 Key。请到控制台确认 Key 仍为启用状态,必要时新建一把。
技术标识:invalid_api_key
提示余额不足或 402
账户余额不够支付本次请求的预估费用。请先充值;若已充值仍报错,可把单次请求的 max_tokens 调小一些再试。
技术标识:insufficient_balance
提示找不到模型
请求里填的模型名称与平台不一致,或该模型已下架。请打开模型列表核对名称,确保与列表里显示的完全一致。
技术标识:unknown_model / model_not_found
请求失败,不知道找谁
请记下响应里的 request-id(响应头 x-request-id),联系平台客服时一并提供,便于快速定位。
常见问题
和直接用 OpenAI 有什么区别?
调用方式很像:改服务地址、换 API Key、选模型即可。区别在于余额和账单在 Model Gate 控制台管理,按平台公示的价格计费。
怎么选模型?
打开模型列表,按价格和上下文长度挑选。调用时把列表里的模型名称原样填进 model 字段即可。
余额够,为什么还是被拒绝?
发送前会按本次请求可能用到的 token 做一次预估扣费检查。若 max_tokens 设得很大,预估金额也会升高,可能暂时超过当前余额。