如何使用 Model Gate

如果你用过 OpenAI 或 Cursor 接模型,接入方式几乎一样:换服务地址、换 Key、选模型名称。下面按「先跑通 → 再接到工具或代码里」的顺序说明。

① 服务地址

填到工具或 SDK 的 Base URL / 接口地址里。

https://model-gate.lawmeta.top/api/v1

② API Key

在控制台创建,创建时完整复制保存,关闭后无法再看。

③ 模型名称

在模型列表页复制,调用时原样填入 model。

还没有账号?注册再到控制台创建 Key、查看余额。

快速开始

三分钟跑通一次对话。

  1. 登录 控制台,在 API Key 页面新建一把密钥并复制保存。
  2. 打开 模型列表,记下要用的模型名称(例如 gpt-4o 这类 slug)。
  3. 把下面示例里的 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)。

配置步骤

  1. 在控制台创建 API Key(与 OpenAI 兼容接口共用同一密钥)。
  2. 终端设置:export ANTHROPIC_BASE_URL="https://model-gate.lawmeta.top/api"(不要带 /v1,CLI 会自动请求 /v1/messages)。
  3. export ANTHROPIC_AUTH_TOKEN=你的_Model_Gate_API_Key
  4. 可选:export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1,从 GET /v1/models 拉取模型列表(需较新版本 Claude Code)。
  5. model 字段填模型列表中的 slug,与 OpenAI 接口一致。
  6. 运行 claude 或 claude -p 你好 验证。

注意

  • ·仅支持 Messages 协议,不能只用 OpenAI Base URL 配置 Claude Code。
  • ·流式长会话可能受部署环境 Function 超时限制,与 chat/completions 相同。

官方说明:Claude Code LLM Gateway 文档

接口参数

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 为主。

请求头

字段必填类型说明
AuthorizationstringBearer + 控制台 API Key,例如 Bearer sk_xxx。
Content-Typestring固定为 application/json。

请求体字段

字段必填类型说明
modelstring模型 slug,须与模型列表或 GET /models 返回的 id 完全一致。
messagesarray对话消息列表,每项含 role 与 content,见下方说明。
streambooleantrue 时返回 SSE 流式;false 或不传则一次返回完整 JSON。
max_tokensinteger单次回复 token 上限。参与转发前余额预估;未传时按 4096 估算。
temperaturenumber采样温度,数值越高越发散,具体范围取决于模型。
top_pnumber核采样参数,与 temperature 二选一调节即可,按模型支持情况使用。
stopstring | array遇到指定字符串时停止生成。
presence_penaltynumber降低重复提及已出现话题的倾向。
frequency_penaltynumber降低重复相同用语的倾向。
请求体示例
{
  "model": "your-model-slug",
  "messages": [
    { "role": "system", "content": "你是一个简洁的助手" },
    { "role": "user", "content": "你好" }
  ],
  "temperature": 0.7,
  "max_tokens": 1024,
  "stream": false
}

messages 消息结构

messages 为对象数组,每条消息包含:

字段必填类型说明
rolestring常见取值为 system(系统提示)、user(用户)、assistant(助手回复)。
contentstring | array消息正文。多模态模型可能支持图片等结构,以模型列表标注的输入能力为准。

多轮对话按时间顺序排列即可:先 system(可选),再交替 userassistant

流式相关

  • 设置 stream: true 后,响应为 SSE(text/event-stream),按 data: 行推送,以 data: [DONE] 结束。
  • 流式请求时平台会自动带上用量统计配置,便于在流结束后按 token 扣费;客户端无需自行配置 stream_options
curl · 流式
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 主体常见字段如下(具体以上游返回为准):

字段类型说明
idstring本次补全 id(上游返回)。
choicesarray生成结果列表;通常取 choices[0].message.content 作为回复文本。
usageobjecttoken 用量,含 prompt_tokens、completion_tokens、total_tokens,用于计费结算。

响应头

Header说明
x-request-id平台请求 ID,报障时建议提供。
x-upstream-request-id上游请求 ID(若上游返回)。
失败时返回 OpenAI 风格 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 设得很大,预估金额也会升高,可能暂时超过当前余额。