เอกสาร

Smart AIPI รองรับทั้ง APIs ที่เข้ากันได้กับ OpenAI และ Anthropic ใช้บริการของเราได้กับ OpenAI หรือ Anthropic SDK, tool หรือแอปที่มีอยู่เดิม เพียงแค่เปลี่ยน base URL โดยไม่ต้องแก้โค้ดเลย

OpenAI ฐาน URL

https://api.smartaipi.com/v1

Anthropic ฐาน URL

https://api.smartaipi.com

CLI และ MCP Tools

Smart AIPI มี npm packages สองตัวเพื่อช่วยให้นักพัฒนาจัดการบัญชีของตนได้สะดวกขึ้น:

smart-aipi — เครื่องมือ CLI สำหรับจัดการบัญชี, API keys และ usage ของคุณจาก terminal แบบ programmatic
@smart-aipi/mcp — MCP server ที่ให้ AI agents เข้าถึงบัญชี Smart AIPI ของคุณได้โดยตรง

ติดตั้งทั้งสองอย่าง

เทอร์มินัล
npm install -g smart-aipi @smart-aipi/mcp

ติดตั้งแยกกัน

CLI เท่านั้น
npm install -g smart-aipi
MCP เท่านั้น
npm install -g @smart-aipi/mcp

การยืนยันตัวตน

ทุก API request ต้องใช้ API key โดย key เดียวกันใช้ได้กับทั้งสองวิธีการยืนยันตัวตน:

รูปแบบ OpenAI (header `Authorization`)
Authorization: Bearer YOUR_API_KEY
รูปแบบ Anthropic (header `x-api-key`)
x-api-key: YOUR_API_KEY

คู่มือการย้ายระบบ

การย้ายใช้งานใช้เวลาไม่ถึงหนึ่งนาที API ของเรารองรับทั้ง OpenAI และ Anthropic endpoints แบบเข้ากันได้ 100%

จาก OpenAI

1

รับ Smart AIPI API key ของคุณ

สมัครสมาชิกและสร้าง API key จาก dashboard ของคุณ

2

เปลี่ยน base URL

แทนที่ https://api.openai.com/v1 ด้วย https://api.smartaipi.com/v1

3

อัปเดต API key ของคุณ

ใช้ Smart AIPI key ของคุณแทน OpenAI key แค่นั้นเลย!

จาก Anthropic

1

รับ Smart AIPI API key ของคุณ

สมัครสมาชิกและสร้าง API key จาก dashboard ของคุณ

2

เปลี่ยน base URL

แทนที่ https://api.anthropic.com ด้วย https://api.smartaipi.com

3

อัปเดต API key ของคุณ

ใช้ Smart AIPI key ของคุณแทน Anthropic key ชื่อโมเดล Claude เดิมของคุณยังใช้ได้เหมือนเดิม

โค้ด, SDKs และแอปเดิมของคุณที่ใช้ Anthropic Messages API จะทำงานได้โดยไม่ต้องเปลี่ยนโค้ดเลย ชื่อโมเดล Claude (claude-opus-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001) จะถูก route อัตโนมัติไปยังโมเดล GPT-5.4 ประสิทธิภาพสูง ทุก response จะมี x-actual-model header ที่แสดง backend model จริงเพื่อความโปร่งใสเต็มรูปแบบ

เสร็จสิ้นการแชท

สร้าง chat completion จาก messages และ model ที่ระบุ นี่คือ endpoint หลักสำหรับการใช้งาน language models

POST /v1/chat/completions

พารามิเตอร์ใน Request Body

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
model สตริง ใช่ Model ID ที่จะใช้ (เช่น "gpt-6-astra", "gpt-5.6-sol")
messages อาร์เรย์ ใช่ array ของ message objects ที่มี role และ content
temperature ตัวเลข ไม่ ค่า sampling temperature (0-2) ยิ่งสูง = ยิ่งสุ่มมากขึ้น ค่าเริ่มต้น: 1
max_tokens จำนวนเต็ม ไม่ จำนวน tokens สูงสุดที่จะสร้างใน response
top_p ตัวเลข ไม่ Nucleus sampling พิจารณา tokens ตามความน่าจะเป็น top_p ค่าเริ่มต้น: 1
frequency_penalty ตัวเลข ไม่ ลงโทษ tokens ตามความถี่ (-2 ถึง 2) ค่าเริ่มต้น: 0
presence_penalty ตัวเลข ไม่ ลงโทษ tokens ตามการมีอยู่ (-2 ถึง 2) ค่าเริ่มต้น: 0
stop สตริง/อาร์เรย์ ไม่ ลำดับหยุด สูงสุด 4 ลำดับที่การสร้างจะหยุด
stream บูลีน ไม่ เปิดใช้งาน streaming responses ผ่าน SSE ค่าเริ่มต้น: false

