เชื่อมต่อ

เชื่อมเครื่องมือภายนอกกับ ClickNext

อัปเดตล่าสุด 29 ก.ย. 2026

ต่อ Warp, Cursor, Claude Code, OpenCode หรือทุกเครื่องมือที่รับ base URL แบบ OpenAI/Anthropic เข้ากับ ClickNext Gateway ด้วย virtual key cnx- ตัวเดียว

ทุกทราฟฟิกวิ่งผ่านเกตเวย์ของเราเอง — IT หมุนคีย์ คุมโควตา และดู log กลางได้ที่เดียว ผู้ใช้ไม่ต้องถือ provider key ดิบบนเครื่องเลย เลือกโมเดล auto ให้เกตเวย์เลือกให้ หรือระบุโมเดลเองก็ได้ (ดู โมเดลที่ใช้ได้)

หลักการเดียวจำง่าย: base URL ฝั่ง OpenAI ลงท้าย /api/v1 · ฝั่ง Claude Code (Anthropic) ใส่แค่ /api (ตัว SDK เติม /v1/messages ให้เอง) · คีย์คือ cnx- ของคุณเสมอ
ใช้แอป ClickNext เดสก์ท็อป หรือ /chat อยู่แล้ว? ไม่ต้องตั้งค่าอะไรในหน้านี้ — แอปเชื่อมเกตเวย์ให้เองหลังล็อกอิน หน้านี้สำหรับเครื่องมือภายนอกที่อยากใช้โมเดลผ่านเกตเวย์

ขอ cnx- key

virtual key ขึ้นต้นด้วย cnx- ผูกกับอีเมลบริษัทของคุณ เพิกถอน/ออกใหม่ได้โดยไม่กระทบคนอื่น

1
เช็กก่อนว่ามีคีย์อยู่แล้วหรือยังถ้าเคยล็อกอินแอปเดสก์ท็อป ระบบออกคีย์ส่วนตัวให้แล้ว (ชื่อ agent-auto …) — เปิด แดชบอร์ด → เมนู ของฉัน → กล่อง API Key ของฉัน → กด ดู key (เห็นได้เฉพาะคีย์ของตัวเอง และทุกครั้งที่กดดูถูกบันทึกไว้)
2
ยังไม่มี หรืออยากได้คีย์แยกต่อเครื่องมือ — ขอจากทีม IT / แอดมินแอดมินออกคีย์จากแดชบอร์ด (AI Keys) พร้อมกำหนดสิทธิ์โมเดลและโควตา
3
เก็บให้ดี ใช้ซ้ำได้ทุกเครื่องมือคีย์เดียวใช้ได้ทั้ง endpoint โมเดล (หน้านี้) และ ClickNext MCP
4
อย่าวาง provider key ดิบห้ามใส่คีย์ OpenAI/Anthropic/DeepSeek ตรง ๆ บนเครื่อง — ใช้ cnx- เท่านั้น ถ้าคีย์รั่ว แจ้ง IT เพิกถอนได้ทันที

Endpoint และ Schema

เกตเวย์รองรับสองสายโปรโตคอล เลือกให้ตรงกับเครื่องมือ

สายBase URLใช้กับ
OpenAI-compatiblehttps://clicknexttest.biz/api/v1Warp, Cursor, OpenCode, Continue, Aider, Zed, OpenAI SDK
Anthropic-wirehttps://clicknexttest.biz/apiClaude Code, Anthropic SDK (SDK เติม /v1/messages เอง)

ส่งคีย์ได้ 2 แบบ (ใช้ได้ทั้งสองสาย): Authorization: Bearer cnx-xxxxxxxx หรือ x-api-key: cnx-xxxxxxxx

Endpoint ที่เปิดให้ใช้

