PatewayAI 文档索引 在线阅读

集成指南

编程开发#

在你的 AI 编程工具中接入更多优质模型

Claude Code#

Claude Code 暂不支持 GPT 模型
  1. 请先安装 Node.js 18 或更新版本,如已安装可忽略本条
  2. 准备安装
  1. 在终端中安装
npm install -g @anthropic-ai/claude-code # 验证安装(如有版本号输出,则表示安装成功):claude --version
  1. 创建/编辑 settings.json
配置前,请确保已清除以下 Anthropic 官方相关环境变量,以免影响 API 正常使用:ANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URL

如果 .claude 目录不存在,用户可自己创建。

  1. YOUR_API_KEY 换成你的 API Key
{  "env": {    "ANTHROPIC_API_KEY": "YOUR_API_KEY",    "ANTHROPIC_BASE_URL": "https://api.pateway.ai",    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"  }}
  1. 创建/编辑 .claude.json
{  "hasCompletedOnboarding": true}
  1. 使配置生效启动

配置完成后,重新打开终端窗口使配置生效。首次启动需完成以下操作:选择"信任此文件夹 (Trust This Folder)",允许 Claude Code 访问项目文件。

claude

Codex#

Codex 暂不支持 Claude 模型

官方文档:https://developers.openai.com/codex/quickstart

  1. 安装 Codex CLI

macOS / Linux:

npm install -g @openai/codex# 或使用 Homebrew(macOS)brew install codex

Windows(PowerShell):

npm install -g @openai/codex
  1. 创建/编辑 Codex 配置文件

macOS / Linux 配置文件路径:

~/.codex/config.toml

Windows 配置文件路径:

%USERPROFILE%\.codex\config.toml

例如:C:\Users\你的用户名\.codex\config.toml

macOS / Linux 示例配置:

model          = "YOUR_MODEL_ID"model_provider = "pateway" [model_providers.pateway]name     = "Pateway"base_url = "https://api.pateway.ai/v1"wire_api = "responses"requires_openai_auth = falsesupports_websockets = false [model_providers.pateway.auth]command = "printenv"args = ["PATEWAY_API_KEY"]

Windows 示例配置(PowerShell):

model          = "YOUR_MODEL_ID"model_provider = "pateway" [model_providers.pateway]name     = "Pateway"base_url = "https://api.pateway.ai/v1"wire_api = "responses"requires_openai_auth = falsesupports_websockets = false [model_providers.pateway.auth]command = "powershell"args = ["-NoProfile", "-Command", "$env:PATEWAY_API_KEY"]
  1. 配置 API Key 环境变量

macOS / Linux(以 zsh 为例,在 ~/.zshrc 中新增):

export PATEWAY_API_KEY="YOUR_API_KEY"

然后执行:

source ~/.zshrc

或重新打开终端窗口。

Windows(PowerShell):

[Environment]::SetEnvironmentVariable("PATEWAY_API_KEY", "YOUR_API_KEY", "User")

执行后重新打开 PowerShell 或终端窗口,使环境变量生效。

  1. 启动 Codex
codex

代码集成#

Python#

Anthropic 协议:

pip install anthropic

OpenAI 协议(Codex 系列):

pip install openai
import anthropic client = anthropic.Anthropic(    api_key="YOUR_API_KEY",    base_url="https://api.pateway.ai/v1",) message = client.messages.create(    model="claude-opus-4-6",    max_tokens=1024,    messages=[{"role": "user", "content": "你好"}],)print(message.content[0].text) # 流式输出with client.messages.stream(    model="claude-opus-4-6",    max_tokens=1024,    messages=[{"role": "user", "content": "写一篇关于 AI 的短文"}],) as stream:    for text in stream.text_stream:        print(text, end="", flush=True)
from openai import OpenAI client = OpenAI(    api_key="sk-YOUR_API_KEY",    base_url="https://api.pateway.ai/v1",) response = client.responses.create(    model="gpt-5.3-codex",    input="Hello!",) print(response.output_text)

Node.js#

Anthropic 协议:

npm install @anthropic-ai/sdk

OpenAI 协议(Codex 系列):

npm install openai
import Anthropic from '@anthropic-ai/sdk' const client = new Anthropic({  apiKey: 'YOUR_API_KEY',  baseURL: 'https://api.pateway.ai/v1',}) const message = await client.messages.create({  model: 'claude-opus-4-6',  max_tokens: 1024,  messages: [{ role: 'user', content: '你好' }],})console.log(message.content[0].text) // 流式输出const stream = await client.messages.stream({  model: 'claude-opus-4-6',  max_tokens: 1024,  messages: [{ role: 'user', content: '写一篇关于 AI 的短文' }],}) for await (const chunk of stream) {  if (chunk.type === 'content_block_delta' && chunk.delta.type === 'text_delta') {    process.stdout.write(chunk.delta.text)  }}
import OpenAI from 'openai' const client = new OpenAI({  apiKey: 'sk-YOUR_API_KEY',  baseURL: 'https://api.pateway.ai/v1',}) const response = await client.responses.create({  model: 'gpt-5.3-codex',  input: 'Hello!',}) console.log(response.output_text)

Java#

import okhttp3.*;import org.json.*; public class Test {  public static void main(String[] args) throws Exception {    OkHttpClient client = new OkHttpClient();     String body = new JSONObject()      .put("model", "claude-opus-4-6")      .put("max_tokens", 1024)      .put("messages", new JSONArray()        .put(new JSONObject()          .put("role", "user")          .put("content", "你好")))      .toString();     Request request = new Request.Builder()      .url("https://api.pateway.ai/v1/messages")      .post(RequestBody.create(body, MediaType.get("application/json")))      .addHeader("x-api-key", "YOUR_API_KEY")      .addHeader("anthropic-version", "2023-06-01")      .addHeader("Content-Type", "application/json")      .build();     try (Response response = client.newCall(request).execute()) {      JSONObject result = new JSONObject(response.body().string());      System.out.println(        result.getJSONArray("content")          .getJSONObject(0)          .getString("text")      );    }  }}
import com.openai.client.OpenAIClient;import com.openai.client.okhttp.OpenAIOkHttpClient;import com.openai.models.responses.Response;import com.openai.models.responses.ResponseCreateParams; public class Main {    public static void main(String[] args) {        OpenAIClient client = OpenAIOkHttpClient.builder()                .apiKey("sk-YOUR_API_KEY")                .baseUrl("https://api.pateway.ai/v1")                .build();         ResponseCreateParams params = ResponseCreateParams.builder()                .model("gpt-5.3-codex")                .input("Hello!")                .build();         Response response = client.responses().create(params);        System.out.println(response.outputText());    }}

Go#

package main import (  "bytes"  "encoding/json"  "fmt"  "io"  "net/http") func main() {  payload := map[string]interface{}{    "model":      "claude-opus-4-6",    "max_tokens": 1024,    "messages": []map[string]string{      {"role": "user", "content": "你好"},    },  }   body, _ := json.Marshal(payload)   req, _ := http.NewRequest(    "POST",    "https://api.pateway.ai/v1/messages",    bytes.NewBuffer(body),  )  req.Header.Set("x-api-key", "YOUR_API_KEY")  req.Header.Set("anthropic-version", "2023-06-01")  req.Header.Set("Content-Type", "application/json")   resp, _ := http.DefaultClient.Do(req)  defer resp.Body.Close()   result, _ := io.ReadAll(resp.Body)  fmt.Println(string(result))}
package main import (  "bytes"  "encoding/json"  "fmt"  "io"  "net/http") func main() {  payload := map[string]interface{}{    "model": "gpt-5.3-codex",    "input": "Hello!",  }   body, _ := json.Marshal(payload)   req, _ := http.NewRequest(    "POST",    "https://api.pateway.ai/v1/responses",    bytes.NewBuffer(body),  )  req.Header.Set("Authorization", "Bearer sk-YOUR_API_KEY")  req.Header.Set("Content-Type", "application/json")   resp, _ := http.DefaultClient.Do(req)  defer resp.Body.Close()   result, _ := io.ReadAll(resp.Body)  fmt.Println(string(result))}