บทบาทของข้อความ

  • system - system - กำหนดพฤติกรรม/บุคลิกของ assistant
  • user - user - ข้อความจากผู้ใช้
  • assistant - assistant - responses ก่อนหน้าจาก assistant

ตัวอย่างโค้ด

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ],
    temperature=0.7,
    max_tokens=1000
)

print(response.choices[0].message.content)

Streaming

เปิดใช้งาน streaming เพื่อรับ tokens ทันทีที่ถูกสร้างผ่าน Server-Sent Events (SSE) ซึ่งช่วยให้ประสบการณ์ผู้ใช้ดีขึ้นสำหรับ responses ที่ยาว

ตั้งค่า "stream": true ใน request ของคุณเพื่อเปิดใช้งาน streaming

ตัวอย่าง Streaming

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# Enable streaming
stream = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Write a poem"}],
    stream=True
)

# Process chunks as they arrive
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

ความพยายามในการใช้เหตุผล

ควบคุมความลึกของ reasoning ด้วยพารามิเตอร์ reasoning_effort สำหรับโมเดล GPT-5

Smart AIPI ใช้ค่าเริ่มต้นเป็น reasoning.effort = "high" สำหรับ Responses API requests ทั้งหมด

หลังจากทดสอบอย่างกว้างขวาง เราพบว่า high คือ reasoning effort ที่ดีที่สุดสำหรับการใช้งานจริง — ให้การใช้ tools และการวิเคราะห์ที่ลึกและเชื่อถือได้ โดยไม่ต้องแลกกับ latency แบบ xhigh. คุณสามารถ override ได้โดยการตั้งค่า reasoning effort เองใน request

Smart AIPI ใช้ค่าเริ่มต้น store = false สำหรับ Responses API และ WebSocket requests ทั้งหมด

upstream API กำหนดให้ใช้ store: false สำหรับ GPT-5.4 และโมเดลใหม่กว่า ถ้าคุณตั้งค่า store: true ใน requests ของคุณ คุณจะได้รับข้อผิดพลาด "Store must be set to false" ให้ลบออกหรือตั้งค่าเป็น false.

โมเดลที่รองรับ

คำตอบ API

gpt-5.4, gpt-5.3, gpt-5.1, gpt-5 และ Codex variants ทั้งหมด

Chat Completions เท่านั้น

gpt-5.4-nano — รองรับ reasoning เฉพาะบน /v1/chat/completions .

ระดับ Reasoning Effort

  • none - ไม่มี reasoning ข้ามการคิดทั้งหมด
  • low - reasoning ขั้นต่ำ เหมาะมากสำหรับงานง่าย ๆ
  • medium - สมดุลระหว่างความเร็วและความลึก
  • high - การวิเคราะห์เชิงลึกสำหรับปัญหาที่ซับซ้อน (ค่าเริ่มต้นของ Smart AIPI)
  • xhigh - สูงเป็นพิเศษ ความลึกของ reasoning สูงสุดสำหรับปัญหาที่ยากที่สุด

โหมดเร็ว (Priority Processing)

ใช้ service_tier: "priority" สำหรับ priority processing ที่มี latency ต่ำลง นี่คือสิ่งที่คำสั่ง /fast ใน Codex CLI ใช้งาน มันไม่ได้เปลี่ยนความลึกของ reasoning — คุณจะได้คุณภาพเท่าเดิม แต่เร็วขึ้น

ราคา: priority processing จะถูกคิดค่าบริการที่ 1.5x ของอัตรามาตรฐาน ตัวอย่างเช่น GPT-5.4 output ปกติราคา $3.75/1M tokens — ถ้าใช้ priority จะเป็น $5.625/1M tokens

response = client.responses.create(
    model="gpt-6-astra",
    input="Refactor this function",
    service_tier="priority"              # priority processing, lower latency
)

เสร็จสิ้นการแชท API

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Analyze this code for bugs..."}],
    reasoning_effort="high"  # or "xhigh" for maximum depth
)