Endpointใช้ทำอะไร
POST /api/v1/chat/completionsแชทแบบ OpenAI — รองรับ stream และ function tools
POST /api/v1/messagesแชทแบบ Anthropic (Claude Code) — รองรับ tools, stream และรูปภาพ (ถ้าโมเดลรองรับ)
GET /api/v1/modelsรายชื่อโมเดลแชทที่คีย์นี้ใช้ได้ (พร้อม context_window)
GET /api/v1/limitsโควตาและยอดใช้ของคีย์ — ดู โควตาและลิมิต
POST /api/v1/images/generationsสร้างรูปแบบ OpenAI — ดู สร้างรูปผ่าน API
GET /api/v1/projectsโปรเจกต์ (งานต่อเนื่อง) ของคุณ — ดู Header เสริม
GET /api/opencode.jsonไฟล์ตั้งค่า OpenCode ที่สร้างจากรายชื่อโมเดลจริง
POST /api/mcpClickNext MCP — ดู หน้า MCP
ข้อควรรู้เรื่อง schema: ฝั่ง OpenAI ให้เลือก “OpenAI Chat Completions” เท่านั้น — เกตเวย์ ไม่มี /v1/responses, /v1/embeddings และ /v1/messages/count_tokens (เรียกแล้วได้ 404) ดังนั้นอย่าเลือก schema แบบ “OpenAI Responses” และไม่ต้องตั้ง reasoning_effort เอง เกตเวย์จัดการให้อัตโนมัติเมื่อใช้ tools

ตั้งค่าตามเครื่องมือ

เลือกเครื่องมือของคุณ แล้วคัดลอกค่าไปวางได้เลย (แทน cnx-xxxx ด้วยคีย์ของคุณ)

ใน Warp: เปิด Settings แล้วค้นคำว่า inference endpoint (Custom inference endpoint) จากนั้นเพิ่ม endpoint ใหม่

API schemaOpenAI Chat Completions
Endpoint URLhttps://clicknexttest.biz/api/v1
API keycnx-xxxxxxxx
Model namegpt-5.6-luna · alias (ไม่บังคับ): clicknext
อยากให้เกตเวย์เลือกโมเดลเอง ตั้ง Model name เป็น auto ได้ · รายละเอียดจุดที่มักพลาด ดู Warp โดยละเอียด

Cursor: Settings → Models → OpenAI API Key เปิด “Override OpenAI Base URL”

Base URLhttps://clicknexttest.biz/api/v1
API Keycnx-xxxxxxxx
Modelgpt-5.6-luna (หรือ auto)
เพิ่มชื่อโมเดลในช่อง custom model ของ Cursor ให้ตรงกับที่พิมพ์ไว้ (gpt-5.6-luna) ก่อนกด verify

Claude Code ใช้สาย Anthropic — base ใส่แค่ /api (SDK เติม /v1/messages ให้เอง) รองรับ tools เต็มรูปแบบ

macOS / Linux

export ANTHROPIC_BASE_URL=https://clicknexttest.biz/api
export ANTHROPIC_AUTH_TOKEN=cnx-xxxxxxxx
export ANTHROPIC_MODEL=auto
export ANTHROPIC_DEFAULT_HAIKU_MODEL=auto
claude

Windows (PowerShell)

$env:ANTHROPIC_BASE_URL="https://clicknexttest.biz/api"
$env:ANTHROPIC_AUTH_TOKEN="cnx-xxxxxxxx"
$env:ANTHROPIC_MODEL="auto"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="auto"
claude

หรือใส่ถาวรใน ~/.claude/settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://clicknexttest.biz/api",
    "ANTHROPIC_AUTH_TOKEN": "cnx-xxxxxxxx",
    "ANTHROPIC_MODEL": "auto",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "auto"
  }
}
ทำไมต้องตั้ง ANTHROPIC_DEFAULT_HAIKU_MODEL: Claude Code ใช้โมเดลเล็กตระกูล haiku ทำงานเบื้องหลัง ถ้าคีย์ของคุณไม่มีสิทธิ์โมเดล Claude งานเบื้องหลังจะโดน 403 — ตั้งเป็น auto (หรือโมเดลที่อยู่ในรายการของคุณ) ไว้ด้วย · ถ้าจะสลับโมเดลด้วยคำสั่ง /model ให้ตั้ง ANTHROPIC_DEFAULT_SONNET_MODEL / ANTHROPIC_DEFAULT_OPUS_MODEL เป็นโมเดลที่คีย์ใช้ได้เช่นกัน
โมเดล claude-* ใช้ได้เฉพาะคีย์ที่แอดมินเปิดสิทธิ์ Anthropic ให้ — เช็กจาก /api/v1/models ก่อน ถ้าไม่มีในรายการจะได้ 403 · กับโมเดล GPT-5.x ที่มี tools เกตเวย์ส่งผ่านโหมดคิด (Responses API) ให้เอง · เกตเวย์ตั้งให้ agent แนะนำตัวว่า ClickNext Agent และตอบเป็นภาษาไทย