คำตอบ API

# Reasoning is set via the "reasoning" object
response = client.responses.create(
    model="gpt-6-astra",
    input=[{"role": "user", "content": "Refactor this function..."}],
    reasoning={"effort": "high"}  # defaults to "high" on Smart AIPI
)

การสร้างรูปภาพ

สร้างรูปภาพจาก text prompts ด้วย image generation endpoint ของเรา

ข้อจำกัดปัจจุบัน: รูปภาพแบบ variation ( /v1/images/variations ) ยังไม่รองรับในตอนนี้ Image edits ใช้งานได้ผ่าน /v1/images/edits.
POST /v1/images/generations
ใหม่: gpt-image-2.5-flare และ gpt-image-2.5-sunburst พร้อมใช้งานแล้ว โมเดลสร้างภาพรุ่นใหม่ล่าสุดของ OpenAI เปิดให้ใช้งานแล้ว: คุณภาพสูงกว่า gpt-image-2 พร้อมเวลาแฝงต่ำกว่าถึง 50% (flare) และการควบคุมการแก้ไขแบบหลายรอบที่แม่นยำยิ่งขึ้นสำหรับงานสร้างสรรค์ระดับโปรดักชัน (sunburst) อัตราโทเค็นไม่เปลี่ยนแปลงจาก gpt-image-2 ดังนั้นราคาที่นี่จึงเท่ากันทุกประการ — การอัปเกรดไม่มีค่าใช้จ่ายเพิ่มเติม ทั้งสองรุ่นรองรับการสร้างภาพ การแก้ไข และการเติมภาพในพื้นที่มาสก์ ในราคา 50% ของราคาตรงจาก OpenAI อ่านโพสต์ประกาศเปิดตัว.

พารามิเตอร์ใน Request Body

พารามิเตอร์ ประเภท คำอธิบาย
prompt สตริง คำอธิบายข้อความของรูปภาพที่จะสร้าง (จำเป็น)
model สตริง "gpt-image-2.5-flare" (frontier), "gpt-image-2.5-sunburst" หรือ "gpt-image-2" ค่าเริ่มต้น: "gpt-image-2.5-flare"
n จำนวนเต็ม จำนวนรูปภาพที่จะสร้าง (1-10) ค่าเริ่มต้น: 1
size สตริง "1024x1024", "1024x1792" หรือ "1792x1024" ค่าเริ่มต้น: "1024x1024"
quality สตริง "standard" หรือ "hd" ค่าเริ่มต้น: "standard"

โมเดลที่พร้อมใช้งาน

  • gpt-image-2.5-flare - โมเดล frontier คุณภาพสูงสุด (ค่าเริ่มต้น)
  • gpt-image-2.5-sunburst - การแก้ไขที่แม่นยำและงานสร้างสรรค์ระดับพรีเมียม (การสร้างช้ากว่า)
  • gpt-image-latest - Alias สำหรับ gpt-image-2.5-flare
  • gpt-image-2 - รุ่นเรือธงของเจเนอเรชันก่อนหน้า
  • gpt-image-1.5 - รุ่นเรือธงรุ่นเก่า (รองรับพื้นหลังโปร่งใส)
  • gpt-image-1 - การสร้างรูปภาพคุณภาพเต็ม
  • gpt-image-1-mini - เร็วกว่า รูปภาพขนาดเล็กกว่า

ตัวอย่าง

response = client.images.generate(
    model="gpt-image-2.5-flare",
    prompt="A futuristic city at sunset, cyberpunk style",
    size="1024x1024",
    n=1
)

# Response contains base64-encoded image
image_b64 = response.data[0].b64_json