วิธีเร็ว (แนะนำ): ให้เกตเวย์สร้างไฟล์ตั้งค่าจากรายชื่อโมเดลจริง

1
เก็บคีย์เข้า OpenCodeรัน opencode auth login → เลือก Other → ช่อง Provider id พิมพ์ clicknext → วางคีย์ cnx-
2
ดึงไฟล์ตั้งค่าคำสั่งด้านล่าง (ใส่ header คีย์ด้วย จะได้เฉพาะโมเดลที่คีย์ของคุณใช้ได้ · ไฟล์ไม่มีคีย์อยู่ข้างใน · ถ้ามี opencode.json เดิมจะถูกเขียนทับ)
3
เปิดใช้งานรัน opencode แล้วเลือก clicknext/gpt-5.6-luna (ตั้งเป็นค่าเริ่มต้นไว้ให้แล้ว)
mkdir -p ~/.config/opencode && curl -fsSL \
  -H "Authorization: Bearer cnx-xxxxxxxx" \
  https://clicknexttest.biz/api/opencode.json \
  -o ~/.config/opencode/opencode.json

หรือเขียนเอง ในไฟล์ opencode.json

{
  "provider": {
    "clicknext": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://clicknexttest.biz/api/v1",
        "apiKey": "cnx-xxxxxxxx"
      },
      "models": { "gpt-5.6-luna": {}, "auto": {} }
    }
  }
}
มีหน้าตั้งค่าเฉพาะพร้อมไฟล์ให้โหลด (รวม Windows) ที่ clicknexttest.biz/opencode
Codex CLI ใช้เป็นโมเดลผ่านเกตเวย์ไม่ได้ในตอนนี้: Codex รุ่นปัจจุบันคุยกับ provider ผ่าน OpenAI Responses API (wire_api = "responses") เท่านั้น แต่เกตเวย์มีแค่ Chat Completions — เรียกแล้วจะได้ 404

ยังต่อ ClickNext MCP เข้า Codex ได้ (ให้ Codex เรียกคลังสกิล, สมององค์กร, Hub ของเรา) — ดูวิธีที่ หน้า MCP → Codex

Cline / Roo Code (VS Code) — Settings ของส่วนขยาย

API ProviderOpenAI Compatible
Base URLhttps://clicknexttest.biz/api/v1
API Keycnx-xxxxxxxx
Model IDgpt-5.6-luna (หรือ auto)

Continue (VS Code / JetBrains) — เพิ่มใน ~/.continue/config.yaml

models:
  - name: ClickNext Gateway
    provider: openai
    model: gpt-5.6-luna
    apiBase: https://clicknexttest.biz/api/v1
    apiKey: cnx-xxxxxxxx

Aider (CLI)

export OPENAI_API_BASE=https://clicknexttest.biz/api/v1
export OPENAI_API_KEY=cnx-xxxxxxxx
aider --model openai/gpt-5.6-luna
เครื่องมือที่ไม่มีช่อง custom base URL (เช่น Antigravity ของ Google ณ ตอนที่เขียน) ต่อผ่านเกตเวย์ไม่ได้ — คำขอจะวิ่งตรงไปผู้ให้บริการ ไม่มีโควตา/log/สกิลของ ClickNext · ถ้างานต้องผ่านเกตเวย์ ให้ใช้ Claude Code, Cursor หรือ Cline แทน