# Save to file
import base64
with open("output.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

การแก้ไขรูปภาพ

แก้ไขรูปภาพที่มีอยู่ด้วย text prompt รองรับทั้ง JSON (สตริง base64) และ multipart/form-data (อัปโหลดไฟล์) ดังนั้น OpenAI SDKs จึงใช้งานได้ทันที

หมายเหตุ: รองรับเฉพาะการแก้ไขรูปภาพเดี่ยวเท่านั้น ขณะนี้ยังไม่รองรับ multi-image inputs และฟิลด์ mask
POST /v1/images/edits

พารามิเตอร์ใน Request Body

พารามิเตอร์ ประเภท คำอธิบาย
prompt สตริง คำอธิบายข้อความของการแก้ไขที่ต้องการ (จำเป็น)
image สตริง รูปภาพที่เข้ารหัสแบบ Base64 สำหรับแก้ไข (จำเป็น)
model สตริง "gpt-image-2.5-flare" (ค่าเริ่มต้น), "gpt-image-2.5-sunburst" หรือ "gpt-image-2"
n จำนวนเต็ม จำนวนรูปภาพที่แก้ไขแล้วที่จะสร้าง (1-10) ค่าเริ่มต้น: 1
size สตริง "1024x1024", "1024x1792" หรือ "1792x1024" ค่าเริ่มต้น: "1024x1024"
quality สตริง "low", "medium", "high" หรือ "auto" ค่าเริ่มต้น: "medium"
Multi-reference edits and mask inpainting are supported. Pass image as an array of base64 strings (JSON) or as repeated image / image[] parts (multipart). Add a mask field alongside image to restrict edits to specific regions (white = edit, black = preserve). Works identically to the official OpenAI SDK.

ตัวอย่าง

import base64

response = client.images.edit(
    model="gpt-image-2.5-flare",
    image=open("input.png", "rb"),
    prompt="Change the background to a sunset beach",
    size="1024x1024",
    n=1
)

# Save the edited image
edited_b64 = response.data[0].b64_json
with open("edited.png", "wb") as f:
    f.write(base64.b64decode(edited_b64))

Realtime API ด้วย WebSocket

WebSockets WebSockets เป็น API ที่รองรับอย่างกว้างขวางสำหรับการส่งข้อมูลแบบ realtime และเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการเชื่อมต่อกับ Smart AIPI Realtime API ในแอปพลิเคชันแบบ server-to-server

ในการเชื่อมต่อแบบ server-to-server ระบบ backend ของคุณจะเชื่อมต่อผ่าน WebSocket ไปยัง Realtime API โดยตรง ใช้ API มาตรฐานเพื่อยืนยันตัวตนการเชื่อมต่อ เพราะ token นี้มีอยู่ได้เฉพาะบน backend server ที่ปลอดภัยของคุณเท่านั้น

WSS wss://api.smartaipi.com/v1/responses

เชื่อมต่อผ่าน WebSocket

ด้านล่างนี้เป็นตัวอย่างหลายแบบของการเชื่อมต่อผ่าน WebSocket นอกจากการใช้ WebSocket URL แล้ว คุณยังต้องส่ง authentication header โดยใช้ API key ของคุณด้วย

import WebSocket from "ws";

const url = "wss://api.smartaipi.com/v1/responses";
const ws = new WebSocket(url, {
  headers: {
    Authorization: "Bearer " + process.env.SMARTAIPI_API_KEY,
  },
});

ws.on("open", function open() {
  console.log("Connected to server.");

  // Send a response.create event
  ws.send(JSON.stringify({
    type: "response.create",
    response: {

      model: "gpt-6-astra",
      store: false,
      input: [{ role: "user", content: "Hello!" }],
      stream: true,
    },
  }));
});

ws.on("message", function incoming(message) {
  const event = JSON.parse(message.toString());
  console.log(event.type, event);
});

การส่งและรับ Events

sessions ถูกจัดการด้วย JSON events ที่ส่งจาก client และ server ผ่านการเชื่อมต่อ WebSocket ให้ครอบ request ของคุณไว้ใน response.create ซองจดหมาย:

อีเวนต์ ทิศทาง คำอธิบาย
response.create ไคลเอนต์ ส่ง request (ครอบ model, input และพารามิเตอร์ของคุณ)
response.created เซิร์ฟเวอร์ session ได้รับการยอมรับแล้ว เริ่มประมวลผล
response.output_text.delta เซิร์ฟเวอร์ ข้อความแบบ streaming chunk
response.completed เซิร์ฟเวอร์ event สุดท้ายที่มี response และ usage แบบเต็ม
response.failed เซิร์ฟเวอร์ event สุดท้ายที่ระบุว่ามีข้อผิดพลาด
สำคัญ: WebSocket requests ต้องมี "store": false ใน response envelope การเชื่อมต่อจะคงอยู่ต่อเนื่องได้หลาย turns — ส่ง response.create frames เพิ่มเติมได้โดยไม่ต้องเชื่อมต่อใหม่

รายการโมเดล

ดึงรายการโมเดลทั้งหมดที่พร้อมใช้งาน ใช้ endpoint นี้เพื่อค้นหาแบบ dynamic ว่ามีโมเดลใดบ้างสำหรับบัญชีของคุณ

GET /v1/models

รูปแบบ Response

{
    "object": "list",
    "data": [
        {
            "id": "gpt-6-astra",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        {
            "id": "gpt-5.3-codex",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        // ... more models
    ]
}

ตัวอย่าง

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# List all available models
models = client.models.list()

for model in models.data:
    print(model.id)

โมเดลที่พร้อมใช้งาน

GPT ซีรีส์

  • gpt-6-astra ล่าสุด
  • gpt-5.6-sol
  • gpt-5.6-terra
  • gpt-5.6-luna
  • gpt-5.5
  • gpt-5.4-pro
  • gpt-5.4
  • gpt-5.4-mini
  • gpt-5.4-nano completions เท่านั้น

โคเด็กซ์ซีรีส์

  • gpt-5.3-codex
  • gpt-5.2-codex
  • gpt-5.2
  • gpt-5.1

Anthropic ข้อความ API

รองรับ Anthropic Messages API เต็มรูปแบบ ใช้ได้กับ Anthropic SDK, Claude Code หรือแอปใด ๆ ที่รองรับ Anthropic protocol ได้ทันที แค่เปลี่ยน base URL

POST /v1/messages

ฟีเจอร์ที่รองรับ

  • Streaming (รองรับ Anthropic SSE event protocol แบบเต็ม)
  • การใช้ tools / function calling
  • System messages (ทั้งรูปแบบ string และ array)
  • Image inputs (base64 และ URL)
  • การนับ Token (/v1/messages/count_tokens)
  • การคิดแบบขยาย / reasoning effort

ตัวอย่างโค้ด

from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.smartaipi.com",
    api_key="your-api-key"
)

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.content[0].text)

การแมปโมเดล

ชื่อโมเดล Claude สามารถใช้ได้และจะถูก route อัตโนมัติไปยัง GPT-5.4 พร้อม reasoning effort แบบแบ่งระดับ ทุก response จะมี x-actual-model header ที่แสดง backend model จริง

Claude รุ่น แบ็กเอนด์ การใช้เหตุผล เหมาะสำหรับ
claude-opus-4-6 gpt-5.4 สูง reasoning ซับซ้อน, สถาปัตยกรรม
claude-sonnet-4-5-20250929 gpt-5.4 ปานกลาง เขียนโค้ดประจำวัน, คุณภาพสมดุล
claude-haiku-4-5-20251001 gpt-5.4 ต่ำ ตอบกลับเร็ว, งานง่าย ๆ

Claude Code

ใช้ Claude Code กับ Smart AIPI เป็น backend รองรับการใช้ tools, streaming และความสามารถแบบ agentic เต็มรูปแบบ

ตั้งค่าอัตโนมัติ

คำสั่งเดียว
npx smart-aipi claude

วิธีนี้จะตั้งค่า ~/.claude/settings.json และ ~/.claude.json ให้อัตโนมัติ ถ้าคุณตั้งค่า Claude Code กับบัญชี Anthropic ไว้อยู่แล้ว ระบบจะแสดงการตั้งค่าด้วยตนเองแทนการเขียนทับ

ตั้งค่าด้วยตนเอง

เพิ่มลงใน ~/.claude/settings.json:

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.smartaipi.com",
    "ANTHROPIC_API_KEY": "sk-your-key",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
  },
  "model": "opus"
}

จากนั้นเพิ่ม "hasCompletedOnboarding": true ไปที่ ~/.claude.json เพื่อข้าม setup wizard

หลังแก้ไขการตั้งค่าแล้ว ให้รีสตาร์ท Claude Code เพื่อให้การเปลี่ยนแปลงมีผล ถ้าคุณเชื่อมต่อ Claude Code กับบัญชี Anthropic จริงอยู่แล้ว การตั้งค่า env vars เหล่านี้จะเขียนทับการเชื่อมต่อนั้น ให้ใช้แบบระดับโปรเจกต์ .claude/settings.json เพื่อให้ใช้ได้ทั้งสองแบบ

แต่ละการตั้งค่าทำอะไรบ้าง

  • "model": "opus" — โมเดลหลัก ใช้ claude-opus-4-6 (reasoning สูง) สำหรับงานหลักทั้งหมด
  • ANTHROPIC_DEFAULT_HAIKU_MODEL — โมเดลเบื้องหลัง ใช้ claude-haiku-4-5 (reasoning ต่ำ) สำหรับงานเบื้องหลังที่ต้องการความเร็ว เช่น การทำดัชนีไฟล์
  • สลับระหว่างโมเดลระหว่าง session ได้ด้วย /model sonnet, /model opus, หรือ /model haiku.