ใช้ได้กับ OpenAI SDK, Anthropic SDK, Zed และทุกอย่างที่รับ base URL แบบ OpenAI/Anthropic

curl

curl https://clicknexttest.biz/api/v1/chat/completions \
  -H "Authorization: Bearer cnx-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"สวัสดี"}]}'

Python (OpenAI SDK)

from openai import OpenAI
client = OpenAI(api_key="cnx-xxxxxxxx",
                base_url="https://clicknexttest.biz/api/v1")
r = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "สวัสดี"}])
print(r.choices[0].message.content)

Node.js (OpenAI SDK)

import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.CLICKNEXT_KEY,          // cnx-xxxxxxxx
  baseURL: "https://clicknexttest.biz/api/v1",
});
const r = await client.chat.completions.create({
  model: "gpt-5.6-luna",
  messages: [{ role: "user", content: "สวัสดี" }],
});
console.log(r.choices[0].message.content);

Python (Anthropic SDK) — base ใส่แค่ /api

import anthropic
client = anthropic.Anthropic(api_key="cnx-xxxxxxxx",
                             base_url="https://clicknexttest.biz/api")
r = client.messages.create(
    model="auto", max_tokens=1024,
    messages=[{"role": "user", "content": "สวัสดี"}])
print("".join(b.text for b in r.content if b.type == "text"))

Warp โดยละเอียด

สรุปจุดที่ทำให้ Warp ต่อไม่ติดบ่อยที่สุด

ถ้าเคยเจอ error Function tools with reasoning_effort are not supported… — ตอนนี้เกตเวย์แก้ให้แล้ว เพียงใช้ Chat Completions + โมเดลข้างต้น

โมเดลที่ใช้ได้

รายการโมเดลขึ้นกับสิทธิ์ของคีย์และทีมของคุณ และแอดมินเพิ่ม/ปิดโมเดลได้ตลอด — ดึงรายการจริงจากเกตเวย์เสมอ

curl https://clicknexttest.biz/api/v1/models \
  -H "Authorization: Bearer cnx-xxxxxxxx"

ได้ {"object":"list","data":[{"id":"…","owned_by":"…","context_window":…}]} — ใช้ค่า id เป็นชื่อโมเดลในเครื่องมือได้ทันที (รายการนี้มีเฉพาะโมเดลแชท โมเดลสร้างรูป/วิดีโอไม่แสดง)

ตัวอย่างที่ใช้กันบ่อย (ณ 29 ก.ย. 2026 — คีย์ของคุณอาจมีมากหรือน้อยกว่านี้)

โมเดลหมายเหตุ
autoAuto Router — ตอนนี้ส่งไปโมเดลหลัก gpt-5.6-luna เป็นหลัก (ให้ข้อมูลอยู่กับ provider เดียว) + แนบสกิลที่เกี่ยวข้องตามชนิดงานให้เอง + ถ้า provider หลักล่ม สลับไปตัวสำรองอัตโนมัติ
gpt-5.6-lunaโมเดลหลัก (primary) — ค่าเริ่มต้นที่แนะนำสำหรับทุกเครื่องมือ
gpt-5.6-sol, gpt-6-lunaGPT รุ่นอื่นที่เปิดให้คีย์พนักงานส่วนใหญ่ (ถ้าขึ้นในรายการของคุณ)
deepseek-chatเปิดให้ทั้งองค์กร
claude-*เฉพาะคีย์ที่แอดมินเปิดสิทธิ์ Anthropic — ไม่มีในรายการ = เรียกแล้วได้ 403
ขอโมเดลนอกสิทธิ์ เกตเวย์ตอบ 403 This API key is not allowed to use … ทันที ไม่สลับไปโมเดลอื่นให้ · ข้อยกเว้นมี 2 กรณี: โควตาหมด (ดู โควตาและลิมิต) หรือ provider ของโมเดลที่เลือกล่มชั่วคราว — เกตเวย์จะลองรันบนโมเดลภายในของบริษัทแทน ดูโมเดลที่รันจริงได้จาก field model ในผลลัพธ์ หรือ header x-clicknext-model (สาย Anthropic)