ชื่อแทน Claude รุ่น แบ็กเอนด์ การใช้เหตุผล
opus claude-opus-4-6 gpt-5.4 สูง
sonnet claude-sonnet-4-5-20250929 gpt-5.4 ปานกลาง
haiku claude-haiku-4-5-20251001 gpt-5.4 ต่ำ

OpenCode

ใช้ Smart AIPI เป็น OpenCode backend ของคุณผ่าน OpenAI-compatible SDK

ตั้งค่า Config

~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "smart-aipi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Smart AIPI",
      "options": {
        "baseURL": "https://api.smartaipi.com/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "gpt-6-astra": {
          "name": "GPT-6 Astra",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.3-codex": {
          "name": "GPT-5.3 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.2-codex": {
          "name": "GPT-5.2 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5-codex": {
          "name": "GPT-5 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        }
      }
    }
  },
  "model": "smart-aipi/gpt-6-astra"
}

โคเด็กซ์ CLI

ใช้ Smart AIPI กับเครื่องมือ Codex CLI ของ OpenAI ต้องตั้งค่า 3 ไฟล์

ตั้งค่าอัตโนมัติ

คำสั่งเดียว
npx smart-aipi codex

วิธีนี้จะตั้งค่าทั้งสามไฟล์ด้านล่างให้อัตโนมัติ หลังจากรันแล้ว ให้เพิ่ม model_reasoning_effort ลงใน config ของคุณ (ดูขั้นตอนที่ 2)

ตั้งค่าด้วยตนเอง

ตั้งค่าทั้งสามไฟล์นี้:

1. API คีย์ — ~/.codex/auth.json

~/.codex/auth.json
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "sk-your-key"
}

2. Model และ Reasoning — ~/.codex/config.toml

ให้ใส่ model_reasoning_effort เสมอ - จำเป็นสำหรับโมเดลแบบกำหนดเอง

ถ้าไม่มี Codex จะใช้ no reasoning เป็นค่าเริ่มต้นและจะทำงานได้ไม่ถูกต้อง ให้ใช้ "high" เพื่อผลลัพธ์ที่ดีที่สุด

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

ระดับ reasoning ที่ใช้ได้: low, medium, high (แนะนำ), xhigh.

3. ตัวแปรสภาพแวดล้อม — ~/.zshrc

~/.zshrc (or ~/.bashrc)
# Smart AIPI
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.smartaipi.com/v1"

หลังแก้ไข shell profile ของคุณแล้ว ให้รีสตาร์ท terminal หรือรัน source ~/.zshrc เพื่อให้การเปลี่ยนแปลงมีผล

จากนั้นใช้ Codex ตามปกติ:

เทอร์มินัล
codex "fix this bug"

คู่มือความเร็ว Codex WebSocket

โหมด WebSocket มักจะเร็วกว่าในการทำ agentic coding flows ที่มีการเรียก tools จำนวนมาก แทนที่จะเชื่อมต่อใหม่ซ้ำ ๆ ผ่าน HTTP และส่ง request envelopes แบบเต็มทุกครั้ง Codex จะคงการเชื่อมต่อเดียวไว้และส่ง turns แบบ incremental ซึ่งช่วยลด continuation overhead

การปรับปรุงที่สังเกตได้: ในการรันงานเขียนโค้ดที่ใช้ tools หนัก ๆ ของเรา Codex โอเพนซอร์สที่ build ใหม่พร้อม WebSocket fixes ช่วยลดเวลารวมตั้งแต่ต้นจนจบได้ประมาณ 30-40% เมื่อเทียบกับโหมด HTTP continuation

เปิดใช้งาน WebSockets ใน Codex

ใช้ WebSocket v2 feature flag ใน ~/.codex/config.toml: ~/.codex/config.toml:

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

[features]
responses_websockets_v2 = true

CLI ที่เทียบเท่า:

เทอร์มินัล
codex --enable responses_websockets_v2

build รุ่นเก่าอาจใช้ flag แบบ legacy:

ตัวเลือกสำรองแบบ legacy
[features]
responses_websockets = true

พฤติกรรมที่พบใน Homebrew

ในบาง build ที่แจกจ่ายผ่าน Homebrew, WebSocket turns อาจค้างระหว่างงานที่ใช้เวลานาน แล้ว fallback กลับไปใช้ HTTP แบบเงียบ ๆ เราพบสิ่งนี้โดยเฉพาะในลูป tool-call ที่ซับซ้อน การ build ใหม่จากโค้ดโอเพนซอร์สพร้อมการแก้ไขด้านล่างช่วยเพิ่มทั้งเสถียรภาพและความเร็ว

หลัง Merge: แก้บั๊ก Open-Source WebSocket

หลัง merge branch ของคุณแล้ว ให้ใช้ checklist นี้เพื่อยืนยันว่า fix อยู่ใน local binary ของคุณแล้ว:

เทอร์มินัล
# 1) Pull merged main
git checkout main
git pull --ff-only

# 2) Confirm websocket flags exist
codex features list | rg responses_websockets

# 3) Build and install
cd codex-rs
cargo build --release
install -m 0755 target/release/codex ~/.local/bin/codex-beta

# 4) Run with websocket enabled
CODEX_RS_RESPONSES_WS=true \
OPENAI_BASE_URL=https://api.smartaipi.com/v1 \
~/.local/bin/codex-beta --enable responses_websockets_v2

ถ้าคุณต้อง patch ด้วยตัวเอง ให้ตรวจสอบว่ามีการแก้ไขระดับโค้ดเหล่านี้อยู่:

การแก้ไข websocket client
# A) Build websocket request with IntoClientRequest so required headers are set
let mut request = url.as_str().into_client_request()?;
request.headers_mut().extend(headers);

# B) Ensure TLS roots are enabled for tokio-tungstenite in Cargo.toml
tokio-tungstenite = { version = "...", features = ["rustls-tls-native-roots"] }

Cursor และ Cline

ใช้ Smart AIPI กับ Cursor IDE หรือส่วนขยาย Cline บน VS Code

Cursor Cursor

  1. เปิด Cursor Settings
  2. ไปที่แท็บ Models แท็บ
  3. คลิก + Add Model
  4. ตั้งค่า Base URL: https://api.smartaipi.com/v1
  5. กรอก API key ของคุณ
  6. แบบอย่าง: gpt-6-astra

Cline Cline (VS Code)

  1. เปิดการตั้งค่า Cline ใน VS Code
  2. เลือก OpenAI Compatible
  3. ฐาน URL: https://api.smartaipi.com/v1
  4. กรอก API key ของคุณ
  5. แบบอย่าง: gpt-6-astra

แชต

ใช้ Smart AIPI Chat ที่ chat.smartaipi.com. สำหรับ workflow ด้านข้อความ รูปภาพ วิดีโอ โค้ด การค้นหา และเสียง

ฟีเจอร์

  • แชต — การสนทนาข้อความทั่วไปด้วยโมเดลของ Smart AIPI
  • รูปภาพ — สร้างและแก้ไขรูปภาพจาก prompts
  • วิดีโอ — สร้างวิดีโอจากข้อความหรือ image inputs
  • โค้ด — ช่วยเขียนและแก้ไขโค้ดในเบราว์เซอร์
  • ค้นหา — ใช้การค้นหาเว็บเพื่อคำตอบที่มีแหล่งอ้างอิง
  • เสียง — พูดคุยกับโมเดลด้วยเสียงทั้ง input และ responses

เริ่มต้นใช้งาน

  1. 1. เปิด chat.smartaipi.com
  2. 2. เข้าสู่ระบบหรือสร้างบัญชี
  3. 3. เริ่มแชตด้วยข้อความ รูปภาพ วิดีโอ โค้ด การค้นหา หรือเสียง

การคิดค่าบริการ: การใช้งานจะถูกคิดค่าบริการจากเครดิต Smart AIPI ของคุณ

ตัวทดสอบ API

ทดสอบ API ได้โดยตรงจากเบราว์เซอร์ของคุณ:

ส่งข้อความแล้ว

เราจะตอบกลับคุณภายใน 2 วันทำการ

ติดต่อฝ่ายสนับสนุน

มีคำถามหรือต้องการความช่วยเหลือ? ส่งข้อความหาเรา แล้วเราจะตอบกลับภายใน 2 วันทำการ