โควตาและลิมิต

โควตาผูกกับคีย์ แอดมินตั้งได้ทั้งจำนวนโทเคนและงบ (USD) ต่อรอบ

ดูโควตาและยอดใช้ของคีย์

curl https://clicknexttest.biz/api/v1/limits \
  -H "Authorization: Bearer cnx-xxxxxxxx"

ดูที่ limits.quota_period (week / month), limits.monthly_tokens (used / quota / pct / resets_at — ชื่อ field เป็น monthly แม้รอบจะเป็นรายสัปดาห์), limits.monthly_cost_usd, limits.today_tokens และ by_model (ใช้ไปเท่าไรต่อโมเดล) · quota: null = ไม่จำกัด

Header เสริม + ทำงานต่อข้ามเครื่องมือ

ไม่บังคับ — ใส่เพิ่มในคำขอเมื่ออยากได้ความสามารถเหล่านี้

Headerผล
x-project-id: <ชื่อ>ผูกบทสนทนาเข้า “โปรเจกต์” (ตัวอักษร a-z 0-9 . _ - ไม่เกิน 80 ตัว) — ไม่ใส่ = ใช้โปรเจกต์ประจำคีย์ (key-<id>) · เกตเวย์สรุปงาน (handoff brief) ให้อัตโนมัติทุก ๆ 5 รอบ
x-resume: 1แนบสรุปงานของโปรเจกต์นั้นให้โมเดลก่อนตอบ — เปลี่ยนเครื่องมือหรือโมเดลแล้วทำต่อจากที่ค้างไว้ได้ ไม่ต้องเล่าใหม่ (ใช้ได้เฉพาะโปรเจกต์ของคุณเอง)
x-clicknext-effort: low | medium | highเฉพาะ /api/v1/messages + GPT-5.x ที่มี tools — กำหนดความลึกของการคิดในรอบนั้น (ค่าเริ่มต้น medium)

Header ที่เกตเวย์ตอบกลับ (บน /api/v1/messages): x-clicknext-model = โมเดลที่รันจริง · x-clicknext-context-window = ขนาด context ของโมเดลนั้น · x-clicknext-effort = ระดับการคิดที่ใช้จริง

ดู/ดึงโปรเจกต์: GET /api/v1/projects (รายการ) · GET /api/v1/projects/<id>/resume (สรุปงาน + 10 รอบล่าสุด) · POST /api/v1/projects/<id>/summarize (สรุปใหม่เดี๋ยวนี้) — หรือเรียกผ่าน MCP ด้วย list_projects / resume_project

curl https://clicknexttest.biz/api/v1/chat/completions \
  -H "Authorization: Bearer cnx-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "x-project-id: crm-report" \
  -H "x-resume: 1" \
  -d '{"model":"auto","messages":[{"role":"user","content":"ทำต่อจากเมื่อวาน"}]}'

สร้างรูปผ่าน API

โมเดลแชทวาดรูปไม่ได้ — ใช้ endpoint นี้ (รูปแบบเดียวกับ OpenAI Images)

curl https://clicknexttest.biz/api/v1/images/generations \
  -H "Authorization: Bearer cnx-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"โลโก้ร้านกาแฟ โทนเขียว มินิมอล"}'

ทดสอบการเชื่อมต่อ

ยิงคำขอเดียวเพื่อเช็กว่า key + endpoint ใช้ได้

curl https://clicknexttest.biz/api/v1/chat/completions \
  -H "Authorization: Bearer cnx-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"ping"}]}'

ได้ JSON ที่มี choices[0].message.content = เชื่อมต่อสำเร็จ · ได้ 401 = คีย์ผิด · ได้ 403 = โมเดลนอกสิทธิ์ (ลองเปลี่ยนเป็น auto) · เช็กโควตาที่เหลือด้วย /api/v1/limits

แก้ปัญหาที่พบบ่อย

อาการสาเหตุ / วิธีแก้
เชื่อมไม่ติด / 404เช็ก base URL: OpenAI ใช้ /api/v1, Claude Code ใช้ /api · อย่าใช้ schema “OpenAI Responses” · เครื่องมือที่บังคับ Responses API (เช่น Codex CLI รุ่นปัจจุบัน) ยังใช้ไม่ได้
401 Missing or malformed API key (expected cnx-...)ไม่ได้ส่งคีย์ หรือคีย์ไม่ได้ขึ้นต้น cnx- — ส่งเป็น Authorization: Bearer cnx-… หรือ x-api-key
401 Invalid or revoked API key / API key expiredคีย์พิมพ์ผิด ถูกเพิกถอน หรือหมดอายุ — ดูคีย์ปัจจุบันที่แดชบอร์ด (ของฉัน → API Key ของฉัน) หรือขอใหม่จาก IT
403 This API key is not allowed to use …โมเดลไม่อยู่ในสิทธิ์ของคีย์ — เลือกจาก /api/v1/models หรือใช้ auto · Claude Code: ตั้ง ANTHROPIC_DEFAULT_HAIKU_MODEL ด้วย (ดูแท็บ Claude Code) · อยากได้โมเดลเพิ่ม แจ้ง IT
403 This API key is not allowed to use the auto routerคีย์นี้ไม่ได้เปิด auto — ระบุชื่อโมเดลตรง ๆ จากรายการของคีย์
403 Access blocked by security policyบัญชี/เครื่อง/IP ถูกระงับโดยระบบความปลอดภัย — ติดต่อ IT
400 Cannot route model "…"ชื่อโมเดลไม่มีในระบบ (มักเป็นชื่อเก่าค้างใน config) — คัดลอก id จาก /api/v1/models ใหม่
400 โมเดล … เป็นโมเดลสร้างวิดีโอ/ภาพเรียกโมเดลสร้างสื่อผ่าน chat — ใช้ /api/v1/images/generations แทน
Function tools … reasoning_effortใช้ schema Chat Completions + โมเดล gpt-5.6-luna เกตเวย์จัดการ reasoning ให้เอง
max_tokens … use max_completion_tokensเกตเวย์แปลงให้แล้ว — อัปเดตเครื่องมือเป็นเวอร์ชันล่าสุด แล้วลองใหม่
429 Weekly/Monthly token quota exceeded หรือ … budget exceeded ($…)โควตาของรอบนี้หมด — เช็ก resets_at ที่ /api/v1/limits รอรอบใหม่ หรือขอ IT ปรับโควตา
429 Too many requests. Please slow down.ยิงคำขอถี่เกินจาก IP เดียว — รอ 60 วินาทีแล้วค่อยลองใหม่
คำตอบช้า/ต่างจากเดิม และ x-clicknext-model ไม่ใช่โมเดลที่เลือกโควตาหมด หรือ provider ของโมเดลที่เลือกล่มชั่วคราว ระบบจึงรันบนโมเดลภายในของบริษัทแทน — ดู โควตาและลิมิต
503 No active upstream key configured … / all routed providers failedprovider ปลายทางไม่พร้อมชั่วคราว — ลองใหม่ หรือใช้ auto (มีตัวสำรอง)
524 หรือหลุดหลังรอราว 100 วินาทีคำขอที่ยังไม่ส่งข้อมูลกลับเลยภายในราว 100 วินาทีอาจถูกตัวกลางตัดสาย — สาย OpenAI เปิด "stream": true · สาย Anthropic แบ่งงานต่อรอบให้เล็กลงแล้วลองใหม่

ขั้นถัดไป: ClickNext MCP

นอกจาก endpoint โมเดล ยังต่อ ClickNext MCP เพื่อให้เครื่องมือภายนอกเรียกเครื่องมือของ ClickNext เองได้ — คลังสกิล (รวมสกิลผู้เชี่ยวชาญ), สมององค์กร (Org Brain), ความต่อเนื่องของโปรเจกต์, สร้างรูป และ Hub ที่เรียกทะลุไประบบปลายทาง ด้วยคีย์เดียวกัน ดูวิธีที่ หน้า MCP