Files
OmniRoute/docs/i18n/th

🚀 OmniRoute — The Free AI Gateway (ไทย)

🌐 Languages: 🇺🇸 English · 🇪🇸 es · 🇫🇷 fr · 🇩🇪 de · 🇮🇹 it · 🇷🇺 ru · 🇨🇳 zh-CN · 🇯🇵 ja · 🇰🇷 ko · 🇸🇦 ar · 🇮🇳 hi · 🇮🇳 in · 🇹🇭 th · 🇻🇳 vi · 🇮🇩 id · 🇲🇾 ms · 🇳🇱 nl · 🇵🇱 pl · 🇸🇪 sv · 🇳🇴 no · 🇩🇰 da · 🇫🇮 fi · 🇵🇹 pt · 🇷🇴 ro · 🇭🇺 hu · 🇧🇬 bg · 🇸🇰 sk · 🇺🇦 uk-UA · 🇮🇱 he · 🇵🇭 phi · 🇧🇷 pt-BR · 🇨🇿 cs · 🇹🇷 tr


Never stop coding. Smart routing to FREE & low-cost AI models with automatic fallback.

พร็อกซี API สากลของคุณ — จุดสิ้นสุดเดียว ผู้ให้บริการมากกว่า 60 ราย เวลาหยุดทำงานเป็นศูนย์ ขณะนี้มีเซิร์ฟเวอร์ MCP (25 เครื่องมือ),โปรโตคอล A2A,ระบบหน่วยความจำ/ทักษะและแอปอิเล็กตรอนเดสก์ท็อป.

การแชทเสร็จสิ้น • การฝัง • การสร้างภาพ • วิดีโอ • เพลง • เสียง • การจัดอันดับใหม่ •การค้นหาเว็บ• เซิร์ฟเวอร์ MCP • โปรโตคอล A2A • TypeScript 100%---

🌐**มีจำหน่ายใน:**เชค ภาษาอังกฤษ | 🇧🇷 โปรตุเกส (บราซิล) | 🇪🇷 ภาษาสเปน | 🇫🇷 ฝรั่งเศส | 🇮🇹 อิตาลี | 🇷🇺 Русский | 🇮🇷 中文 (简体) | 🇩🇪 เยอรมัน | 🇮🇹 हिन्दी | 🇹🇭 ไทย | เชค Укра́ська | 🇷🇷 العربية | ประเทศญี่ปุ่น 日本語 | 🇻🇷 Tiếng Viết | 🇧🇧 Български | 🇩🇰 เดนมาร์ก | 🇫🇮 Suomi | 🇮🇱 עברית | 🇮🇹 แมกยาร์ | 🇮🇩 ภาษาอินโดนีเซีย | 🇰🇷 เกาหลี | 🇲🇾 ภาษามลายู | 🇮🇱 เนเธอร์แลนด์ | ไว้🇴 นอร์สค์ | 🇧🇹 Português (โปรตุเกส) | 🇷🇴 โรมัน | 🇧🇱 โปแลนด์ | 🇷🇷 สโลวีเนีย | 🇲🇪 Svenska | คาสเซิล ฟิลิปปินส์ | 🇮🇿 Šeština---

🖼️ Main Dashboard

OmniRoute Dashboard

📸 Dashboard Preview

<รายละเอียด>

คลิกเพื่อดูภาพหน้าจอแดชบอร์ด
หน้า ภาพหน้าจอ
ผู้ให้บริการ ผู้ให้บริการ
คอมโบ คอมโบ
การวิเคราะห์ การวิเคราะห์
สุขภาพ สุขภาพ
นักแปล นักแปล
การตั้งค่า การตั้งค่า
เครื่องมือ CLI เครื่องมือ CLI
บันทึกการใช้งาน การใช้งาน
ปลายทาง จุดสิ้นสุด

🤖 Free AI Provider for your favorite coding agents

เชื่อมต่อเครื่องมือ IDE หรือ CLI ที่ขับเคลื่อนด้วย AI ผ่าน OmniRoute — เกตเวย์ API ฟรีสำหรับการเข้ารหัสไม่จำกัด

<ตาราง>

OpenClaw
โอเพนคลอว์

205K NanoBot
นาโนบอท

20.9K PicoClaw
พิโกคลอว์

14.6K ZeroClaw
ซีโร่คลอว์

9.9K กรงเล็บเหล็ก
ไอรอนคลอว์

2.1K OpenCode
โอเพนโค้ด

106K Codex CLI
โคเด็กซ์ CLI

60.8K รหัสโคลด
รหัสโคลด

67.3K ราศีเมถุน CLI
ราศีเมถุน CLI

94.7K รหัสกิโล
รหัสกิโล

15.5K

📡 เจ้าหน้าที่ทั้งหมดเชื่อมต่อผ่าน http://localhost:20128/v1 หรือ http://cloud.omniroute.online/v1 — การกำหนดค่าเดียว โมเดลและโควต้าไม่จำกัด---

🤔 Why OmniRoute?

หยุดเสียเงินและจำกัดขีดจำกัด:

  • โควต้าการสมัครสมาชิกจะหมดอายุโดยไม่ได้ใช้ทุกเดือน
  • การจำกัดอัตราจะทำให้คุณไม่สามารถเขียนโค้ดกลางคันได้
  • API ราคาแพง ($20-50/เดือนต่อผู้ให้บริการ)
  • การสลับระหว่างผู้ให้บริการด้วยตนเอง

OmniRoute แก้ปัญหานี้:

  • เพิ่มการสมัครรับข้อมูลสูงสุด- ติดตามโควต้า ใช้ทุกบิตก่อนรีเซ็ต
  • ทางเลือกสำรองอัตโนมัติ- การสมัครสมาชิก → คีย์ API → ราคาถูก → ฟรี ไม่มีการหยุดทำงาน
  • หลายบัญชี- หมุนเวียนระหว่างบัญชีต่อผู้ให้บริการ
  • สากล- ใช้งานได้กับ Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw และเครื่องมือ CLI ใดๆ---

📧 Support

💌เข้าร่วมชุมชนของเรา!WhatsApp Group — รับความช่วยเหลือ แบ่งปันเคล็ดลับ และติดตามข่าวสารล่าสุด

-เว็บไซต์: omniroute.online -GitHub: github.com/diegosouzapw/OmniRoute -ปัญหา: github.com/diegosouzapw/OmniRoute/issues -WhatsApp: กลุ่มชุมชน -การมีส่วนร่วม: ดู CONTRIBUTING.md เปิดประชาสัมพันธ์ หรือเลือก ฉบับแรกที่ดี -โครงการดั้งเดิม: 9router โดย decolua### 🐛 Reporting a Bug?

เมื่อเปิดปัญหา โปรดเรียกใช้คำสั่ง system-info และแนบไฟล์ที่สร้างขึ้น:```bash npm run system-info


สิ่งนี้จะสร้าง `system-info.txt` ด้วยเวอร์ชัน Node.js, เวอร์ชัน OmniRoute, รายละเอียดระบบปฏิบัติการ, เครื่องมือ CLI ที่ติดตั้ง (qoder, gemini, claude, codex, antigravity, droid ฯลฯ) สถานะ Docker/PM2 และแพ็คเกจระบบ ทุกสิ่งที่เราต้องการในการทำซ้ำปัญหาของคุณอย่างรวดเร็ว แนบไฟล์โดยตรงกับปัญหา GitHub ของคุณ---

## 🔄 How It Works

┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking + Embeddings + Images │ │ • Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited)

Result: Never stop coding, minimal cost


---

## 🎯 What OmniRoute Solves — 30 Real Pain Points & Use Cases

>**นักพัฒนาทุกคนที่ใช้เครื่องมือ AI ต้องเผชิญกับปัญหาเหล่านี้ทุกวัน**OmniRoute ถูกสร้างขึ้นเพื่อแก้ไขปัญหาทั้งหมด ตั้งแต่ค่าใช้จ่ายที่มากเกินไปไปจนถึงการบล็อกระดับภูมิภาค จากโฟลว์ OAuth ที่เสียหาย ไปจนถึงการทำงานของโปรโตคอลและความสามารถในการสังเกตระดับองค์กร

<รายละเอียด>
<summary><b>💸 1. "ฉันจ่ายค่าสมัครสมาชิกราคาแพงแต่ยังคงถูกรบกวนด้วยขีดจำกัด"</b></summary>

นักพัฒนาจ่ายเงิน $20200/เดือนสำหรับ Claude Pro, Codex Pro หรือ GitHub Copilot แม้จะจ่ายเงิน โควต้าก็มีเพดาน — การใช้งาน 5 ชม. ขีดจำกัดรายสัปดาห์ หรือขีดจำกัดอัตราต่อนาที เซสชันการเข้ารหัสกลาง ผู้ให้บริการหยุดการตอบสนอง และนักพัฒนาสูญเสียความลื่นไหลและประสิทธิภาพการทำงาน

**OmniRoute แก้ปัญหาอย่างไร:**

-**ทางเลือกสำรองอัจฉริยะ 4 ระดับ**— หากโควต้าการสมัครสมาชิกหมด จะเปลี่ยนเส้นทางไปยังคีย์ API → ราคาถูก → ฟรีโดยไม่มีการแทรกแซงด้วยตนเอง
-**การติดตามขีดจำกัดของผู้ให้บริการ**— สแนปช็อตโควต้าแคชรีเฟรชตามกำหนดเวลาฝั่งเซิร์ฟเวอร์ (ค่าเริ่มต้น `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES=70`) พร้อมการรีเฟรชด้วยตนเองพร้อมใช้งานใน UI
-**การสนับสนุนหลายบัญชี**— หลายบัญชีต่อผู้ให้บริการพร้อมการหมุนเวียนอัตโนมัติ — เมื่อบัญชีหนึ่งหมด ให้สลับไปยังบัญชีถัดไป
-**คอมโบแบบกำหนดเอง**— ห่วงโซ่ทางเลือกที่ปรับแต่งได้พร้อมกลยุทธ์การปรับสมดุล 9 แบบ (ลำดับความสำคัญ ถ่วงน้ำหนัก เติมก่อน ปัดเศษ P2C สุ่ม ใช้น้อยที่สุด ปรับต้นทุนให้เหมาะสม สุ่มเข้มงวด)
-**โควต้าธุรกิจ Codex**— การตรวจสอบโควต้าพื้นที่ทำงานของธุรกิจ/ทีมโดยตรงในแดชบอร์ด</details>

<รายละเอียด>
<summary><b>🔌 2. "ฉันจำเป็นต้องใช้ผู้ให้บริการหลายราย แต่แต่ละรายมี API ที่แตกต่างกัน"</b></summary>

OpenAI ใช้รูปแบบหนึ่ง Claude (Anthropic) ใช้อีกรูปแบบหนึ่ง Gemini ยังใช้อีกรูปแบบหนึ่ง หากผู้พัฒนาต้องการทดสอบโมเดลจากผู้ให้บริการหลายรายหรือทางเลือกระหว่างผู้ให้บริการ พวกเขาจำเป็นต้องกำหนดค่า SDK ใหม่ เปลี่ยนตำแหน่งข้อมูล และจัดการกับรูปแบบที่เข้ากันไม่ได้ ผู้ให้บริการแบบกำหนดเอง (FriendLI, NIM) มีจุดสิ้นสุดโมเดลที่ไม่ได้มาตรฐาน

**OmniRoute แก้ปัญหาอย่างไร:**

-**Unified Endpoint**— `http://localhost:20128/v1` เดียวทำหน้าที่เป็นพร็อกซีสำหรับผู้ให้บริการมากกว่า 60 ราย
-**การแปลรูปแบบ**— อัตโนมัติและโปร่งใส: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
-**การฆ่าเชื้อการตอบสนอง**— ตัดช่องที่ไม่ได้มาตรฐาน (`x_groq`, `usage_breakdown`, `service_tier`) ที่ทำลาย OpenAI SDK v1.83+
-**การปรับบทบาทให้เป็นมาตรฐาน**— แปลง `ผู้พัฒนา` → `ระบบ` สำหรับผู้ให้บริการที่ไม่ใช่ OpenAI `ระบบ` → `ผู้ใช้` สำหรับ GLM/ERNIE
-**คิดการแยกแท็ก**— แยกบล็อก `<คิด>` จากโมเดลอย่าง DeepSeek R1 ให้เป็น `reasoning_content` ที่เป็นมาตรฐาน
-**เอาต์พุตที่มีโครงสร้างสำหรับราศีเมถุน**— `json_schema` → `responseMimeType`/`responseSchema` การแปลงอัตโนมัติ
-**`ค่าเริ่มต้นสตรีม` เป็น `false`**— สอดคล้องกับข้อกำหนด OpenAI หลีกเลี่ยง SSE ที่ไม่คาดคิดใน Python/Rust/Go SDK</details>

<รายละเอียด>
<summary><b>🌐 3. "ผู้ให้บริการ AI ของฉันบล็อกภูมิภาค/ประเทศของฉัน"</b></summary>

ผู้ให้บริการเช่น OpenAI/Codex บล็อกการเข้าถึงจากภูมิภาคทางภูมิศาสตร์บางแห่ง ผู้ใช้ได้รับข้อผิดพลาด เช่น `unsupported_country_region_territory` ในระหว่างการเชื่อมต่อ OAuth และ API สิ่งนี้น่าหงุดหงิดเป็นพิเศษสำหรับนักพัฒนาจากประเทศกำลังพัฒนา

**OmniRoute แก้ปัญหาอย่างไร:**

-**การกำหนดค่าพร็อกซี 3 ระดับ**— พร็อกซีที่กำหนดค่าได้ 3 ระดับ: ทั่วโลก (การรับส่งข้อมูลทั้งหมด) ต่อผู้ให้บริการ (ผู้ให้บริการรายเดียวเท่านั้น) และต่อการเชื่อมต่อ/คีย์
-**ป้ายพร็อกซีที่ใช้รหัสสี**— ตัวบ่งชี้ภาพ: 🟢 พร็อกซีส่วนกลาง, 🟡 พร็อกซีผู้ให้บริการ, 🔵 พร็อกซีการเชื่อมต่อ แสดง IP เสมอ
-**การแลกเปลี่ยนโทเค็น OAuth ผ่านพร็อกซี**— ขั้นตอน OAuth ยังต้องผ่านพร็อกซีด้วย เพื่อแก้ไข `unsupported_country_region_territory`
-**การทดสอบการเชื่อมต่อผ่านพร็อกซี**— การทดสอบการเชื่อมต่อใช้พร็อกซีที่กำหนดค่าไว้ (ไม่มีการบายพาสโดยตรงอีกต่อไป)
-**รองรับ SOCKS5**— รองรับพร็อกซี SOCKS5 เต็มรูปแบบสำหรับการกำหนดเส้นทางขาออก
-**การปลอมแปลงลายนิ้วมือ TLS**— ลายนิ้วมือ TLS เหมือนเบราว์เซอร์ผ่าน `wreq-js` เพื่อเลี่ยงการตรวจจับบอท
-**🔏 การจับคู่ลายนิ้วมือ CLI**— เรียงลำดับส่วนหัวและฟิลด์เนื้อหาใหม่เพื่อให้ตรงกับลายเซ็นไบนารีของ CLI ดั้งเดิม ซึ่งช่วยลดความเสี่ยงในการติดธงสถานะบัญชีได้อย่างมาก IP พร็อกซีจะถูกเก็บรักษาไว้ — คุณจะได้รับทั้งการซ่อนตัว**และ**การปกปิด IP พร้อมกัน</details>

<รายละเอียด>
<summary><b>🆓 4. "อยากใช้ AI เขียนโค้ด แต่ไม่มีเงิน"</b></summary>

ไม่ใช่ทุกคนที่สามารถจ่าย $20200/เดือน สำหรับการสมัครสมาชิก AI นักศึกษา นักพัฒนาจากประเทศเกิดใหม่ ผู้ที่สมัครเล่น และฟรีแลนซ์ต้องการเข้าถึงโมเดลคุณภาพโดยไม่มีค่าใช้จ่าย

**OmniRoute แก้ปัญหาอย่างไร:**

-**Free Tier Providers ในตัว**— รองรับเนทิฟสำหรับผู้ให้บริการฟรี 100%: Qoder (5 โมเดลไม่จำกัดผ่าน OAuth: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen (4 โมเดลไม่จำกัด: qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model) Kiro (Claude + AWS Builder ID ฟรี), Gemini CLI (ฟรี 180,000 โทเค็น/เดือน)
-**Ollama Cloud**— โมเดล Ollama ที่โฮสต์บนคลาวด์ที่ `api.ollama.com` พร้อมระดับ "การใช้งานระดับเบา" ฟรี ใช้คำนำหน้า `ollamacloud/<model>`
-**คอมโบฟรีเท่านั้น**— Chain `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/เดือน โดยไม่มีการหยุดทำงาน
-**NVIDIA NIM Free Access**— ~40 RPM dev-เข้าถึงฟรีตลอดกาลสำหรับโมเดลกว่า 70 รุ่นที่ build.nvidia.com (เปลี่ยนจากเครดิตเป็นการจำกัดอัตราที่แท้จริง)
-**กลยุทธ์การปรับต้นทุนให้เหมาะสม**— กลยุทธ์การกำหนดเส้นทางที่จะเลือกผู้ให้บริการที่ถูกที่สุดที่มีอยู่โดยอัตโนมัติ</details>

<รายละเอียด>
<summary><b>🔒 5. "ฉันต้องปกป้องเกตเวย์ AI ของฉันจากการเข้าถึงที่ไม่ได้รับอนุญาต"</b></summary>

เมื่อเปิดเผยเกตเวย์ AI ไปยังเครือข่าย (LAN, VPS, Docker) ใครก็ตามที่มีที่อยู่จะสามารถใช้โทเค็น/โควต้าของนักพัฒนาได้ หากไม่มีการป้องกัน API ก็เสี่ยงต่อการถูกนำไปใช้ในทางที่ผิด การแทรกทันที และการละเมิด

**OmniRoute แก้ปัญหาอย่างไร:**

-**การจัดการคีย์ API**— การสร้าง การหมุนเวียน และการกำหนดขอบเขตต่อผู้ให้บริการด้วยหน้า `/dashboard/api-manager` โดยเฉพาะ
-**การอนุญาตระดับโมเดล**— จำกัดคีย์ API ให้กับโมเดลเฉพาะ (`openai/*` รูปแบบไวด์การ์ด) พร้อมสลับอนุญาตทั้งหมด/จำกัด
-**การป้องกันปลายทาง API**— ต้องใช้คีย์สำหรับ `/v1/models` และบล็อกผู้ให้บริการบางรายจากรายการ
-**Auth Guard + การป้องกัน CSRF**— เส้นทางแดชบอร์ดทั้งหมดที่ได้รับการป้องกันด้วยมิดเดิลแวร์ 'withAuth' + โทเค็น CSRF
-**ตัวจำกัดอัตรา**— การจำกัดอัตราต่อ IP ด้วยหน้าต่างที่กำหนดค่าได้
-**การกรอง IP**— รายการที่อนุญาต/รายการบล็อกสำหรับการควบคุมการเข้าถึง
-**Prompt Injection Guard**— การฆ่าเชื้อจากรูปแบบการแจ้งเตือนที่เป็นอันตราย
-**การเข้ารหัส AES-256-GCM**— ข้อมูลประจำตัวได้รับการเข้ารหัสเมื่อไม่ได้ใช้งาน</details>

<รายละเอียด>
<summary><b>🛑 6. "ผู้ให้บริการของฉันหยุดทำงานและฉันสูญเสียขั้นตอนการเขียนโค้ด"</b></summary>

ผู้ให้บริการ AI อาจไม่เสถียร ส่งกลับข้อผิดพลาด 5xx หรือถึงขีดจำกัดอัตราชั่วคราว หากผู้พัฒนาขึ้นอยู่กับผู้ให้บริการรายเดียว ผู้ให้บริการเหล่านั้นจะถูกขัดจังหวะ หากไม่มีเซอร์กิตเบรกเกอร์ การลองซ้ำหลายครั้งอาจทำให้แอปพลิเคชันเสียหายได้

**OmniRoute แก้ปัญหาอย่างไร:**

-**เซอร์กิตเบรกเกอร์ต่อรุ่น**— เปิด/ปิดอัตโนมัติด้วยเกณฑ์และคูลดาวน์ที่กำหนดค่าได้ (ปิด/เปิด/เปิดครึ่ง) กำหนดขอบเขตต่อรุ่นเพื่อหลีกเลี่ยงการบล็อกแบบเรียงซ้อน
-**Exponential Backoff**— ความล่าช้าในการลองใหม่อย่างต่อเนื่อง
-**Anti-Thundering Herd**— Mutex + การป้องกันเซมาฟอร์จากพายุที่ลองใหม่พร้อมกัน
-**Combo Fallback Chains**— หากผู้ให้บริการหลักล้มเหลว จะตกผ่านห่วงโซ่โดยอัตโนมัติโดยไม่มีการแทรกแซง
-**Combo Circuit Breaker**— ปิดการใช้งานผู้ให้บริการที่ล้มเหลวภายในคอมโบเชนโดยอัตโนมัติ
-**แดชบอร์ดสุขภาพ**— การตรวจสอบสถานะการออนไลน์ สถานะของเซอร์กิตเบรกเกอร์ การล็อก สถิติแคช เวลาแฝง p50/p95/p99</details>

<รายละเอียด>
<summary><b>🏽 7. "การกำหนดค่าเครื่องมือ AI แต่ละรายการนั้นน่าเบื่อและซ้ำซาก"</b></summary>

นักพัฒนาใช้ Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... เครื่องมือแต่ละอันจำเป็นต้องมีการกำหนดค่าที่แตกต่างกัน (จุดสิ้นสุด API, คีย์, โมเดล) การกำหนดค่าใหม่เมื่อเปลี่ยนผู้ให้บริการหรือรุ่นเป็นการเสียเวลา

**OmniRoute แก้ปัญหาอย่างไร:**

-**แดชบอร์ดเครื่องมือ CLI**— หน้าเฉพาะพร้อมการตั้งค่าเพียงคลิกเดียวสำหรับ Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
-**GitHub Copilot Config Generator**— สร้าง `chatLanguageModels.json` สำหรับโค้ด VS พร้อมการเลือกโมเดลจำนวนมาก
-**ตัวช่วยสร้างการเริ่มต้นใช้งาน**— คำแนะนำการตั้งค่า 4 ขั้นตอนสำหรับผู้ใช้ครั้งแรก
-**จุดสิ้นสุดเดียว ทุกรุ่น**— กำหนดค่า `http://localhost:20128/v1` หนึ่งครั้ง เข้าถึงผู้ให้บริการมากกว่า 60 ราย</details>

<รายละเอียด>
<summary><b>🔑 8. "การจัดการโทเค็น OAuth จากผู้ให้บริการหลายรายนั้นแย่มาก"</b></summary>

Claude Code, Codex, Gemini CLI, Copilot — ทั้งหมดใช้ OAuth 2.0 โดยมีโทเค็นที่กำลังจะหมดอายุ นักพัฒนาจำเป็นต้องตรวจสอบสิทธิ์ซ้ำอย่างต่อเนื่อง จัดการกับ `client_secret is missing`, `redirect_uri_mismatch` และความล้มเหลวบนเซิร์ฟเวอร์ระยะไกล OAuth บน LAN/VPS เป็นปัญหาอย่างยิ่ง

**OmniRoute แก้ปัญหาอย่างไร:**

-**รีเฟรชโทเค็นอัตโนมัติ**— โทเค็น OAuth รีเฟรชในพื้นหลังก่อนหมดอายุ
-**OAuth 2.0 (PKCE) ในตัว**— โฟลว์อัตโนมัติสำหรับ Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder
-**OAuth หลายบัญชี**— หลายบัญชีต่อผู้ให้บริการผ่านการดึงโทเค็น JWT/ID
-**OAuth LAN/Remote Fix**— การตรวจจับ IP ส่วนตัวสำหรับ `redirect_uri` + โหมด URL แบบกำหนดเองสำหรับเซิร์ฟเวอร์ระยะไกล
-**OAuth ที่อยู่เบื้องหลัง Nginx**— ใช้ `window.location.origin` สำหรับความเข้ากันได้ของ Reverse proxy
-**คู่มือ OAuth ระยะไกล**— คำแนะนำทีละขั้นตอนสำหรับข้อมูลรับรอง Google Cloud บน VPS/Docker</details>

<รายละเอียด>
<summary><b>📊 9. "ฉันไม่รู้ว่าฉันใช้จ่ายไปเท่าไหร่หรือที่ไหน"</b></summary>

นักพัฒนาซอฟต์แวร์ใช้ผู้ให้บริการแบบชำระเงินหลายราย แต่ไม่มีมุมมองการใช้จ่ายแบบรวมศูนย์ ผู้ให้บริการแต่ละรายมีแดชบอร์ดการเรียกเก็บเงินของตัวเอง แต่ไม่มีข้อมูลรวม ค่าใช้จ่ายที่ไม่คาดคิดอาจกองพะเนิน

**OmniRoute แก้ปัญหาอย่างไร:**

-**แดชบอร์ดการวิเคราะห์ต้นทุน**— การติดตามต้นทุนต่อโทเค็นและการจัดการงบประมาณต่อผู้ให้บริการ
-**ขีดจำกัดงบประมาณต่อระดับ**— เพดานการใช้จ่ายต่อระดับที่ทำให้เกิดทางเลือกสำรองอัตโนมัติ
-**การกำหนดค่าราคาต่อรุ่น**— ราคาที่กำหนดค่าได้ต่อรุ่น
-**สถิติการใช้งานต่อคีย์ API**— จำนวนคำขอและการประทับเวลาที่ใช้ล่าสุดต่อคีย์
-**แดชบอร์ดการวิเคราะห์**— การ์ดสถิติ แผนภูมิการใช้งานโมเดล ตารางผู้ให้บริการพร้อมอัตราความสำเร็จและเวลาแฝง</details>

<รายละเอียด>
<summary><b>🐛 10. "ฉันไม่สามารถวินิจฉัยข้อผิดพลาดและปัญหาในการเรียก AI ได้"</b></summary>

เมื่อการโทรล้มเหลว ผู้พัฒนาจะไม่ทราบว่าเป็นการจำกัดอัตรา โทเค็นหมดอายุ รูปแบบไม่ถูกต้อง หรือข้อผิดพลาดของผู้ให้บริการ บันทึกที่แยกส่วนในเทอร์มินัลต่างๆ หากไม่สามารถสังเกตได้ การดีบักถือเป็นการลองผิดลองถูก

**OmniRoute แก้ปัญหาอย่างไร:**

-**Unified Logs Dashboard**— 4 แท็บ: บันทึกคำขอ, บันทึกพร็อกซี, บันทึกการตรวจสอบ, คอนโซล
-**โปรแกรมดูบันทึกคอนโซล**— โปรแกรมดูสไตล์เทอร์มินัลแบบเรียลไทม์พร้อมระดับรหัสสี เลื่อนอัตโนมัติ ค้นหา ตัวกรอง
-**SQLite Proxy Logs**— บันทึกถาวรที่รอดจากการรีสตาร์ทเซิร์ฟเวอร์
-**Translator Playground**— โหมดแก้ไขข้อบกพร่อง 4 โหมด: Playground (การแปลรูปแบบ), Chat Tester (ไป-กลับ), ม้านั่งทดสอบ (เป็นกลุ่ม), Live Monitor (เรียลไทม์)
-**ร้องขอการตรวจวัดทางไกล**— p50/p95/p99 latency + การติดตาม X-Request-Id
-**การบันทึกตามไฟล์พร้อมการหมุนเวียน**— บันทึกแอปหมุนเวียนตามขนาด วันที่เก็บรักษา และจำนวนการเก็บถาวร สิ่งประดิษฐ์บันทึกการโทรจะหมุนเวียนตามวันที่เก็บรักษาและจำนวนไฟล์
-**รายงานข้อมูลระบบ**— `npm run system-info` สร้าง `system-info.txt` ด้วยสภาพแวดล้อมทั้งหมดของคุณ (เวอร์ชันโหนด, เวอร์ชัน OmniRoute, OS, เครื่องมือ CLI, สถานะ Docker/PM2) แนบมาเมื่อรายงานปัญหาเพื่อการคัดแยกทันที</details>

<รายละเอียด>
<summary><b>🏗️ 11. "การปรับใช้และการบำรุงรักษาเกตเวย์นั้นซับซ้อน"</b></summary>

การติดตั้ง การกำหนดค่า และการบำรุงรักษาพร็อกซี AI ในสภาพแวดล้อมที่แตกต่างกัน (ภายในเครื่อง, VPS, Docker, คลาวด์) ต้องใช้แรงงานมาก ปัญหาเช่นเส้นทางฮาร์ดโค้ด, `EACCES` ในไดเร็กทอรี, ข้อขัดแย้งของพอร์ต และการสร้างข้ามแพลตฟอร์มทำให้เกิดความขัดแย้ง

**OmniRoute แก้ปัญหาอย่างไร:**

-**การติดตั้ง npm ทั่วโลก**— `การติดตั้ง npm -g omniroute && omniroute` — เสร็จแล้ว
-**นักเทียบท่าหลายแพลตฟอร์ม**— AMD64 + ARM64 ดั้งเดิม (Apple Silicon, AWS Graviton, Raspberry Pi)
-**โปรไฟล์นักเทียบท่า**— `base` (ไม่มีเครื่องมือ CLI) และ `cli` (พร้อม Claude Code, Codex, OpenClaw)
-**แอป Electron Desktop**— แอปเนทีฟสำหรับ Windows/macOS/Linux พร้อมถาดระบบ เริ่มอัตโนมัติ โหมดออฟไลน์
-**โหมดแยกพอร์ต**— API และแดชบอร์ดบนพอร์ตแยกกันสำหรับสถานการณ์ขั้นสูง (พร็อกซีย้อนกลับ เครือข่ายคอนเทนเนอร์)
-**Cloud Sync**— กำหนดค่าการซิงโครไนซ์ระหว่างอุปกรณ์ผ่าน Cloudflare Workers
-**การสำรองข้อมูล DB**— การสำรองข้อมูล กู้คืน ส่งออก และนำเข้าการตั้งค่าทั้งหมดโดยอัตโนมัติ พร้อมด้วย `DISABLE_SQLITE_AUTO_BACKUP` สำหรับการสำรองข้อมูลที่ได้รับการจัดการจากภายนอก</details>

<รายละเอียด>
<summary><b>🌍 12. "อินเทอร์เฟซเป็นภาษาอังกฤษเท่านั้น และทีมของฉันไม่พูดภาษาอังกฤษ"</b></summary>

ทีมในประเทศที่ไม่ได้ใช้ภาษาอังกฤษ โดยเฉพาะในละตินอเมริกา เอเชีย และยุโรป ประสบปัญหากับอินเทอร์เฟซที่ใช้ภาษาอังกฤษเท่านั้น อุปสรรคทางภาษาลดการนำไปใช้และเพิ่มข้อผิดพลาดในการกำหนดค่า

**OmniRoute แก้ปัญหาอย่างไร:**

-**แดชบอร์ด i18n — 30 ภาษา**— ทั้งหมด 500+ คีย์ที่แปล รวมถึงอารบิก บัลแกเรีย เดนมาร์ก เยอรมัน สเปน ฟินแลนด์ ฝรั่งเศส ฮิบรู ฮินดี ฮังการี อินโดนีเซีย อิตาลี ญี่ปุ่น เกาหลี มาเลย์ ดัตช์ นอร์เวย์ โปแลนด์ โปรตุเกส (PT/BR) โรมาเนีย รัสเซีย สโลวาเกีย สวีเดน ไทย ยูเครน เวียดนาม จีน ฟิลิปปินส์ อังกฤษ
-**รองรับ RTL**— รองรับภาษาอาหรับและฮีบรูจากขวาไปซ้าย
-**README หลายภาษา**— การแปลเอกสารฉบับสมบูรณ์ 30 รายการ
-**ตัวเลือกภาษา**— ไอคอนลูกโลกในส่วนหัวสำหรับการสลับแบบเรียลไทม์</details>

<รายละเอียด>
<summary><b>🔄 13. "ฉันต้องการมากกว่าการแชท — ฉันต้องการการฝัง รูปภาพ เสียง"</b></summary>

AI ไม่ใช่แค่การแชทให้เสร็จสิ้นเท่านั้น นักพัฒนาจำเป็นต้องสร้างภาพ ถอดเสียง สร้างการฝังสำหรับ RAG จัดอันดับเอกสารใหม่ และกลั่นกรองเนื้อหา API แต่ละรายการมีจุดสิ้นสุดและรูปแบบที่แตกต่างกัน

**OmniRoute แก้ปัญหาอย่างไร:**

-**การฝัง**— `/v1/embeddings` พร้อมผู้ให้บริการ 6 รายและโมเดลมากกว่า 9 รายการ
-**การสร้างภาพ**— `/v1/images/ generations` พร้อมผู้ให้บริการ 10 รายและโมเดลมากกว่า 20 รุ่น (OpenAI, xAI, Together, ดอกไม้ไฟ, Nebius, ไฮเปอร์โบลิก, NanoBanana, ต้านแรงโน้มถ่วง, SD WebUI, ComfyUI)
-**การแปลงข้อความเป็นวิดีโอ**— `/v1/videos/ generations` — ComfyUI (AnimateDiff, SVD) และ SD WebUI
-**การแปลงข้อความเป็นเพลง**— `/v1/music/ generations` — ComfyUI (Stable Audio Open, MusicGen)
-**การถอดเสียง**— `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3
-**การอ่านออกเสียงข้อความ**— `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3,**Inworld**,**Cartesia**,**PlayHT**, + ผู้ให้บริการที่มีอยู่
-**การกลั่นกรอง**— `/v1/moderations` — การตรวจสอบความปลอดภัยของเนื้อหา
-**การจัดอันดับใหม่**— `/v1/rerank` — การจัดอันดับความเกี่ยวข้องของเอกสารใหม่
-**Responses API**— รองรับ `/v1/responses` เต็มรูปแบบสำหรับ Codex</details>

<รายละเอียด>
<summary><b>🧪 14. "ฉันไม่สามารถทดสอบและเปรียบเทียบคุณภาพระหว่างรุ่นต่างๆ ได้"</b></summary>

นักพัฒนาต้องการทราบว่าโมเดลใดดีที่สุดสำหรับกรณีการใช้งานของพวกเขา เช่น โค้ด การแปล การใช้เหตุผล แต่การเปรียบเทียบด้วยตนเองนั้นช้า ไม่มีเครื่องมือประเมินแบบรวมอยู่

**OmniRoute แก้ปัญหาอย่างไร:**

-**การประเมิน LLM**— การทดสอบชุดทองพร้อมเคสที่โหลดไว้ล่วงหน้า 10 เคส ซึ่งครอบคลุมการทักทาย คณิตศาสตร์ ภูมิศาสตร์ การสร้างโค้ด การปฏิบัติตาม JSON การแปล การมาร์กดาวน์ การปฏิเสธด้านความปลอดภัย
-**4 กลยุทธ์การจับคู่**— `แน่นอน`, `มี`, `regex`, `กำหนดเอง` (ฟังก์ชัน JS)
-**ม้านั่งทดสอบสนามเด็กเล่นสำหรับนักแปล**— การทดสอบเป็นกลุ่มที่มีอินพุตหลายอินพุตและเอาต์พุตที่คาดหวัง การเปรียบเทียบข้ามผู้ให้บริการ
-**เครื่องมือทดสอบการแชท**— ไป-กลับเต็มรูปแบบพร้อมการเรนเดอร์การตอบสนองด้วยภาพ
-**Live Monitor**— สตรีมคำขอทั้งหมดที่ไหลผ่านพร็อกซีแบบเรียลไทม์</details>

<รายละเอียด>
<summary><b>📈 15. "ฉันต้องปรับขนาดโดยไม่สูญเสียประสิทธิภาพ"</b></summary>

เมื่อปริมาณคำขอเพิ่มขึ้น หากไม่มีการแคช คำถามเดียวกันจะทำให้เกิดต้นทุนซ้ำซ้อน หากไม่มีการระบุตัวตน คำขอซ้ำจะสูญเปล่าในการประมวลผล ต้องเคารพขีดจำกัดอัตราต่อผู้ให้บริการ

**OmniRoute แก้ปัญหาอย่างไร:**

-**Semantic Cache**— แคชสองชั้น (ลายเซ็น + ความหมาย) ช่วยลดต้นทุนและเวลาแฝง
-**คำขอ Idempotency**— หน้าต่างการขจัดข้อมูลซ้ำซ้อน 5 วินาทีสำหรับคำขอที่เหมือนกัน
-**การตรวจจับขีดจำกัดอัตรา**— RPM ต่อผู้ให้บริการ ช่องว่างขั้นต่ำ และการติดตามพร้อมกันสูงสุด
-**ขีดจำกัดอัตราที่แก้ไขได้**— ค่าเริ่มต้นที่กำหนดค่าได้ในการตั้งค่า → ความยืดหยุ่นด้วยความคงอยู่
-**แคชการตรวจสอบคีย์ API**— แคช 3 ระดับสำหรับประสิทธิภาพการผลิต
-**แดชบอร์ดสุขภาพพร้อมการวัดและส่งข้อมูลทางไกล**— เวลาแฝง p50/p95/p99 สถิติแคช เวลาทำงาน</details>

<รายละเอียด>
<summary><b>🤖 16. "ฉันต้องการควบคุมพฤติกรรมของโมเดลทั่วโลก"</b></summary>

นักพัฒนาที่ต้องการคำตอบทั้งหมดในภาษาใดภาษาหนึ่ง มีน้ำเสียงเฉพาะ หรือต้องการจำกัดโทเค็นการให้เหตุผล การกำหนดค่านี้ในทุกเครื่องมือ/คำขอไม่สามารถทำได้

**OmniRoute แก้ปัญหาอย่างไร:**

-**การแจ้งพร้อมท์ของระบบ**— พร้อมท์ทั่วโลกนำไปใช้กับคำขอทั้งหมด
-**การตรวจสอบงบประมาณการคิด**— การควบคุมการจัดสรรโทเค็นการให้เหตุผลต่อคำขอ (การส่งผ่าน, อัตโนมัติ, กำหนดเอง, การปรับตัว)
-**9 กลยุทธ์การกำหนดเส้นทาง**— กลยุทธ์ระดับโลกที่กำหนดวิธีกระจายคำขอ
-**Wildcard Router**— รูปแบบ `ผู้ให้บริการ/*` กำหนดเส้นทางแบบไดนามิกไปยังผู้ให้บริการใดๆ
-**Combo Enable/Disable Toggle**— สลับคอมโบได้โดยตรงจากแดชบอร์ด
-**สลับผู้ให้บริการ**— เปิด/ปิดการเชื่อมต่อทั้งหมดสำหรับผู้ให้บริการได้ด้วยคลิกเดียว
-**ผู้ให้บริการที่ถูกบล็อก**— ยกเว้นผู้ให้บริการบางรายจากรายการ `/v1/models`</details>

<รายละเอียด>
<summary><b>🧰 17. "ฉันต้องการเครื่องมือ MCP เนื่องจากความสามารถของผลิตภัณฑ์ระดับเฟิร์สคลาส"</b></summary>

เกตเวย์ AI จำนวนมากเปิดเผย MCP เป็นเพียงรายละเอียดการใช้งานที่ซ่อนอยู่เท่านั้น ทีมจำเป็นต้องมีชั้นการปฏิบัติงานที่มองเห็นได้และจัดการได้

**OmniRoute แก้ปัญหาอย่างไร:**

- MCP ปรากฏในการนำทางแดชบอร์ดและแท็บโปรโตคอลปลายทาง
- หน้าการจัดการ MCP เฉพาะพร้อมกระบวนการ เครื่องมือ ขอบเขต และการตรวจสอบ
- การเริ่มต้นอย่างรวดเร็วในตัวสำหรับ `omniroute --mcp` และการเริ่มต้นใช้งานไคลเอ็นต์</details>

<รายละเอียด>
<summary><b>🧠 18. "ฉันต้องการการประสาน A2A พร้อมเส้นทางงานการซิงค์และสตรีม"</b></summary>

เวิร์กโฟลว์ของตัวแทนต้องการทั้งการตอบกลับโดยตรงและการดำเนินการสตรีมที่ใช้เวลานานพร้อมการควบคุมวงจรชีวิต

**OmniRoute แก้ปัญหาอย่างไร:**

- จุดสิ้นสุด A2A JSON-RPC (`POST /a2a`) พร้อมด้วย `ข้อความ/ส่ง` และ `ข้อความ/สตรีม`
- การสตรีม SSE พร้อมการเผยแพร่สถานะเทอร์มินัล
- API วงจรชีวิตของงานสำหรับ `งาน/รับ` และ `งาน/ยกเลิก`</details>

<รายละเอียด>
<summary><b>🛰️ 19. "ฉันต้องการความสมบูรณ์ของกระบวนการ MCP ที่แท้จริง ไม่ใช่สถานะที่เดาได้"</b></summary>

ทีมปฏิบัติการจำเป็นต้องทราบว่า MCP ยังคงอยู่จริงหรือไม่ ไม่ใช่แค่ว่า API สามารถเข้าถึงได้หรือไม่

**OmniRoute แก้ปัญหาอย่างไร:**

- ไฟล์ฮาร์ทบีทรันไทม์พร้อม PID, การประทับเวลา, การขนส่ง, จำนวนเครื่องมือ และโหมดขอบเขต
- API สถานะ MCP รวมการเต้นของหัวใจ + กิจกรรมล่าสุด
- การ์ดสถานะ UI สำหรับความสดใหม่ของกระบวนการ/สถานะการออนไลน์/การเต้นของหัวใจ</details>

<รายละเอียด>
<summary><b>📋 20. "ฉันต้องการใช้เครื่องมือ MCP ที่ตรวจสอบได้"</b></summary>

เมื่อเครื่องมือเปลี่ยนแปลงการกำหนดค่าหรือทริกเกอร์การดำเนินการ ทีมจำเป็นต้องมีการตรวจสอบย้อนกลับทางนิติเวช

**OmniRoute แก้ปัญหาอย่างไร:**

- การบันทึกการตรวจสอบที่ได้รับการสนับสนุนจาก SQLite สำหรับการเรียกใช้เครื่องมือ MCP
- กรองตามเครื่องมือ ความสำเร็จ/ล้มเหลว คีย์ API และการแบ่งหน้า
- ตารางการตรวจสอบแดชบอร์ด + จุดสิ้นสุดสถิติสำหรับระบบอัตโนมัติ</details>

<รายละเอียด>
<summary><b>🔐 21. "ฉันต้องการสิทธิ์ MCP ที่มีขอบเขตต่อการบูรณาการ"</b></summary>

ไคลเอนต์ที่แตกต่างกันควรมีสิทธิ์เข้าถึงหมวดหมู่เครื่องมือน้อยที่สุด

**OmniRoute แก้ปัญหาอย่างไร:**

- ขอบเขต MCP แบบละเอียด 10 รายการสำหรับการเข้าถึงเครื่องมือที่ควบคุม
- การบังคับใช้ขอบเขตและการมองเห็นใน UI การจัดการ MCP
- ท่าทางเริ่มต้นที่ปลอดภัยสำหรับเครื่องมือในการปฏิบัติงาน</details>

<รายละเอียด>
<summary><b>⚙️ 22. "ฉันต้องการการควบคุมการปฏิบัติงานโดยไม่ต้องปรับใช้ใหม่"</b></summary>

ทีมต้องการการเปลี่ยนแปลงรันไทม์อย่างรวดเร็วระหว่างเหตุการณ์หรือเหตุการณ์ต้นทุน

**OmniRoute แก้ปัญหาอย่างไร:**

- สลับการเปิดใช้งานคอมโบโดยตรงจากแดชบอร์ด MCP
- ใช้โปรไฟล์ความยืดหยุ่นจากชุดนโยบายที่กำหนดไว้ล่วงหน้า
- รีเซ็ตสถานะเซอร์กิตเบรกเกอร์จากแผงการทำงานเดียวกัน</details>

<รายละเอียด>
<summary><b>🔄 23. "ฉันต้องการการมองเห็นและการยกเลิกวงจรการใช้งาน A2A แบบสด"</b></summary>

หากไม่มีการมองเห็นวงจรการใช้งาน เหตุการณ์ของงานจะยากต่อการคัดแยก

**OmniRoute แก้ปัญหาอย่างไร:**

- รายการงาน/การกรองตามสถานะ/ทักษะพร้อมการแบ่งหน้า
- เจาะลึกข้อมูลเมตาของงาน เหตุการณ์ และสิ่งประดิษฐ์
- จุดสิ้นสุดการยกเลิกงานและการดำเนินการ UI พร้อมการยืนยัน</details>

<รายละเอียด>
<summary><b>🌊 24. "ฉันต้องการเมตริกสตรีมที่ใช้งานอยู่สำหรับโหลด A2A"</b></summary>

เวิร์กโฟลว์การสตรีมจำเป็นต้องมีข้อมูลเชิงลึกในการดำเนินงานเกี่ยวกับการทำงานพร้อมกันและการเชื่อมต่อแบบสด

**OmniRoute แก้ปัญหาอย่างไร:**

- ตัวนับสตรีมที่ใช้งานรวมอยู่ในสถานะ A2A
- การประทับเวลางานล่าสุดและการนับต่อรัฐ
- การ์ดแดชบอร์ด A2A สำหรับการตรวจสอบการปฏิบัติงานแบบเรียลไทม์</details>

<รายละเอียด>
<summary><b>🪪 25. "ฉันต้องการการค้นพบตัวแทนมาตรฐานสำหรับลูกค้า"</b></summary>

ไคลเอนต์และผู้ควบคุมภายนอกต้องการเมตาดาต้าที่เครื่องอ่านได้เพื่อการเริ่มต้นใช้งาน

**OmniRoute แก้ปัญหาอย่างไร:**

- บัตรตัวแทนเปิดเผยที่ `/.well-known/agent.json`
- ความสามารถและทักษะที่แสดงใน UI การจัดการ
- API สถานะ A2A รวมถึงข้อมูลเมตาการค้นพบสำหรับระบบอัตโนมัติ</details>

<รายละเอียด>
<summary><b>🧭 26. "ฉันต้องการการค้นพบโปรโตคอลใน UX ของผลิตภัณฑ์"</b></summary>

หากผู้ใช้ไม่พบพื้นผิวของโปรโตคอล การนำไปใช้และคุณภาพการสนับสนุนจะลดลง

**OmniRoute แก้ปัญหาอย่างไร:**

- หน้า**ปลายทาง**รวมพร้อมแท็บสำหรับตำแหน่งข้อมูลพร็อกซี, MCP, A2A และ API
- สลับสถานะบริการอินไลน์ (ออนไลน์/ออฟไลน์) สำหรับ MCP และ A2A
- ลิงก์จากภาพรวมไปยังแท็บการจัดการเฉพาะ</details>

<รายละเอียด>
<summary><b>🧪 27. "ฉันต้องการการตรวจสอบโปรโตคอลแบบ end-to-end กับไคลเอนต์จริง"</b></summary>

การทดสอบจำลองไม่เพียงพอที่จะตรวจสอบความเข้ากันได้ของโปรโตคอลก่อนเผยแพร่

**OmniRoute แก้ปัญหาอย่างไร:**

- ชุด E2E ที่บูทแอปและใช้การขนส่งไคลเอนต์ MCP SDK จริง
- ไคลเอนต์ A2A ทดสอบการค้นหา ส่ง สตรีม รับ และยกเลิกโฟลว์
- ยืนยันการตรวจสอบข้ามกับการตรวจสอบ MCP และ API งาน A2A</details>

<รายละเอียด>
<summary><b>📡 28. "ฉันต้องการความสามารถในการสังเกตแบบรวมศูนย์ในทุกอินเทอร์เฟซ"</b></summary>

การแยกความสามารถในการสังเกตตามโปรโตคอลทำให้เกิดจุดบอดและ MTTR ที่ยาวขึ้น

**OmniRoute แก้ปัญหาอย่างไร:**

- แดชบอร์ด/บันทึก/การวิเคราะห์แบบรวมในผลิตภัณฑ์เดียว
- สุขภาพ + การตรวจสอบ + ขอการตรวจวัดทางไกลผ่านเลเยอร์ OpenAI, MCP และ A2A
- API การดำเนินงานสำหรับสถานะและระบบอัตโนมัติ</details>

<รายละเอียด>
<summary><b>💼 29. "ฉันต้องการรันไทม์หนึ่งรายการสำหรับพร็อกซี + เครื่องมือ + การจัดการเอเจนต์"</b></summary>

การใช้บริการแยกกันจำนวนมากจะเพิ่มต้นทุนการดำเนินงานและโหมดความล้มเหลว

**OmniRoute แก้ปัญหาอย่างไร:**

- พร็อกซีที่เข้ากันได้กับ OpenAI, เซิร์ฟเวอร์ MCP และเซิร์ฟเวอร์ A2A ในสแต็กเดียว
- การรับรองความถูกต้องที่ใช้ร่วมกัน ความยืดหยุ่น การจัดเก็บข้อมูล และความสามารถในการสังเกต
- รูปแบบนโยบายที่สอดคล้องกันในทุกรูปแบบการโต้ตอบ</details>

<รายละเอียด>
<summary><b>🚀 30. "ฉันต้องจัดส่งเวิร์กโฟลว์แบบตัวแทนโดยไม่มีการแผ่ขยายโค้ดกาว"</b></summary>

ทีมจะสูญเสียความเร็วเมื่อรวมบริการและสคริปต์เฉพาะกิจหลายรายการเข้าด้วยกัน

**OmniRoute แก้ปัญหาอย่างไร:**

- กลยุทธ์อุปกรณ์ปลายทางแบบครบวงจรสำหรับลูกค้าและตัวแทน
- UIs การจัดการโปรโตคอลในตัวและเส้นทางการตรวจสอบควัน
- รากฐานที่พร้อมสำหรับการผลิต (ความปลอดภัย การบันทึก ความยืดหยุ่น การสำรองข้อมูล)</details>

### Example Playbooks (Integrated Use Cases)

**Playbook A: เพิ่มการสมัครสมาชิกแบบชำระเงินให้สูงสุด + การสำรองข้อมูลราคาถูก**```txt
Combo: "maximize-claude"
  1. cc/claude-opus-4-6
  2. glm/glm-4.7
  3. if/kimi-k2-thinking

Monthly cost: $20 + small backup spend
Outcome: higher quality, near-zero interruption

Playbook B: สแต็กการเข้ารหัสที่ไม่มีค่าใช้จ่าย```txt Combo: "free-forever"

  1. gc/gemini-3-flash
  2. if/kimi-k2-thinking
  3. qw/qwen3-coder-plus

Monthly cost: $0 Outcome: stable free coding workflow


**Playbook C: ห่วงโซ่ทางเลือกที่เปิดตลอด 24 ชั่วโมงทุกวัน**```txt
Combo: "always-on"
  1. cc/claude-opus-4-6
  2. cx/gpt-5.2-codex
  3. glm/glm-4.7
  4. minimax/MiniMax-M2.1
  5. if/kimi-k2-thinking

Outcome: deep fallback depth for deadline-critical workloads

Playbook D: ตัวแทนดำเนินการด้วย MCP + A2A```txt

  1. Start MCP transport (omniroute --mcp) for tool-driven operations
  2. Run A2A tasks via message/send and message/stream
  3. Observe via /dashboard/endpoint (MCP and A2A tabs)
  4. Toggle services via inline status controls

---

## 🆓 Start Free — Zero Configuration Cost

> ตั้งค่าการเข้ารหัส AI ในไม่กี่นาทีที่**$0/เดือน**เชื่อมต่อบัญชีฟรีเหล่านี้และใช้คอมโบ**Free Stack**ในตัว

| ขั้นตอน | การกระทำ | ผู้ให้บริการปลดล็อคแล้ว |
| ---- | -------------------------------------------------- | ------------------------------------------------------------------ |
| 1 | เชื่อมต่อ**Kiro**(AWS Builder ID OAuth) | Claude Sonnet 4.5, Haiku 4.5 —**ไม่จำกัด**|
| 2 | เชื่อมต่อ**Qoder**(Google OAuth) | kimi-k2-คิด, qwen3-coder-plus, deepseek-r1... —**ไม่จำกัด**|
| 3 | เชื่อมต่อ**Qwen**(รหัสอุปกรณ์) | qwen3-coder-plus, qwen3-coder-flash... —**ไม่จำกัด**|
| 4 | เชื่อมต่อ**Gemini CLI**(Google OAuth) | gemini-3-flash, gemini-2.5-pro —**ฟรี 180K/เดือน**|
| 5 | `/dashboard/combos` →**เทมเพลตสแต็คฟรี ($0)**| Round-robin ผู้ให้บริการฟรีทั้งหมดโดยอัตโนมัติ |

**ชี้ IDE/CLI ใดๆ ไปที่:**`http://localhost:20128/v1` · คีย์ API: `any-string` · เสร็จสิ้น

>**ความคุ้มครองเพิ่มเติมเพิ่มเติม (ฟรี):**คีย์ Groq API (ฟรี 30 RPM), NVIDIA NIM (ฟรี 40 RPM, รุ่น 70+), Cerebras (1M tok/วัน), คีย์ LongCat API (โทเค็น 50M/วัน!), Cloudflare Workers AI (10K Neurons/วัน, รุ่น 50+)## เริ่มต้นอย่างรวดเร็ว

### 1) Install and run

```bash
npm install -g omniroute
omniroute

**ผู้ใช้ pnpm:**เรียกใช้ pnpm Approve-builds -g หลังจากติดตั้งเพื่อเปิดใช้งานสคริปต์บิลด์เนทิฟที่ better-sqlite3 และ @swc/core ต้องการ:

pnpm ติดตั้ง -g omniroute
pnpm อนุมัติสร้าง -g # เลือกแพ็คเกจทั้งหมด → อนุมัติ
ทุกเส้นทาง

แดชบอร์ดเปิดที่ http://localhost:20128 และ URL ฐาน API คือ http://localhost:20128/v1

คำสั่ง คำอธิบาย
ทุกเส้นทาง เริ่มเซิร์ฟเวอร์ (PORT=20128, API และแดชบอร์ดบนพอร์ตเดียวกัน)
ทุกเส้นทาง -- พอร์ต 3000 ตั้งค่าพอร์ต Canonical/API เป็น 3000
ทุกเส้นทาง --mcp เริ่มเซิร์ฟเวอร์ MCP (การขนส่ง stdio)
ทุกเส้นทาง --ไม่เปิด อย่าเปิดเบราว์เซอร์อัตโนมัติ
ทุกเส้นทาง --help แสดงความช่วยเหลือ

โหมดแยกพอร์ตเสริม:```bash PORT=20128 DASHBOARD_PORT=20129 omniroute

API: http://localhost:20128/v1

Dashboard: http://localhost:20129


### Long-Running Streaming Timeouts

สำหรับการปรับใช้ส่วนใหญ่ คุณเพียงต้องการ:

| ตัวแปร | ค่าเริ่มต้น | วัตถุประสงค์ |
| ------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `REQUEST_TIMEOUT_MS` | `600000` | เส้นพื้นฐานที่ใช้ร่วมกันสำหรับการดึงข้อมูลอัปสตรีม การหมดเวลา Undici ที่ซ่อนอยู่ คำขอลายนิ้วมือ TLS และคำขอบริดจ์ API/การหมดเวลาพร็อกซี |
| `STREAM_IDLE_TIMEOUT_MS` | สืบทอด `REQUEST_TIMEOUT_MS` | ช่องว่างสูงสุดระหว่างการสตรีมชิ้นส่วนก่อนที่ OmniRoute จะยกเลิกสตรีม SSE |

ความเข้ากันได้แบบย้อนหลังยังคงอยู่: `FETCH_TIMEOUT_MS`, `API_BRIDGE_PROXY_TIMEOUT_MS` ที่มีอยู่ และ vars การหมดเวลาต่อเลเยอร์อื่นๆ ที่มีอยู่ยังคงใช้งานได้และลบล้างพื้นฐานที่ใช้ร่วมกัน

การแทนที่ขั้นสูงจะพร้อมใช้งานหากคุณต้องการการควบคุมที่ละเอียดยิ่งขึ้น:| ตัวแปร | ค่าเริ่มต้น | วัตถุประสงค์ |
| -------------------------------------------- | ----------------------------------------------- | -------------------------------------------------------------------- |
| `FETCH_TIMEOUT_MS` | สืบทอด `REQUEST_TIMEOUT_MS` | การหมดเวลาคำขออัปสตรีมทั้งหมดที่ใช้โดยสัญญาณยกเลิกการดึงข้อมูลหลัก |
| `FETCH_HEADERS_TIMEOUT_MS` | สืบทอด `FETCH_TIMEOUT_MS` | Undici กำหนดเวลาในการรับส่วนหัวการตอบกลับต้นทาง |
| `FETCH_BODY_TIMEOUT_MS` | สืบทอด `FETCH_TIMEOUT_MS` | Undici กำหนดเวลาระหว่างชิ้นส่วนเนื้อหาต้นน้ำ (`0` ปิดใช้งาน) |
| `FETCH_CONNECT_TIMEOUT_MS` | `30000` | Undici TCP หมดเวลาการเชื่อมต่อ |
| `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Undici การหมดเวลาซ็อกเก็ต Keep-alive ที่ไม่ได้ใช้งาน |
| `TLS_CLIENT_TIMEOUT_MS` | สืบทอด `FETCH_TIMEOUT_MS` | หมดเวลาสำหรับคำขอลายนิ้วมือ TLS ที่ดำเนินการผ่าน `wreq-js` |
| `API_BRIDGE_PROXY_TIMEOUT_MS` | สืบทอด `REQUEST_TIMEOUT_MS` หรือ `30000` | หมดเวลาสำหรับการส่งต่อพร็อกซี `/ v1` จากพอร์ต API ไปยังพอร์ตแดชบอร์ด |
| `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `สูงสุด(API_BRIDGE_PROXY_TIMEOUT_MS, 300000)` | การหมดเวลาคำขอขาเข้าบนเซิร์ฟเวอร์บริดจ์ API |
| `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | การหมดเวลาส่วนหัวขาเข้าบนเซิร์ฟเวอร์บริดจ์ API |
| `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | การหมดเวลา Keep-alive บนเซิร์ฟเวอร์บริดจ์ API |
| `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | การหมดเวลาการไม่ใช้งานซ็อกเก็ตบนเซิร์ฟเวอร์บริดจ์ API (`0` ปิดการใช้งาน) |

หากคุณเรียกใช้ OmniRoute หลัง Nginx, Caddy, Cloudflare หรือ Reverse Proxy อื่น ตรวจสอบให้แน่ใจว่าพร็อกซีนั้น
การหมดเวลายังสูงกว่าการหมดเวลาการสตรีม/การดึงข้อมูล OmniRoute ของคุณอีกด้วย### 2) Connect providers and create your API key

1. เปิดแดชบอร์ด → `ผู้ให้บริการ` และเชื่อมต่อผู้ให้บริการอย่างน้อยหนึ่งราย (คีย์ OAuth หรือ API)
2. เปิดแดชบอร์ด → `ปลายทาง` และสร้างคีย์ API
3. (ทางเลือก) เปิดแดชบอร์ด → `คอมโบ` และตั้งค่าห่วงโซ่ทางเลือกของคุณ### 3) Point your coding tool to OmniRoute

```txt
Base URL: http://localhost:20128/v1
API Key:  [copy from Endpoint page]
Model:    if/kimi-k2-thinking (or any provider/model prefix)

ทำงานร่วมกับ Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode และ SDK ที่เข้ากันได้กับ OpenAI### 4) Enable and validate protocols (v2.0)

MCP (สำหรับการดำเนินการที่ขับเคลื่อนด้วยเครื่องมือ):```bash omniroute --mcp


จากนั้นเชื่อมต่อไคลเอนต์ MCP ของคุณผ่าน `stdio` และเครื่องมือทดสอบเช่น:

- `omniroute_get_health`
- `omniroute_list_combos`

**A2A (สำหรับเวิร์กโฟลว์ตัวแทนถึงตัวแทน):**```bash
curl http://localhost:20128/.well-known/agent.json
curl -X POST http://localhost:20128/a2a \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}'
npm run test:protocols:e2e

ชุดนี้ตรวจสอบการไหลของไคลเอ็นต์ MCP และ A2A จริงกับแอปที่ทำงานอยู่### Alternative: run from source

cp .env.example .env
npm install
PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev

<รายละเอียด>

Void Linux (เทมเพลต `xbps-src`)

สำหรับผู้ใช้ Void Linux คุณสามารถสร้างแพ็คเกจดั้งเดิมได้โดยใช้ xbps-src บันทึกบล็อกนี้เป็น srcpkgs/omniroute/template:```bash

Template file for 'omniroute'

pkgname=omniroute version=3.4.1 revision=1 hostmakedepends="nodejs python3 make" depends="openssl" short_desc="Universal AI gateway with smart routing for multiple LLM providers" maintainer="zenobit zenobit@disroot.org" license="MIT" homepage="https://github.com/diegosouzapw/OmniRoute" distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b system_accounts="_omniroute" omniroute_homedir="/var/lib/omniroute" export NODE_ENV=production export npm_config_engine_strict=false export npm_config_loglevel=error export npm_config_fund=false export npm_config_audit=false

do_build() { # Determine target CPU arch for node-gyp local _gyp_arch case "$XBPS_TARGET_MACHINE" in aarch64*) _gyp_arch=arm64 ;; armv7*|armv6*) _gyp_arch=arm ;; i686*) _gyp_arch=ia32 ;; *) _gyp_arch=x64 ;; esac

# 1) Install all deps  skip scripts (no network in do_build, native modules
#    compiled separately below; better-sqlite3 is serverExternalPackage so
#    Next.js does not execute it during next build)
NODE_ENV=development npm ci --ignore-scripts

# 2) Build the Next.js standalone bundle
npm run build

# 3) Copy static assets into standalone
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true

# 4) Compile better-sqlite3 native binding for the target architecture.
#    Use node-gyp directly so CC/CXX from xbps-src cross-toolchain are used
#    without npm altering them.
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")

# 5) Place the compiled binding into the standalone bundle
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"

# 6) Remove arch-specific sharp bundles  upstream sets images.unoptimized=true
#    so sharp is not used at runtime; x64 .so files would break aarch64 strip
rm -rf .next/standalone/node_modules/@img

# 7) Copy pino runtime deps omitted by Next.js static analysis:
#    pino-abstract-transport  required by pino's worker thread
#    split2  dep of pino-abstract-transport
#    process-warning  dep of pino itself
for _mod in pino-abstract-transport split2 process-warning; do
	cp -r "node_modules/$_mod" .next/standalone/node_modules/
done

}

do_check() { npm run test:unit }

do_install() { vmkdir usr/lib/omniroute/.next

vcopy .next/standalone/. usr/lib/omniroute/.next/standalone

# Prevent removal of empty Next.js app router dirs by the post-install hook
for _d in \
	.next/standalone/.next/server/app/dashboard \
	.next/standalone/.next/server/app/dashboard/settings \
	.next/standalone/.next/server/app/dashboard/providers; do
	touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done

cat > "${WRKDIR}/omniroute" <<'EOF'

#!/bin/sh export PORT="${PORT:-20128}" export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}" export LOG_TO_FILE="${LOG_TO_FILE:-false}" mkdir -p "${DATA_DIR}" exec node /usr/lib/omniroute/.next/standalone/server.js "$@" EOF vbin "${WRKDIR}/omniroute" }

post_install() { vlicense LICENSE }


</details>

---

## 🐳 Docker

OmniRoute มีให้บริการในรูปแบบอิมเมจ Docker สาธารณะบน [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute)

**วิ่งด่วน:**```bash
docker run -d \
  --name omniroute \
  --restart unless-stopped \
  --stop-timeout 40 \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

พร้อมไฟล์สภาพแวดล้อม:```bash

Copy and edit .env first

cp .env.example .env

docker run -d
--name omniroute
--restart unless-stopped
--stop-timeout 40
--env-file .env
-p 20128:20128
-v omniroute-data:/app/data
diegosouzapw/omniroute:latest


**การใช้นักเทียบท่าเขียน:**```bash
# Base profile (no CLI tools)
docker compose --profile base up -d

# CLI profile (Claude Code, Codex, OpenClaw built-in)
docker compose --profile cli up -d

การสนับสนุนแดชบอร์ดสำหรับการปรับใช้ Docker ขณะนี้ได้รวมCloudflare Quick Tunnelในคลิกเดียวบน Dashboard → Endpoints ครั้งแรกที่เปิดใช้งานการดาวน์โหลด cloudflared เมื่อจำเป็นเท่านั้น เริ่มทันเนลชั่วคราวไปยังตำแหน่งข้อมูล /v1 ปัจจุบันของคุณ และแสดง URL https://*.trycloudflare.com/v1 ที่สร้างขึ้นด้านล่าง URL สาธารณะปกติของคุณโดยตรง

หมายเหตุ:

  • URL ของอุโมงค์ด่วนเป็นแบบชั่วคราวและเปลี่ยนแปลงหลังจากการรีสตาร์ททุกครั้ง
  • Quick Tunnels จะไม่ถูกกู้คืนอัตโนมัติหลังจากการรีสตาร์ท OmniRoute หรือคอนเทนเนอร์ เปิดใช้งานอีกครั้งจากแดชบอร์ดเมื่อจำเป็น
  • ปัจจุบันการติดตั้งแบบมีการจัดการรองรับ Linux, macOS และ Windows บน x64 / arm64
  • Quick Tunnels ที่มีการจัดการมีค่าเริ่มต้นเป็นการขนส่ง HTTP/2 เพื่อหลีกเลี่ยงคำเตือนบัฟเฟอร์ QUIC UDP ที่มีเสียงดังในสภาพแวดล้อมคอนเทนเนอร์ที่จำกัด ตั้งค่า CLOUDFLARED_PROTOCOL=quic หรือ auto หากคุณต้องการการขนส่งอื่น
  • อิมเมจ Docker รวมรูท CA ของระบบแล้วส่งต่อไปยัง cloudflared ที่ได้รับการจัดการ ซึ่งหลีกเลี่ยงความล้มเหลวในการเชื่อถือ TLS เมื่อทันเนลบูตสแตรปภายในคอนเทนเนอร์
  • SQLite ทำงานในโหมด WAL นักเทียบท่าหยุด ควรได้รับอนุญาตให้เสร็จสิ้นเพื่อให้ OmniRoute สามารถตรวจสอบการเปลี่ยนแปลงล่าสุดกลับเข้าไปใน storage.sqlite
  • ไฟล์เขียนที่รวมมาได้ตั้งค่าระยะเวลาผ่อนผันการหยุด 40 วินาทีแล้ว หากคุณเรียกใช้อิมเมจโดยตรง ให้คง --stop-timeout 40 (หรือที่คล้ายกัน) ไว้ เพื่อที่การหยุดแบบแมนนวลจะไม่ตัดการล้างการปิดระบบ
  • ตั้งค่า CLOUDFLARED_BIN=/absolute/path/to/cloudflared หากคุณต้องการให้ OmniRoute ใช้ไบนารี่ที่มีอยู่แทนการดาวน์โหลด

การใช้ Docker Compose กับแคดดี้ (HTTPS Auto-TLS):

OmniRoute สามารถเปิดเผยได้อย่างปลอดภัยโดยใช้การจัดเตรียม SSL อัตโนมัติของ Caddy ตรวจสอบให้แน่ใจว่าระเบียน DNS A ของโดเมนของคุณชี้ไปที่ IP ของเซิร์ฟเวอร์ของคุณ```yaml services: omniroute: image: diegosouzapw/omniroute:latest container_name: omniroute restart: unless-stopped volumes: - omniroute-data:/app/data environment: - PORT=20128 - NEXT_PUBLIC_BASE_URL=https://your-domain.com

caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" command: caddy reverse-proxy --from https://your-domain.com --to http://omniroute:20128

volumes: omniroute-data:


| รูปภาพ | แท็ก | ขนาด | คำอธิบาย |
| ------------------------ | -------- | ------ | --------------------- |
| `diegosouzapw/ทุกเส้นทาง` | `ล่าสุด` | ~250MB | รุ่นเสถียรล่าสุด |
| `diegosouzapw/ทุกเส้นทาง` | `1.0.3` | ~250MB | เวอร์ชันปัจจุบัน |---

## 🖥️ Desktop App — Offline & Always-On

> 🆕**ใหม่!**OmniRoute พร้อมใช้งานแล้วในรูปแบบ**แอปพลิเคชันเดสก์ท็อปดั้งเดิม**สำหรับ Windows, macOS และ Linux

เรียกใช้ OmniRoute เป็นแอปเดสก์ท็อปแบบสแตนด์อโลน ไม่ต้องใช้เทอร์มินัล ไม่ต้องใช้เบราว์เซอร์ ไม่ต้องใช้อินเทอร์เน็ตสำหรับรุ่นท้องถิ่น แอพที่ใช้อิเล็กตรอนประกอบด้วย:

- 🖥️**หน้าต่างดั้งเดิม**— หน้าต่างแอปเฉพาะพร้อมการรวมถาดระบบ
- 🔄**เริ่มอัตโนมัติ**— เปิด OmniRoute เมื่อเข้าสู่ระบบ
- 🔔**การแจ้งเตือนแบบเนทีฟ**— รับการแจ้งเตือนเกี่ยวกับโควต้าหมดหรือปัญหาของผู้ให้บริการ
- ⚡**ติดตั้งเพียงคลิกเดียว**— NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐**โหมดออฟไลน์**— ทำงานแบบออฟไลน์โดยสมบูรณ์กับเซิร์ฟเวอร์รวม### เริ่มต้นอย่างรวดเร็ว

```bash
# Development mode
npm run electron:dev

# Build for your platform
npm run electron:build         # Current platform
npm run electron:build:win     # Windows (.exe)
npm run electron:build:mac     # macOS (.dmg) — x64 & arm64
npm run electron:build:linux   # Linux (.AppImage)

System Tray

เมื่อย่อเล็กสุด OmniRoute จะอยู่ในถาดระบบของคุณด้วยการดำเนินการด่วน:

  • เปิดแดชบอร์ด
  • เปลี่ยนพอร์ตเซิร์ฟเวอร์
  • ออกจากแอปพลิเคชัน

📖 เอกสารฉบับเต็ม: electron/README.md---

💰 Pricing at a Glance

ชั้น ผู้ให้บริการ ราคา รีเซ็ตโควต้า ดีที่สุดสำหรับ
💳 สมัครสมาชิก รหัสคลอดด์ (Pro) $20/เดือน 5 ชม. + รายสัปดาห์ สมัครสมาชิกแล้ว
Codex (พลัส/โปร) $20-200/เดือน 5 ชม. + รายสัปดาห์ ผู้ใช้ OpenAI
ราศีเมถุน CLI ฟรี 180K/เดือน + 1K/วัน ทุกคน!
นักบิน GitHub $10-19/เดือน รายเดือน ผู้ใช้ GitHub
🔑 คีย์ API NVIDIA NIM ฟรี(พัฒนาตลอดไป) ~40 รอบต่อนาที รุ่นเปิดมากกว่า 70 รุ่น
สมอง ฟรี(1M ต๊อก/วัน) 60,000 ทีพีเอ็ม / 30 รอบต่อนาที เร็วที่สุดในโลก
กรอค ฟรี(30 รอบต่อนาที) 14.4K RPD ลามะ/เจมม่าที่เร็วเป็นพิเศษ
DeepSeek V3.2 $0.27/$1.10 ต่อ 1M ไม่มี เหตุผลด้านราคา/คุณภาพที่ดีที่สุด
xAI Grok-4 เร็ว $0.20/$0.50 ต่อ 1M🆕 ไม่มี เร็วที่สุด + การเรียกเครื่องมือ, ต่ำมาก
xAI Grok-4 (มาตรฐาน) $0.20/$1.50 ต่อ 1M 🆕 ไม่มี การใช้เหตุผลเป็นเรือธงจาก xAI
มิสทรัล ทดลองใช้ฟรี + จ่ายเงิน อัตราจำกัด AI ยุโรป
OpenRouter จ่ายตามการใช้งาน ไม่มี มีโมเดลมากกว่า 100 แบบ
💰 ราคาถูก GLM-5 (ผ่าน Z.AI) 🆕 $0.5/1M ทุกวัน 10.00 น. เอาต์พุต 128K เรือธงใหม่ล่าสุด
GLM-4.7 $0.6/1M ทุกวัน 10.00 น. สำรองงบประมาณ
MiniMax M2.5 🆕 $0.3/1M อินพุต กลิ้ง 5 ชั่วโมง การใช้เหตุผล + งานตัวแทน
MiniMax M2.1 $0.2/1M กลิ้ง 5 ชั่วโมง ตัวเลือกที่ถูกที่สุด
Kimi K2.5 (Moonshot API) 🆕 จ่ายตามการใช้งาน ไม่มี การเข้าถึง Moonshot API โดยตรง
คิมิ K2 $9/เดือน คงที่ 10M โทเค็น/เดือน ต้นทุนที่คาดการณ์ได้
🆓 ฟรี คิวเดอร์ $0 ไม่จำกัด 5 รุ่นไม่จำกัด
ควีน $0 ไม่จำกัด 4 รุ่นไม่จำกัด
คิโระ $0 ไม่จำกัด Claude Sonnet/ไฮกุ (AWS Builder)
LongCat Flash-Lite 🆕 $0(50M ต็อก/วัน 🔥) 1 RPS โควต้าฟรีที่ใหญ่ที่สุดในโลก
AI การผสมเกสร 🆕 $0(ไม่ต้องใช้กุญแจ) 1 คำขอ/15 วินาที GPT-5, Claude, DeepSeek, ลามะ 4
AI ของผู้ปฏิบัติงาน Cloudflare 🆕 $0(10,000 เซลล์ประสาท/วัน) ~150 ครั้ง/วัน โมเดลมากกว่า 50 แบบ ขอบระดับโลก
สเกลเวย์ AI 🆕 $0(รวมโทเค็น 1M) อัตราจำกัด EU/GDPR, Qwen3 235B, ลามะ 70B > 🆕**เพิ่มโมเดลใหม่ (มี.ค. 2026):**Grok-4 Fast family ที่ $0.20/$0.50/M (เปรียบเทียบที่ 1143ms — เร็วกว่า Gemini 2.5 Flash 30%), GLM-5 ผ่าน Z.AI พร้อมเอาต์พุต 128K, การใช้เหตุผล MiniMax M2.5, ราคาที่อัปเดต DeepSeek V3.2, Kimi K2.5 ผ่าน Moonshot direct API

💡 $0 Combo Stack — การตั้งค่าที่สมบูรณ์ฟรี:```

🆓 Ultimate Free Stack 2026 — 11 Providers, $0 Forever

Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day 🔥 Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed Qwen (qw/) → qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next UNLIMITED Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free API key Cloudflare AI (cf/) → Llama 70B, Gemma 3, Mistral — 10K Neurons/day Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) Groq (groq/) → Llama/Gemma ultra-fast — 14.4K req/day NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day


**ไม่มีค่าใช้จ่าย ไม่หยุดเขียนโค้ด**กำหนดค่านี้เป็น OmniRoute เดียวและทางเลือกทั้งหมดจะเกิดขึ้นโดยอัตโนมัติ ไม่มีการสลับด้วยตนเองเลย---

---

## 🆓 Free Models — What You Actually Get

> ทุกรุ่นด้านล่าง**ฟรี 100% โดยไม่ต้องใช้บัตรเครดิต**OmniRoute จะกำหนดเส้นทางอัตโนมัติระหว่างกันเมื่อโควต้าหนึ่งหมด — รวมเข้าด้วยกันเพื่อคอมโบ $0 ที่ไม่อาจแตกหักได้### 🔵 CLAUDE MODELS (via Kiro — AWS Builder ID)

| รุ่น | คำนำหน้า | ขีดจำกัด | ขีดจำกัดอัตรา |
| ------------------- | ------ | ------------- | --------------------- |
| `โคลด-โคลง-4.5` | `kr/` |**ไม่จำกัด**| ไม่มีรายงานสูงสุดรายวัน |
| `claude-ไฮกุ-4.5` | `kr/` |**ไม่จำกัด**| ไม่มีรายงานสูงสุดรายวัน |
| `claude-opus-4.6` | `kr/` |**ไม่จำกัด**| บทประพันธ์ล่าสุดผ่าน Kiro |### 🟢 QODER MODELS (Free PAT via qodercli)

| รุ่น | คำนำหน้า | ขีดจำกัด | ขีดจำกัดอัตรา |
| ------------------ | ------ | ------------- | --------------- |
| `kimi-k2-คิด` | `ถ้า/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `qwen3-coder-plus` | `ถ้า/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `ดีพซีค-r1` | `ถ้า/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `มินิแม็กซ์-m2.1` | `ถ้า/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `คิมิ-k2` | `ถ้า/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |

> วิธีการเชื่อมต่อที่แนะนำ:**โทเค็นการเข้าถึงส่วนบุคคล + `qodercli`**เบราว์เซอร์ OAuth คือ
> ทดลองและปิดใช้งานตามค่าเริ่มต้น เว้นแต่จะมีการกำหนดค่าตัวแปรสภาพแวดล้อม `QODER_OAUTH_*`### 🟡 QWEN MODELS (Device Code Auth)

| รุ่น | คำนำหน้า | ขีดจำกัด | ขีดจำกัดอัตรา |
| ------------------- | ------ | ------------- | ------------------- |
| `qwen3-coder-plus` | `คิว/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `qwen3-coder-flash` | `คิว/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `qwen3-coder-ถัดไป` | `คิว/` |**ไม่จำกัด**| ไม่มีรายงานหมวก |
| `แบบจำลองวิสัยทัศน์` | `คิว/` |**ไม่จำกัด**| ต่อเนื่องหลายรูปแบบ (ภาพ) |### 🟣 GEMINI CLI (Google OAuth)

| รุ่น | คำนำหน้า | ขีดจำกัด | ขีดจำกัดอัตรา |
| ------------------------ | ------ | ------------------------------- | ------------- |
| `gemini-3-flash-preview` | `gc/` |**180K tok/เดือน**+ 1K/วัน | รีเซ็ตรายเดือน |
| `เจมินี่-2.5-โปร` | `gc/` | 180K/เดือน (พูลรวม) | คุณภาพสูง |### ⚫ NVIDIA NIM (Free API Key — build.nvidia.com)

| ชั้น | ขีดจำกัดรายวัน | ขีดจำกัดอัตรา | หมายเหตุ |
| ---------- | ------------ | ----------- | ------------------------------------------------------ |
| ฟรี (Dev) | ไม่มีฝาปิดโทเค็น |**~40 รอบต่อนาที**| มากกว่า 70 รุ่น; การเปลี่ยนไปใช้ขีดจำกัดอัตราเดียวในช่วงกลางปี 2025 |

รุ่นฟรียอดนิยม: `moonshotai/kimi-k2.5` (Kimi K2.5), `z-ai/glm4.7` (GLM 4.7), `deepseek-ai/deepseek-v3.2` (DeepSeek V3.2), `nvidia/llama-3.3-70b-instruct`, `deepseek/deepseek-r1`### ⚪ CEREBRAS (Free API Key — inference.cerebras.ai)

| ชั้น | ขีดจำกัดรายวัน | ขีดจำกัดอัตรา | หมายเหตุ |
| ---- | ----------------- | ---------------- | ----------------------------------------------- |
| ฟรี |**1M โทเค็น/วัน**| 60,000 ทีพีเอ็ม / 30 รอบต่อนาที | การอนุมาน LLM ที่เร็วที่สุดในโลก รีเซ็ตทุกวัน |

มีให้บริการฟรี: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b`### 🔴 GROQ (Free API Key — console.groq.com)

| ชั้น | ขีดจำกัดรายวัน | ขีดจำกัดอัตรา | หมายเหตุ |
| ---- | ------------- | ---------------- | --------------------------------------------- |
| ฟรี |**14.4K RPD**| 30 RPM ต่อรุ่น | ไม่มีบัตรเครดิต 429 ตามวงเงิน ไม่คิดเงิน |

มีให้บริการฟรี: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3`### 🔴 LONGCAT AI (Free API Key — longcat.chat) 🆕

| รุ่น | คำนำหน้า | โควต้าฟรีรายวัน | หมายเหตุ |
| --------------------------------- | ------ | ----------------- | ----------------------- |
| `LongCat-Flash-Lite` | `lc/` |**โทเค็น 50M**💥 | โควต้าฟรีที่ใหญ่ที่สุดเท่าที่เคยมีมา |
| `LongCat-Flash-Chat` | `lc/` | โทเค็น 500K | แชทหลายรอบ |
| `LongCat-Flash-คิด` | `lc/` | โทเค็น 500K | การใช้เหตุผล / CoT |
| `LongCat-Flash-Thinking-2601` | `lc/` | โทเค็น 500K | เวอร์ชันม.ค. 2569 |
| `LongCat-Flash-Omni-2603` | `lc/` | โทเค็น 500K | ต่อเนื่องหลายรูปแบบ |

> ฟรี 100% ขณะอยู่ในช่วงเบต้าสาธารณะ ลงทะเบียนได้ที่ [longcat.chat](https://longcat.chat) ด้วยอีเมลหรือโทรศัพท์ รีเซ็ตทุกวัน 00:00 UTC### 🟢 POLLINATIONS AI (No API Key Required) 🆕

| รุ่น | คำนำหน้า | ขีดจำกัดอัตรา | ผู้ให้บริการเบื้องหลัง |
| ---------- | ------ | ---------- | ------------------ |
| `เปิดใจ` | `พล/` | 1 คำขอ/15 วินาที | GPT-5 |
| `โคลด` | `พล/` | 1 คำขอ/15 วินาที | มานุษยวิทยาคลอด |
| `ราศีเมถุน` | `พล/` | 1 คำขอ/15 วินาที | Google ราศีเมถุน |
| `แสวงหาอย่างลึกซึ้ง' | `พล/` | 1 คำขอ/15 วินาที | DeepSeek V3 |
| `ลามะ` | `พล/` | 1 คำขอ/15 วินาที | Meta Llama 4 ลูกเสือ |
| `มิสทรัล` | `พล/` | 1 คำขอ/15 วินาที | มิสทรัล AI |

> ✨**แรงเสียดทานเป็นศูนย์:**ไม่ต้องสมัคร ไม่มีคีย์ API เพิ่มผู้ให้บริการ Pollinations ด้วยฟิลด์คีย์ว่าง และใช้งานได้ทันที### 🟠 CLOUDFLARE WORKERS AI (Free API Key — cloudflare.com) 🆕

| ชั้น | เซลล์ประสาทรายวัน | การใช้งานที่เทียบเท่า | หมายเหตุ |
| ---- | ------------- | --------------------------------------- | ----------------------- |
| ฟรี |**10,000**| ~150 LLM resp / เสียง 500s / การฝัง 15K | ขอบโลก รุ่น 50+ |

รุ่นฟรียอดนิยม: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (เสียงฟรี!), `@cf/qwen/qwen2.5-coder-15b-instruct`

> ต้องใช้โทเค็น API + รหัสบัญชีจาก [dash.cloudflare.com](https://dash.cloudflare.com) รหัสบัญชีร้านค้าในการตั้งค่าผู้ให้บริการ### 🟣 SCALEWAY AI (1M Free Tokens — scaleway.com) 🆕

| ชั้น | โควต้าฟรี | ที่ตั้ง | หมายเหตุ |
| ---- | ------------- | ------------ | ----------------------------------- |
| ฟรี |**โทเค็น 1 ล้าน**| 🇫🇷 ปารีส สหภาพยุโรป | ไม่ต้องใช้บัตรเครดิตภายในวงเงิน |

ใช้ได้ฟรี: `qwen3-235b-a22b-instruct-2507` (Qwen3 235B!), `llama-3.1-70b-instruct`, `mistral-small-3.2-24b-instruct-2506`, `deepseek-v3-0324`

> สอดคล้องกับสหภาพยุโรป/GDPR รับคีย์ API ได้ที่ [console.scaleway.com](https://console.scaleway.com)

>**💡 สุดยอดสแต็คฟรี (ผู้ให้บริการ 11 ราย, $0 ตลอดไป):**
>
> ```
> คิโระ (kr/) → คล็อด ซอนเน็ต/ไฮกุ ไม่จำกัด
> Qoder (ถ้า/) → kimi-k2-คิด, qwen3-coder-plus, deepseek-r1 ไม่จำกัด
> LongCat Lite (lc/) → LongCat-Flash-Lite — 50M โทเค็น/วัน 🔥
> การผสมเกสร (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — ไม่ต้องใช้คีย์
> Qwen (qw/) → รุ่น qwen3-coder ไม่จำกัด
> Gemini (ราศีเมถุน/) → Gemini 2.5 Flash — ฟรี 1,500 req/วัน
> Cloudflare AI (cf/) → โมเดล 50+ — 10,000 เซลล์ประสาท/วัน
> Scaleway (scw/) → Qwen3 235B, Llama 70B — โทเค็นฟรี 1M (EU)
> Groq (groq/) → Llama/Gemma — 14.4K req/วัน รวดเร็วเป็นพิเศษ
> NVIDIA NIM (nvidia/) → รุ่นเปิดมากกว่า 70 รุ่น — 40 RPM ตลอดไป
> Cerebras (cerebras/) → Llama/Qwen เร็วที่สุดในโลก — 1M tok/วัน
> ```## 🎙️ Free Transcription Combo

> ถอดเสียง/วิดีโอใดๆ ในราคา**$0**— Deepgram Leads พร้อมฟรี $200, AssemblyAI สำรอง $50, Groq Whisper เป็นการสำรองข้อมูลฉุกเฉินไม่จำกัด

| ผู้ให้บริการ | เครดิตฟรี | โมเดลที่ดีที่สุด | ขีดจำกัดอัตรา |
| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- |
| 🟢**ดีปแกรม**|**ฟรี $200**(สมัครสมาชิก) | `nova-3` — แม่นยำที่สุด 30+ ภาษา | ไม่มีการจำกัด RPM สำหรับเครดิตฟรี |
| 🔵**AssemblyAI**|**ฟรี $50**(สมัครสมาชิก) | `universal-3-pro` — บท, ความรู้สึก, PII | ไม่มีการจำกัด RPM สำหรับเครดิตฟรี |
| 🔴**โกรก**|**ฟรีตลอดไป**| `กระซิบ-ขนาดใหญ่-v3` — OpenAI กระซิบ | 30 RPM (อัตราจำกัด) |

**คำสั่งผสมที่แนะนำใน `/dashboard/combos`:**```
Name: free-transcription
Strategy: Priority
Nodes:
  [1] deepgram/nova-3          → uses $200 free first
  [2] assemblyai/universal-3-pro → fallback when Deepgram credits run out
  [3] groq/whisper-large-v3    → free forever, emergency fallback

จากนั้นใน /dashboard/media → แท็บการถอดเสียง: อัปโหลดไฟล์เสียงหรือวิดีโอ → เลือกจุดสิ้นสุดคอมโบของคุณ → รับการถอดเสียงในรูปแบบที่รองรับ## 💡 Key Features

OmniRoute v2.0 ถูกสร้างขึ้นเพื่อเป็นแพลตฟอร์มการดำเนินงาน ไม่ใช่แค่รีเลย์พร็อกซี### 🆕 New — ClawRouter-Inspired Improvements (Mar 2026)

คุณสมบัติ มันทำอะไร
Grok-4 ฟาสต์แฟมิลี่ รุ่น xAI ที่ $0.20/$0.50/M — เปรียบเทียบ 1143ms (เร็วกว่า Gemini 2.5 Flash 30%)
🧠GLM-5 ผ่าน Z.AI บริบทเอาต์พุต 128K, $0.5/1M — รุ่นเรือธงใหม่ล่าสุดจากตระกูล GLM
🔮MiniMax M2.5 การใช้เหตุผล + งานเอเจนต์ที่ 0.30 ดอลลาร์/1 ล้าน — อัปเกรดอย่างมีนัยสำคัญจาก M2.1
🎯toolCalling Flag ต่อรุ่น toolCalling: true/false ต่อรุ่นในรีจิสตรี — AutoCombo ข้ามโมเดลที่ไม่ใช้เครื่องมือ
🌍การตรวจจับเจตนาหลายภาษา คีย์เวิร์ด PT/ZH/ES/AR ในการให้คะแนน AutoCombo — การเลือกโมเดลที่ดีกว่าสำหรับเนื้อหาที่ไม่ใช่ภาษาอังกฤษ
📊ทางเลือกสำรองที่ขับเคลื่อนด้วยเกณฑ์มาตรฐาน เวลาแฝง p95 จริงจากคำขอสดฟีดการให้คะแนนคอมโบ — AutoCombo เรียนรู้จากข้อมูลจริง
🔁ขอการขจัดข้อมูลซ้ำซ้อน หน้าต่าง dedup ตามแฮชเนื้อหา — ปลอดภัยสำหรับหลายเอเจนต์ ป้องกันการเรียกเก็บเงินซ้ำ
🔌กลยุทธ์เราเตอร์แบบเสียบได้ อินเทอร์เฟซ RouterStrategy ที่ขยายได้ — เพิ่มตรรกะการกำหนดเส้นทางที่กำหนดเองเป็นปลั๊กอิน ### 🚀 Previous v2.0.9+ — Playground, CLI Fingerprints & ACP
คุณสมบัติ มันทำอะไร
🎮โมเดลสนามเด็กเล่น หน้าแดชบอร์ดเพื่อทดสอบโมเดลใดๆ โดยตรง — ตัวเลือกผู้ให้บริการ/โมเดล/ปลายทาง, Monaco Editor, การสตรีม, ยกเลิก, การกำหนดเวลา
🔏การจับคู่ลายนิ้วมือ CLI การจัดลำดับส่วนหัว/เนื้อหาต่อผู้ให้บริการเพื่อให้ตรงกับลายเซ็น CLI ดั้งเดิม — สลับตามผู้ให้บริการในการตั้งค่า > ความปลอดภัยIP พร็อกซีของคุณยังคงอยู่
🤝รองรับ ACP (โปรโตคอลไคลเอ็นต์ตัวแทน) การค้นพบเอเจนต์ CLI (Codex, Claude, Goose, Gemini CLI, OpenClaw + อีก 9 รายการ), กระบวนการวางไข่, จุดสิ้นสุด `/api/acp/agents
🤖แดชบอร์ดตัวแทน ACP ดีบัก หน้าตัวแทน — ตารางตัวแทน 14 รายพร้อมสถานะการติดตั้ง เวอร์ชัน แบบฟอร์มตัวแทนแบบกำหนดเองสำหรับเครื่องมือ CLI ผู้ใช้OpenCodeจะได้รับปุ่ม "ดาวน์โหลด opencode.json" ที่สร้างการกำหนดค่าที่พร้อมใช้งานโดยอัตโนมัติสำหรับโมเดลที่มีอยู่ทั้งหมด
????การกำหนดเส้นทาง apiFormat โมเดลแบบกำหนดเอง โมเดลที่กำหนดเองที่มี apiFormat: "responses" กำหนดเส้นทางไปยังตัวแปล Responses API ได้อย่างถูกต้องแล้ว
🏢การแยกพื้นที่ทำงาน Codex พื้นที่ทำงาน Codex หลายรายการต่ออีเมล — OAuth แยกการเชื่อมต่ออย่างถูกต้องด้วยรหัสพื้นที่ทำงาน
🔄อัปเดตอิเล็กตรอนอัตโนมัติ แอปเดสก์ท็อปตรวจสอบการอัปเดต + ติดตั้งอัตโนมัติเมื่อรีสตาร์ท ### 🤖 Agent & Protocol Operations (v2.0)
คุณสมบัติ มันทำอะไร
🏽เซิร์ฟเวอร์ MCP (25 เครื่องมือ) เครื่องมือ IDE/เอเจนต์ผ่าน 3 การขนส่ง: stdio, SSE (/api/mcp/sse), HTTP แบบสตรีมได้ (/api/mcp/stream) 18 คอร์ + 3 หน่วยความจำ + 4 เครื่องมือทักษะ
🤝เซิร์ฟเวอร์ A2A (JSON-RPC + SSE) การดำเนินการงานระหว่างเอเจนต์กับเอเจนต์ด้วยการซิงค์และการสตรีมโฟลว์
🧭หน้าปลายทางรวม หน้าการจัดการแบบแท็บพร้อมแท็บ Endpoint Proxy, MCP, A2A และ API Endpoints
🎚️บริการเปิด/ปิดการสลับ สวิตช์เปิด/ปิดสำหรับ MCP และ A2A พร้อมการตั้งค่าคงอยู่ (ค่าเริ่มต้น: ปิด)
🛰️MCP รันไทม์ฮาร์ทบีท สถานะกระบวนการจริง (pid, สถานะการออนไลน์, อายุฮาร์ทบีท, การขนส่ง, โหมดขอบเขต)
📋เส้นทางการตรวจสอบ MCP บันทึกการตรวจสอบที่กรองได้พร้อมความสำเร็จ/ล้มเหลวและการระบุแหล่งที่มาที่สำคัญ
🔐การบังคับใช้ขอบเขต MCP สิทธิ์ขอบเขตแบบละเอียด 10 รายการสำหรับการเข้าถึงเครื่องมือที่ควบคุม
📡การจัดการวงจรงาน A2A แสดงรายการ/กรองงาน ตรวจสอบเหตุการณ์/สิ่งประดิษฐ์ ยกเลิกงานที่กำลังทำงานอยู่
📋การค้นพบบัตรตัวแทน /.well-known/agent.json สำหรับการค้นพบอัตโนมัติของไคลเอ็นต์
🧪ชุดทดสอบโปรโตคอล E2E ไคลเอนต์ MCP SDK + A2A จริงไหลใน test:protocols:e2e
⚙️การควบคุมการปฏิบัติงาน สลับคอมโบ ใช้โปรไฟล์ความยืดหยุ่น รีเซ็ตเบรกเกอร์จากพื้นผิวควบคุมเดียว ### 🧠 Routing & Intelligence
คุณสมบัติ มันทำอะไร
🎯ทางเลือกสำรองอัจฉริยะ 4 ระดับ เส้นทางอัตโนมัติ: การสมัครสมาชิก → คีย์ API → ถูก → ฟรี
📊การติดตามโควต้าแบบเรียลไทม์ จำนวนโทเค็นสด + รีเซ็ตการนับถอยหลังต่อผู้ให้บริการ
🔄แปลรูปแบบ OpenAI ↔ Claude ↔ Gemini ↔ การตอบกลับด้วยการแปลงสคีมาที่ปลอดภัย
👥รองรับหลายบัญชี หลายบัญชีต่อผู้ให้บริการพร้อมตัวเลือกที่ชาญฉลาด
🔄รีเฟรชโทเค็นอัตโนมัติ โทเค็น OAuth รีเฟรชอัตโนมัติพร้อมลองอีกครั้ง
🎨คอมโบแบบกำหนดเอง 9 กลยุทธ์การปรับสมดุล + การควบคุมลูกโซ่สำรอง
🌐เราเตอร์ตัวแทน ผู้ให้บริการ/* การกำหนดเส้นทางแบบไดนามิก
🧠คิดควบคุมงบประมาณ ขีดจำกัดการให้เหตุผลแบบส่งผ่าน อัตโนมัติ แบบกำหนดเอง และแบบปรับเปลี่ยนได้
🔀นามแฝงโมเดล นามแฝงโมเดลในตัว + แบบกำหนดเองและความปลอดภัยในการย้ายข้อมูล
การเสื่อมสภาพของพื้นหลัง กำหนดเส้นทางงานพื้นหลังที่มีลำดับความสำคัญต่ำไปยังโมเดลที่ถูกกว่า
🧪การกำหนดเส้นทางอัจฉริยะที่รับรู้งาน เลือกโมเดลอัตโนมัติตามประเภทเนื้อหา (การเข้ารหัส/การมองเห็น/การวิเคราะห์/การสรุป)
🔄ขั้นตอนการทำงานของตัวแทน A2A ตัวกำหนด FSM ที่กำหนดสำหรับการเรียกใช้งานเอเจนต์แบบหลายขั้นตอนแบบมีสถานะ
🔀การกำหนดเส้นทางแบบปรับเปลี่ยนได้ การแทนที่กลยุทธ์แบบไดนามิกตามปริมาณโทเค็นและความซับซ้อนของการแจ้งเตือน
🎲ความหลากหลายของผู้ให้บริการ การให้คะแนนเอนโทรปีของแชนนอนที่สมดุลกับการกระจายการรับส่งข้อมูลแบบคอมโบอัตโนมัติ
💌ระบบพร้อมฉีด มีการใช้การควบคุมพฤติกรรมทั่วโลกอย่างสม่ำเสมอ
📄ความเข้ากันได้ของ API การตอบกลับ รองรับ /v1/responses เต็มรูปแบบสำหรับ Codex และเวิร์กโฟลว์เอเจนต์ขั้นสูง ### 🎵 Multi-Modal APIs
คุณสมบัติ มันทำอะไร
🖼️การสร้างภาพ /v1/images/genes พร้อมระบบคลาวด์และแบ็กเอนด์ในเครื่อง
📐การฝัง /v1/embeddings สำหรับการค้นหาและไปป์ไลน์ RAG
🎶การถอดเสียง /v1/audio/transcriptions — ผู้ให้บริการ 7 ราย (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), การตรวจจับภาษาอัตโนมัติ, รองรับ MP4/MP3/WAV
🔊ข้อความเป็นคำพูด /v1/audio/speech — ผู้ให้บริการ 10 ราย (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) พร้อมข้อความแสดงข้อผิดพลาดที่ถูกต้อง
🎬การสร้างวิดีโอ /v1/videos/ generations (เวิร์กโฟลว์ ComfyUI + SD WebUI)
🎵การสร้างดนตรี /v1/music/ generations (เวิร์กโฟลว์ ComfyUI)
🛡️การกลั่นกรอง การตรวจสอบความปลอดภัยของ /v1/moderations
🔀จัดอันดับ /v1/rerank สำหรับการให้คะแนนความเกี่ยวข้อง
🔍ค้นหาเว็บ🆕 /v1/search — ผู้ให้บริการ 5 ราย (Serper, Brave, Perplexity, Exa, Tavily), ฟรี 6,500+ รายการ/เดือน, เฟลโอเวอร์อัตโนมัติ, แคช ### 🛡️ Resilience, Security & Governance
คุณสมบัติ มันทำอะไร
🔌เซอร์กิตเบรกเกอร์ การเดินทางต่อรุ่น/การกู้คืนด้วยการควบคุมเกณฑ์
🎯โมเดล Endpoint-Aware โมเดลที่กำหนดเองประกาศจุดสิ้นสุดที่รองรับ + ​​รูปแบบ API
🛡️ฝูงต่อต้านฟ้าร้อง การป้องกัน Mutex + เซมาฟอร์ในการลองใหม่/ให้คะแนนเหตุการณ์
🧠แคชความหมาย + ลายเซ็น การลดต้นทุน/เวลาแฝงด้วยแคชสองชั้น
ขอ Idempotency หน้าต่างการป้องกันซ้ำ
🔒การปลอมแปลงลายนิ้วมือ TLS ลายนิ้วมือ TLS เหมือนเบราว์เซอร์ —ลดการตรวจจับบอทและการตั้งค่าสถานะบัญชี
🔏การจับคู่ลายนิ้วมือ CLI จับคู่ลายเซ็นคำขอ CLI ดั้งเดิม —ลดความเสี่ยงในการแบนในขณะที่รักษา IP พร็อกซี
🌐การกรอง IP การควบคุมรายการที่อนุญาต/รายการบล็อกสำหรับการปรับใช้แบบเปิดเผย
📊ขีดจำกัดอัตราที่แก้ไขได้ ขีดจำกัดระดับโลก/ระดับผู้ให้บริการที่กำหนดค่าได้ด้วยความคงอยู่
📉การเสื่อมถอยอย่างสง่างาม ทางเลือกความสามารถแบบหลายเลเยอร์ที่ปกป้องการทำงานของเกตเวย์หลัก
📜กำหนดเส้นทางการตรวจสอบ การติดตามการเปลี่ยนแปลงตามความแตกต่างป้องกันการดริฟท์การดำเนินงานด้วยการย้อนกลับอย่างง่าย
การซิงค์สุขภาพของผู้ให้บริการ การตรวจสอบการหมดอายุของโทเค็นเชิงรุกทำให้เกิดการแจ้งเตือนก่อนการอนุญาตล้มเหลว
🚪ปิดการใช้งานบัญชีที่ถูกแบนโดยอัตโนมัติ เบรกเกอร์ปฏิบัติการปิดผนึกบัญชีโทเค็นที่ถูกบล็อกอย่างถาวรโดยอัตโนมัติ
🔑การจัดการคีย์ API + การกำหนดขอบเขต รักษาความปลอดภัยการออก/การหมุนเวียนคีย์ และการควบคุมโมเดล/ผู้ให้บริการ
👁️การเปิดเผยคีย์ API ที่กำหนดขอบเขต🆕 เลือกใช้การกู้คืนคีย์ API ผ่าน ALLOW_API_KEY_REVEAL
🛡️ป้องกัน /models ตัวเลือกการตรวจสอบสิทธิ์และการซ่อนผู้ให้บริการสำหรับแค็ตตาล็อกโมเดล ### 📊 Observability & Analytics
คุณสมบัติ มันทำอะไร
📝คำขอ + การบันทึกพร็อกซี คำขอ/ตอบกลับแบบเต็มและการบันทึกพร็อกซี
📉บันทึกรายละเอียดแบบสตรีม🆕 สร้างสตรีมเพย์โหลด SSE ใหม่ใน UI ได้อย่างหมดจด
📋แดชบอร์ดบันทึกแบบรวม มุมมองคำขอ พร็อกซี การตรวจสอบ และคอนโซลในหน้าเดียว
🔍ขอโทรมาตร เวลาแฝง p50/p95/p99 และคำขอการติดตาม
🏥แดชบอร์ดสุขภาพ เวลาทำงาน สถานะของเบรกเกอร์ การล็อก สถิติแคช
💰ติดตามต้นทุน การควบคุมงบประมาณและการเปิดเผยราคาต่อรุ่น
📈การแสดงภาพการวิเคราะห์ ข้อมูลเชิงลึกการใช้งานโมเดล/ผู้ให้บริการและมุมมองแนวโน้ม
🧪กรอบการประเมินผล การทดสอบชุดทองพร้อมกลยุทธ์การจับคู่ที่กำหนดค่าได้
📡การวินิจฉัยแบบเรียลไทม์🆕 บายพาสแคชความหมายเพื่อการทดสอบคอมโบสดที่แม่นยำ### ☁️ Deployment & Platform
คุณสมบัติ มันทำอะไร
🌐ปรับใช้ได้ทุกที่ Localhost, VPS, Docker, สภาพแวดล้อมคลาวด์
🚇อุโมงค์คลาวด์แฟลร์🆕 การรวม Quick Tunnel เพียงคลิกเดียวจากแดชบอร์ด
🔑การกรองโมเดลคีย์ API การตอบสนองดั้งเดิม /v1/models กรองผ่านบทบาทบริบทของผู้ถือที่ได้รับมอบหมาย
บายพาสแคชอัจฉริยะ การวิเคราะห์พฤติกรรม TTL ที่กำหนดค่าได้และการควบคุมการดึงข้อมูลแบบบังคับ
🔄สำรอง/กู้คืน ขั้นตอนการส่งออก/นำเข้าและการกู้คืนความเสียหาย
🧙ตัวช่วยสร้างการเริ่มต้นใช้งาน การตั้งค่าที่แนะนำการใช้งานครั้งแรก
????แดชบอร์ดเครื่องมือ CLI ตั้งค่าเพียงคลิกเดียวสำหรับเครื่องมือเข้ารหัสยอดนิยม
🎮โมเดลสนามเด็กเล่น ทดสอบผู้ให้บริการ/รุ่น/ปลายทางจากแดชบอร์ด
🔏สลับลายนิ้วมือ CLI การจับคู่ลายนิ้วมือของแต่ละผู้ให้บริการในการตั้งค่า > ความปลอดภัย
🌐i18n (30 ภาษา) รองรับภาษาแดชบอร์ด + เอกสารแบบเต็มพร้อมการครอบคลุม RTL
🧹ล้างทุกรุ่น การล้างรายการโมเดลในคลิกเดียวในรายละเอียดผู้ให้บริการ
👁️การควบคุมแถบด้านข้าง🆕 ซ่อนส่วนประกอบและการผสานรวมจากการตั้งค่าลักษณะที่ปรากฏ
📋เทมเพลตปัญหา เทมเพลต GitHub มาตรฐานสำหรับข้อบกพร่องและฟีเจอร์
📂ไดเรกทอรีข้อมูลที่กำหนดเอง แทนที่ DATA_DIR สำหรับตำแหน่งที่เก็บข้อมูล ### Feature Deep Dive

Smart fallback with practical cost control

Combo: "my-coding-stack"
  1. cc/claude-opus-4-6
  2. nvidia/llama-3.3-70b
  3. glm/glm-4.7
  4. if/kimi-k2-thinking

เมื่อโควต้า อัตรา หรือสุขภาพล้มเหลว OmniRoute จะย้ายไปยังผู้สมัครรายถัดไปโดยอัตโนมัติโดยไม่ต้องสลับด้วยตนเอง#### Protocol management that is visible and operable

  • MCP + A2A สามารถค้นพบได้ใน UI และเอกสาร (ไม่ได้ซ่อนไว้)
  • API สถานะโปรโตคอลเปิดเผยข้อมูลการดำเนินงานสด (/api/mcp/*, /api/a2a/*)
  • แดชบอร์ดรวมการดำเนินการสำหรับปฏิบัติการวันที่ 2 (การสลับคำสั่งผสม การรีเซ็ตเบรกเกอร์ การยกเลิกงาน)#### Translator + validation workflow

พื้นที่นักแปลประกอบด้วย:

-สนามเด็กเล่น: ขอตรวจสอบการเปลี่ยนแปลง -ผู้ทดสอบแชท: คำขอ/ตอบกลับแบบเต็มไปกลับ -ม้านั่งทดสอบ: มีหลายกรณีในการวิ่งครั้งเดียว -Live Monitor: มุมมองการจราจรแบบเรียลไทม์

รวมถึงการตรวจสอบความถูกต้องของโปรโตคอลกับไคลเอนต์จริงผ่าน npm run test:protocols:e2e

📖MCP Server README— การอ้างอิงเครื่องมือ การกำหนดค่า IDE และตัวอย่างไคลเอนต์

📖A2A Server README— ทักษะ, วิธี JSON-RPC, การสตรีม และวงจรการใช้งาน## 🧪 Evaluations (Evals)

OmniRoute มีกรอบการประเมินในตัวเพื่อทดสอบคุณภาพการตอบสนองของ LLM เทียบกับชุดทอง เข้าถึงได้ผ่านทางAnalytics → Evalsในแดชบอร์ด### Built-in Golden Set

"OmniRoute Golden Set" ที่โหลดไว้ล่วงหน้ามีกรณีทดสอบสำหรับ:

  • คำทักทาย คณิตศาสตร์ ภูมิศาสตร์ การสร้างโค้ด
  • การปฏิบัติตามรูปแบบ JSON, การแปล, การสร้างมาร์กดาวน์
  • การปฏิเสธอย่างปลอดภัย (เนื้อหาที่เป็นอันตราย) การนับ ตรรกะบูลีน### Evaluation Strategies
กลยุทธ์ คำอธิบาย ตัวอย่าง
แน่นอน ผลลัพธ์จะต้องตรงกันทุกประการ "4"
`มี' เอาต์พุตจะต้องมีสตริงย่อย (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) "ปารีส"
regex เอาต์พุตต้องตรงกับรูปแบบ regex "1.*2.*3"
กำหนดเอง ฟังก์ชัน JS แบบกำหนดเองส่งคืนค่า true/false (output) => output.length > 10 ---

📖 Setup Guide

Protocol Setup (MCP + A2A)

<รายละเอียด>

🧩 การตั้งค่า MCP (Model Context Protocol)

เริ่มการขนส่ง MCP ในโหมด stdio:```bash omniroute --mcp


ขั้นตอนการตรวจสอบที่แนะนำ:

1. เชื่อมต่อไคลเอนต์ MCP ของคุณผ่าน stdio
2. เรียกใช้ `omniroute_get_health`
3. เรียกใช้ `omniroute_list_combos`
4. เปิด `/dashboard/mcp` เพื่อยืนยันการเต้นของหัวใจ กิจกรรม และการตรวจสอบ

API ที่มีประโยชน์สำหรับระบบอัตโนมัติ:

- `รับ /api/mcp/สถานะ`
- `GET /api/mcp/tools`
- `GET /api/mcp/audit`
- `GET /api/mcp/audit/stats`</details>

<รายละเอียด>
<summary><b>🤝 การตั้งค่า A2A (Agent2Agent)</b></summary>

ค้นหาตัวแทน:```bash
curl http://localhost:20128/.well-known/agent.json

ส่งงาน:```bash curl -X POST http://localhost:20128/a2a
-H 'content-type: application/json'
-d '{"jsonrpc":"2.0","id":"setup-a2a","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Summarize quota status."}]}}'


จัดการวงจรชีวิต:

- `รับ /api/a2a/สถานะ`
- `รับ /api/a2a/งาน`
- `รับ /api/a2a/งาน/:id`
- `POST /api/a2a/tasks/:id/cancel`

UI การดำเนินงาน:

- `/dashboard/a2a` สำหรับการสังเกตงาน/สถานะ/สตรีมและการดำเนินการของควัน</details>

<รายละเอียด>
<summary><b>🧪 การตรวจสอบความถูกต้องของโปรโตคอลจากต้นทางถึงปลายทาง</b></summary>

ตรวจสอบทั้งสองโปรโตคอลกับไคลเอนต์จริง:```bash
npm run test:protocols:e2e

สิ่งนี้จะยืนยัน:

  • เชื่อมต่อ/รายการ/โทรไคลเอ็นต์ MCP SDK
  • การค้นพบ A2A/ส่ง/สตรีม/รับ/ยกเลิก
  • ตรวจสอบข้อมูลในการตรวจสอบ MCP และ API การจัดการงาน A2A

<รายละเอียด>

💳 ผู้ให้บริการสมัครสมาชิก### Claude Code (Pro/Max)
Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking

Models:
  cc/claude-opus-4-6
  cc/claude-sonnet-4-5-20250929
  cc/claude-haiku-4-5-20251001

**เคล็ดลับสำหรับมือโปร:**ใช้ Opus สำหรับงานที่ซับซ้อน และใช้ Sonnet เพื่อความรวดเร็ว โควต้าการติดตาม OmniRoute ต่อรุ่น!### OpenAI Codex (Plus/Pro)

Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset

Models:
  cx/gpt-5.2-codex
  cx/gpt-5.1-codex-max

Codex Account Limit Management (5h + Weekly)

ขณะนี้บัญชี Codex แต่ละบัญชีมีการสลับนโยบายใน 'แดชบอร์ด -> ผู้ให้บริการ':

  • 5h (เปิด/ปิด): บังคับใช้นโยบายเกณฑ์กรอบเวลา 5 ชั่วโมง
  • รายสัปดาห์ (เปิด/ปิด): บังคับใช้นโยบายเกณฑ์หน้าต่างรายสัปดาห์
  • ลักษณะการทำงานตามเกณฑ์: เมื่อหน้าต่างที่เปิดใช้งานถึงการใช้งาน >=90% บัญชีนั้นจะถูกข้ามไป
  • พฤติกรรมการหมุน: OmniRoute กำหนดเส้นทางไปยังบัญชี Codex ที่มีสิทธิ์ถัดไปโดยอัตโนมัติ
  • พฤติกรรมการรีเซ็ต: เมื่อผู้ให้บริการ `รีเซ็ตเมื่อเวลาผ่านไป บัญชีจะมีสิทธิ์อีกครั้งโดยอัตโนมัติ

สถานการณ์:

  • 5h ON + Weekly ON: บัญชีจะถูกข้ามไปเมื่อหน้าต่างใดหน้าต่างหนึ่งถึงเกณฑ์
  • ปิด 5 ชั่วโมง + เปิดรายสัปดาห์: เฉพาะการใช้งานรายสัปดาห์เท่านั้นที่สามารถบล็อกบัญชีได้
  • เปิด 5 ชั่วโมง + ปิดรายสัปดาห์: การใช้งานเพียง 5 ชั่วโมงเท่านั้นที่สามารถบล็อกบัญชีได้
  • resetAt ผ่าน: บัญชีกลับเข้าสู่การหมุนอีกครั้งโดยอัตโนมัติ (ไม่มีการเปิดใช้อีกครั้งด้วยตนเอง)### Gemini CLI (FREE 180K/month!)
Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day

Models:
  gc/gemini-3-flash-preview
  gc/gemini-2.5-pro

**คุ้มค่าที่สุด:**ระดับฟรีมหาศาล! ใช้สิ่งนี้ก่อนระดับที่ชำระเงิน### GitHub Copilot

Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)

Models:
  gh/gpt-5
  gh/claude-4.5-sonnet
  gh/gemini-3.1-pro-preview

<รายละเอียด>

🔑 ผู้ให้บริการคีย์ API### NVIDIA NIM (FREE developer access — 70+ models)
  1. ลงทะเบียน: build.nvidia.com
  2. รับคีย์ API ฟรี (รวมเครดิตการอนุมาน 1,000 รายการ)
  3. แดชบอร์ด → เพิ่มผู้ให้บริการ → NVIDIA NIM:
    • คีย์ API: nvapi-your-key

รุ่น:nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct และอีกกว่า 50 รายการ

**เคล็ดลับสำหรับมือโปร:**API ที่เข้ากันได้กับ OpenAI — ทำงานได้อย่างราบรื่นกับการแปลรูปแบบของ OmniRoute!### DeepSeek

  1. ลงทะเบียน: platform.deepseek.com
  2. รับรหัส API
  3. แดชบอร์ด → เพิ่มผู้ให้บริการ → DeepSeek

รุ่น:deepseek/deepseek-chat, deepseek/deepseek-coder### Groq (Free Tier Available!)

  1. ลงทะเบียน: console.groq.com
  2. รับรหัส API (รวมระดับฟรี)
  3. แดชบอร์ด → เพิ่มผู้ให้บริการ → Groq

รุ่น:groq/llama-3.3-70b, groq/mixtral-8x7b

**เคล็ดลับสำหรับมือโปร:**การอนุมานที่รวดเร็วเป็นพิเศษ — ดีที่สุดสำหรับการเขียนโค้ดแบบเรียลไทม์!### OpenRouter (100+ Models)

  1. ลงทะเบียน: openrouter.ai
  2. รับรหัส API
  3. แดชบอร์ด → เพิ่มผู้ให้บริการ → OpenRouter

**รุ่น:**เข้าถึงโมเดลมากกว่า 100 โมเดลจากผู้ให้บริการรายใหญ่ทั้งหมดผ่านคีย์ API เดียว

ลักษณะการทำงานของแดชบอร์ด:โมเดล OpenRouter ได้รับการจัดการจากรุ่นที่มีจำหน่ายเพิ่ม นำเข้า และซิงค์อัตโนมัติด้วยตนเองทั้งหมดจะอัปเดตรายการเดียวกัน

<รายละเอียด>

💰 ผู้ให้บริการราคาถูก (สำรอง)### GLM-4.7 (Daily reset, $0.6/1M)
  1. ลงทะเบียน: Zhipu AI
  2. รับคีย์ API จาก Coding Plan
  3. แดชบอร์ด → เพิ่มคีย์ API:
    • ผู้ให้บริการ: glm
    • คีย์ API: คีย์ของคุณ

ใช้:glm/glm-4.7

**เคล็ดลับสำหรับมือโปร:**แผนการเขียนโค้ดเสนอโควต้า 3 เท่าในราคา 1/7! รีเซ็ตทุกวัน 10.00 น.### MiniMax M2.1 (5h reset, $0.20/1M)

  1. ลงทะเบียน: MiniMax
  2. รับรหัส API
  3. แดชบอร์ด → เพิ่มคีย์ API

การใช้งาน:minimax/MiniMax-M2.1

**เคล็ดลับสำหรับมือโปร:**ตัวเลือกที่ถูกที่สุดสำหรับบริบทที่ยาว (โทเค็น 1M)!### Kimi K2 ($9/month flat)

  1. สมัครสมาชิก: Moonshot AI
  2. รับรหัส API
  3. แดชบอร์ด → เพิ่มคีย์ API

ใช้:kimi/kimi-latest

**เคล็ดลับสำหรับมือโปร:**แก้ไข $9/เดือนสำหรับโทเค็น 10M = $0.90/ต้นทุนที่แท้จริง 1M!

<รายละเอียด>

🆓 ผู้ให้บริการฟรี (การสำรองข้อมูลฉุกเฉิน)### Qoder (5 FREE models via OAuth)
Dashboard → Connect Qoder
→ Qoder OAuth login
→ Unlimited usage

Models:
  if/kimi-k2-thinking
  if/qwen3-coder-plus
  if/glm-4.7
  if/minimax-m2
  if/deepseek-r1

Qwen (4 FREE models via Device Code)

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

Models:
  qw/qwen3-coder-plus
  qw/qwen3-coder-flash

Kiro (Claude FREE)

Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5

<รายละเอียด>

🎨 สร้างคอมโบ### Example 1: Maximize Subscription → Cheap Backup
Dashboard → Combos → Create New

Name: premium-coding
Models:
  1. cc/claude-opus-4-6 (Subscription primary)
  2. glm/glm-4.7 (Cheap backup, $0.6/1M)
  3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)

Use in CLI: premium-coding

Example 2: Free-Only (Zero Cost)

Name: free-combo
Models:
  1. gc/gemini-3-flash-preview (180K free/month)
  2. if/kimi-k2-thinking (unlimited)
  3. qw/qwen3-coder-plus (unlimited)

Cost: $0 forever!

<รายละเอียด>

🏽 บูรณาการ CLI### Cursor IDE
Settings → Models → Advanced:
  OpenAI API Base URL: http://localhost:20128/v1
  OpenAI API Key: [from OmniRoute dashboard]
  Model: cc/claude-opus-4-6

Claude Code

ใช้หน้าเครื่องมือ CLIในแดชบอร์ดเพื่อกำหนดค่าด้วยคลิกเดียว หรือแก้ไข ~/.claude/settings.json ด้วยตนเอง### Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"

codex "your prompt"

OpenClaw

ตัวเลือก 1 — แดชบอร์ด (แนะนำ):``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply


**ตัวเลือก 2 — กำหนดเอง:**แก้ไข `~/.openclaw/openclaw.json`:```json
{
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://127.0.0.1:20128/v1",
        "apiKey": "sk_omniroute",
        "api": "openai-completions"
      }
    }
  }
}

**หมายเหตุ:**OpenClaw ใช้งานได้กับ OmniRoute ในพื้นที่เท่านั้น ใช้ 127.0.0.1 แทน localhost เพื่อหลีกเลี่ยงปัญหาความละเอียดของ IPv6### Cline / Continue / RooCode

Settings → API Configuration:
  Provider: OpenAI Compatible
  Base URL: http://localhost:20128/v1
  API Key: [from OmniRoute dashboard]
  Model: if/kimi-k2-thinking

OpenCode

**ขั้นตอนที่ 1:**เพิ่ม OmniRoute เป็นผู้ให้บริการแบบกำหนดเอง:```bash opencode /connect

Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key


**ขั้นตอนที่ 2:**สร้าง/แก้ไข `opencode.json` ในรูทโปรเจ็กต์ของคุณ:```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniroute": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniRoute",
      "options": {
        "baseURL": "http://localhost:20128/v1"
      },
      "models": {
        "cc/claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
        "gg/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
        "if/kimi-k2-thinking": { "name": "Kimi K2 (Free)" }
      }
    }
  }
}

**ขั้นตอนที่ 3:**เลือกโมเดลใน OpenCode:```bash /models

Select any OmniRoute model from the list


>**เคล็ดลับ:**เพิ่มโมเดลใดๆ ที่มีอยู่ในปลายทาง OmniRoute `/v1/models` ของคุณไปยังส่วน `models` ใช้รูปแบบ `ผู้ให้บริการ/รหัสรุ่น` จากแดชบอร์ด OmniRoute ของคุณ</details>

---

## การแก้ไขปัญหา

<รายละเอียด>
<summary><b>คลิกเพื่อขยายคำแนะนำการแก้ปัญหา</b></summary>

**"โมเดลภาษาไม่ได้ระบุข้อความ"**

- โควต้าผู้ให้บริการหมด → ตรวจสอบตัวติดตามโควต้าแดชบอร์ด
- วิธีแก้ไข: ใช้ทางเลือกแบบคอมโบหรือเปลี่ยนไปใช้ระดับที่ถูกกว่า

**จำกัดอัตรา**

- โควต้าการสมัครสมาชิกหมด → สำรองไปที่ GLM/MiniMax
- เพิ่มคอมโบ: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`

**โทเค็น OAuth หมดอายุแล้ว**

- รีเฟรชอัตโนมัติโดย OmniRoute
- หากปัญหายังคงอยู่: แดชบอร์ด → ผู้ให้บริการ → เชื่อมต่อใหม่

**ค่าใช้จ่ายสูง**

- ตรวจสอบสถิติการใช้งานในแดชบอร์ด → ต้นทุน
- เปลี่ยนโมเดลหลักเป็น GLM/MiniMax
- ใช้ Free Tier (Gemini CLI, Qoder) สำหรับงานที่ไม่สำคัญ

**พอร์ตแดชบอร์ด/API ไม่ถูกต้อง**

- `PORT` คือพอร์ตฐานมาตรฐาน (และพอร์ต API เป็นค่าเริ่มต้น)
- `API_PORT` จะแทนที่เฉพาะ Listener API ที่เข้ากันได้กับ OpenAI เท่านั้น
- `DASHBOARD_PORT` จะแทนที่เฉพาะตัวฟังแดชบอร์ด/Next.js
- ตั้งค่า `NEXT_PUBLIC_BASE_URL` เป็นแดชบอร์ด/URL สาธารณะของคุณ (สำหรับการเรียกกลับ OAuth)

**ข้อผิดพลาดในการซิงค์คลาวด์**

- ตรวจสอบ `BASE_URL` ชี้ไปที่อินสแตนซ์ที่ทำงานอยู่ของคุณ
- ตรวจสอบ `CLOUD_URL` ชี้ไปยังจุดปลายทางคลาวด์ที่คุณคาดหวัง
- รักษาค่า `NEXT_PUBLIC_*` ให้สอดคล้องกับค่าฝั่งเซิร์ฟเวอร์

**เข้าสู่ระบบครั้งแรกใช้งานไม่ได้**

- ตรวจสอบ `INITIAL_PASSWORD` ใน `.env`
- หากไม่ได้ตั้งค่า รหัสผ่านสำรองคือ `123456`

**ไม่มีบันทึกคำขอ**

- อาร์ติแฟกต์คำขอถูกเขียนไปที่ `DATA_DIR/call_logs/` เป็นไฟล์ JSON หนึ่งไฟล์ต่อคำขอ
- เปิดใช้งานการจับภาพไปป์ไลน์จากแดชบอร์ด → บันทึก → ขอบันทึก หากคุณต้องการเพย์โหลดต่อขั้นตอนโดยละเอียด
- ตั้งค่า `APP_LOG_TO_FILE=true` หากคุณต้องการบันทึกคอนโซลแอปพลิเคชันใน `logs/application/app.log`
- ปรับ `APP_LOG_MAX_FILE_SIZE`, `APP_LOG_RETENTION_DAYS`, `APP_LOG_MAX_FILES` และ `CALL_LOG_MAX_ENTRIES` ตามต้องการ

**การทดสอบการเชื่อมต่อแสดงว่า "ไม่ถูกต้อง" สำหรับผู้ให้บริการที่รองรับ OpenAI**

- ผู้ให้บริการหลายรายไม่เปิดเผยจุดสิ้นสุด `/models`
- OmniRoute v1.0.6+ มีการตรวจสอบทางเลือกผ่านการแชทให้เสร็จสิ้น
- ตรวจสอบให้แน่ใจว่า URL พื้นฐานมีคำต่อท้าย `/v1`### 🔐 OAuth on a Remote Server

<a name="oauth-on-a-remote-server"></a>
<a name="oauth-em-servidor-remoto"></a>

>**⚠️ สำคัญสำหรับผู้ใช้ที่ใช้ OmniRoute บน VPS, Docker หรือเซิร์ฟเวอร์ระยะไกลใดๆ**#### Why does Antigravity / Gemini CLI OAuth fail on remote servers?

ผู้ให้บริการ**Antigravity**และ**Gemini CLI**ใช้**Google OAuth 2.0**Google กำหนดให้ใช้ `redirect_uri` ในโฟลว์ OAuth เพื่อให้ตรงกับหนึ่งใน URI ที่ลงทะเบียนล่วงหน้าใน Google Cloud Console ของแอป

ข้อมูลรับรอง OAuth ที่รวมอยู่ใน OmniRoute ได้รับการลงทะเบียน**สำหรับ `localhost` เท่านั้น**เมื่อคุณเข้าถึง OmniRoute บนเซิร์ฟเวอร์ระยะไกล (เช่น `https://omniroute.myserver.com`) Google จะปฏิเสธการตรวจสอบสิทธิ์ด้วย:```
Error 400: redirect_uri_mismatch

Solution: Configure your own OAuth credentials

คุณต้องสร้างOAuth 2.0 Client IDใน Google Cloud Console ด้วย URI ของเซิร์ฟเวอร์ของคุณ#### Step-by-step

1. เปิดคอนโซล Google Cloud

ไปที่: https://console.cloud.google.com/apis/credentials

2. สร้างรหัสไคลเอ็นต์ OAuth 2.0 ใหม่

  • คลิก**"+ สร้างข้อมูลรับรอง""รหัสไคลเอ็นต์ OAuth"**
  • ประเภทแอปพลิเคชัน:"แอปพลิเคชันเว็บ"
  • ชื่อ: อะไรก็ได้ที่คุณชอบ (เช่น OmniRoute Remote)

3. เพิ่ม URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต

ในช่อง**"URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต"**ให้เพิ่ม:``` https://your-server.com/callback


> แทนที่ `your-server.com` ด้วยโดเมนหรือ IP ของเซิร์ฟเวอร์ของคุณ (รวมพอร์ตหากจำเป็น เช่น `http://45.33.32.156:20128/callback`)

**4. บันทึกและคัดลอกข้อมูลรับรอง**

หลังจากสร้างแล้ว Google จะแสดง**รหัสไคลเอ็นต์**และ**รหัสลับไคลเอ็นต์**

**5. ตั้งค่าตัวแปรสภาพแวดล้อม**

ใน `.env` ของคุณ (หรือตัวแปรสภาพแวดล้อม Docker):```bash
# For Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

# For Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

6. รีสตาร์ท OmniRoute```bash

npm:

npm run dev

Docker:

docker restart omniroute


**7. ลองเชื่อมต่ออีกครั้ง**

แดชบอร์ด → ผู้ให้บริการ → Antigravity (หรือ Gemini CLI) → OAuth

ตอนนี้ Google จะเปลี่ยนเส้นทางไปยัง `https://your-server.com/callback` อย่างถูกต้อง---

#### Temporary workaround (without custom credentials)

หากคุณไม่ต้องการตั้งค่าข้อมูลรับรองของคุณเองในขณะนี้ คุณยังคงใช้**ขั้นตอน URL ด้วยตนเอง**ได้:

1. OmniRoute เปิด URL การอนุญาตของ Google
2. หลังจากอนุญาตแล้ว Google จะพยายามเปลี่ยนเส้นทางไปยัง `localhost` (ซึ่งล้มเหลวบนเซิร์ฟเวอร์ระยะไกล)
3.**คัดลอก URL แบบเต็ม**จากแถบที่อยู่ของเบราว์เซอร์ของคุณ (แม้ว่าหน้าเว็บจะไม่โหลดก็ตาม)
4. วาง URL นั้นลงในฟิลด์ที่แสดงในโมดอลการเชื่อมต่อ OmniRoute
5. คลิก**"เชื่อมต่อ"**

> ใช้งานได้เนื่องจากรหัสการให้สิทธิ์ใน URL นั้นถูกต้อง ไม่ว่าหน้าการเปลี่ยนเส้นทางจะโหลดแล้วก็ตาม---

<รายละเอียด>
<summary><b>🇧🇷 Versão em Português</b></summary>#### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?

ระบบปฏิบัติการ**Antigravity**และ**Gemini CLI**ใช้**Google OAuth 2.0**สำหรับการรับรองความถูกต้อง O Google ต้องการ `redirect_uri` usada no fluxo OAuth seja**exatamente**uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.

ตามที่รับรอง OAuth ไม่รวม OmniRoute estão cadastradas**apenas para `localhost`**เรียกใช้ OmniRoute บนเซิร์ฟเวอร์ระยะไกล (เช่น: `https://omniroute.meuservidor.com`) หรือ Google ตรวจสอบความถูกต้องของ com:```
Error 400: redirect_uri_mismatch

Solução: Configure suas próprias credenciais OAuth

อยู่ในนั้นโดยตรงOAuth 2.0 Client IDไม่มี Google Cloud Console พร้อม URI สำหรับเซิร์ฟเวอร์#### Passo a passo

1. เข้าถึง Google Cloud Console

อับรา: https://console.cloud.google.com/apis/credentials

2. ฉันเพิ่งค้นพบ OAuth 2.0 Client ID

  • คลิก em**"+ สร้างข้อมูลรับรอง""รหัสไคลเอ็นต์ OAuth"**
  • เคล็ดลับการใช้งาน:"แอปพลิเคชันเว็บ"
  • ชื่อ: ชื่อ escolha qualquer (เช่น: OmniRoute Remote)

3. Adicione เป็น URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต

ไม่มีค่าย**"URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต"**ผู้สนับสนุน:``` https://seu-servidor.com/callback


> Substitua `seu-servidor.com` pelo domínio ou IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`)

**4. Salve e copy as credenciais**

อ้างอิงถึง Google มากที่สุด o**Client ID**e o**Client Secret**

**5. กำหนดค่าเป็น variáveis de Ambiente**

ไม่มี `.env` (หรือ nas variáveis de Ambiente do Docker):```bash
# Para Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

# Para Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

6. ย้อนกลับไปสู่ OmniRoute```bash

Se usando npm:

npm run dev

Se usando Docker:

docker restart omniroute


**7. เต็นท์ คอนเนกตาร์ โนวาเมนเต**

แดชบอร์ด → ผู้ให้บริการ → Antigravity (หรือ Gemini CLI) → OAuth

ภาพรวมของ Google การแก้ไขสำหรับ `https://seu-servidor.com/callback` และการรับรองความถูกต้อง---

#### Workaround temporário (sem configurar credenciais próprias)

Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo**manual de URL**:

1. O OmniRoute ย่อ URL อัตโนมัติของ Google
2. ใช้เป็นคำสั่งอัตโนมัติ หรือ Google กำหนดแนวทางใหม่สำหรับ `localhost` (que falha no servidor remoto)
3.**คัดลอก URL ที่สมบูรณ์**da barra de endereço do seu browser (mesmo que a página não carregue)
4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
5. คลิกที่นี่**"เชื่อมต่อ"**

> วิธีแก้ปัญหาเบื้องต้นคือทำการเปลี่ยนเส้นทางโดยอัตโนมัติและทำการเปลี่ยนเส้นทางโดยอัตโนมัติ</details>

---

</details>

## 🛠️ Tech Stack

<รายละเอียด>
<summary><b>คลิกเพื่อขยายรายละเอียด Tech Stack</b></summary>

-**รันไทม์**: Node.js 1822 LTS (⚠️ Node.js 24+ ไม่ได้รับการสนับสนุน**— ไบนารีเนทิฟ `better-sqlite3` เข้ากันไม่ได้)
-**ภาษา**: TypeScript 5.9 —**TypeScript 100%**ทั่วทั้ง `src/` และ `open-sse/` (ไม่มี `ใดๆ` ในโมดูลหลักตั้งแต่เวอร์ชัน 2.0)
-**เฟรมเวิร์ก**: Next.js 16 + React 19 + Tailwind CSS 4
-**ฐานข้อมูล**: LowDB (JSON) + SQLite (สถานะโดเมน + บันทึกพร็อกซี + การตรวจสอบ MCP + การตัดสินใจกำหนดเส้นทาง)
-**Schemas**: Zod (การตรวจสอบ I/O ของเครื่องมือ MCP, สัญญา API)
-**โปรโตคอล**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE)
-**การสตรีม**: เหตุการณ์ที่เซิร์ฟเวอร์ส่ง (SSE)
-**การตรวจสอบสิทธิ์**: OAuth 2.0 (PKCE) + JWT + คีย์ API + การอนุญาตขอบเขต MCP
-**การทดสอบ**: ตัวรันการทดสอบ Node.js + Vitest (การทดสอบมากกว่า 900 รายการ รวมถึงหน่วย, การรวม, E2E)
-**CI/CD**: การดำเนินการ GitHub (เผยแพร่ npm อัตโนมัติ + Docker Hub เมื่อวางจำหน่าย)
-**เว็บไซต์**: [omniroute.online](https://omniroute.online)
-**แพ็คเกจ**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
-**นักเทียบท่า**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
-**ความยืดหยุ่น**: เซอร์กิตเบรกเกอร์, การถอยกลับแบบเอ็กซ์โปเนนเชียล, การป้องกันฝูงฟ้าผ่า, การปลอมแปลง TLS, การรักษาตัวเองแบบคอมโบอัตโนมัติ</details>

---

## เอกสาร

| เอกสาร | คำอธิบาย |
| -------------------------------------------------- | --------------------------------------------------- |
| [คู่มือผู้ใช้](docs/USER_GUIDE.md) | ผู้ให้บริการ, คอมโบ, การรวม CLI, การปรับใช้ |
| [การอ้างอิง API](docs/API_REFERENCE.md) | จุดสิ้นสุดทั้งหมดพร้อมตัวอย่าง |
| [เซิร์ฟเวอร์ MCP](open-sse/mcp-server/README.md) | เครื่องมือ MCP 16 รายการ, การกำหนดค่า IDE, ไคลเอนต์ Python/TS/Go |
| [เซิร์ฟเวอร์ A2A](src/lib/a2a/README.md) | โปรโตคอล JSON-RPC 2.0, ทักษะ, การสตรีม, การจัดการงาน |
| [เครื่องยนต์คอมโบอัตโนมัติ](docs/auto-combo.md) | การให้คะแนน 6 ปัจจัย แพ็กโหมด การรักษาตัวเอง |
| [การแก้ไขปัญหา](docs/TROUBLESHOOTING.md) | ปัญหาและแนวทางแก้ไขทั่วไป |
| [สถาปัตยกรรม](docs/ARCHITECTURE.md) | สถาปัตยกรรมระบบและภายใน |
| [มีส่วนร่วม](CONTRIBUTING.md) | การตั้งค่าและแนวทางการพัฒนา |
| [ข้อมูลจำเพาะของ OpenAPI](docs/openapi.yaml) | ข้อมูลจำเพาะของ OpenAPI 3.0 |
| [นโยบายความปลอดภัย](SECURITY.md) | การรายงานช่องโหว่และแนวปฏิบัติด้านความปลอดภัย |
| [การปรับใช้ VM](docs/VM_DEPLOYMENT_GUIDE.md) | คู่มือฉบับสมบูรณ์: VM + nginx + การตั้งค่า Cloudflare |
| [แกลเลอรีคุณลักษณะ](docs/FEATURES.md) | ทัวร์ชมแดชบอร์ดภาพพร้อมภาพหน้าจอ |
| [รายการตรวจสอบการเผยแพร่](docs/RELEASE_CHECKLIST.md) | ขั้นตอนการตรวจสอบก่อนเผยแพร่ |---

## 🗺️ Roadmap

OmniRoute มี**คุณสมบัติมากกว่า 210 รายการ**ที่วางแผนไว้**ในขั้นตอนการพัฒนาหลายขั้นตอน นี่คือประเด็นสำคัญ:

| หมวดหมู่ | คุณสมบัติที่วางแผนไว้ | ไฮไลท์ |
| --------------------------------- | ---------------- | -------------------------------------------------------------------------------------- |
| 🧠**การกำหนดเส้นทางและความฉลาด**| 25+ | การกำหนดเส้นทางที่มีความหน่วงต่ำที่สุด, การกำหนดเส้นทางตามแท็ก, โควต้า preflight, การเลือกบัญชี P2C |
| 🔒**ความปลอดภัยและการปฏิบัติตามข้อกำหนด**| 20+ | การเสริมความแข็งแกร่งของ SSRF, การปิดบังข้อมูลรับรอง, ขีดจำกัดอัตราต่อจุดสิ้นสุด, การกำหนดขอบเขตคีย์การจัดการ |
| 📊**ความสามารถในการสังเกต**| 15+ | การรวม OpenTelemetry การตรวจสอบโควต้าแบบเรียลไทม์ การติดตามต้นทุนต่อรุ่น |
| 🔄**การบูรณาการของผู้ให้บริการ**| 20+ | การลงทะเบียนโมเดลแบบไดนามิก, คูลดาวน์ของผู้ให้บริการ, Codex หลายบัญชี, การแยกวิเคราะห์โควต้า Copilot
| ⚡**ประสิทธิภาพ**| 15+ | เลเยอร์แคชคู่, แคชพร้อมท์, แคชการตอบสนอง, การสตรีมแบบ Keepalive, ชุด API |
| 🌐**ระบบนิเวศ**| 10+ | WebSocket API, กำหนดค่า hot-reload, การจัดเก็บ config แบบกระจาย, โหมดเชิงพาณิชย์ |### 🔜 Coming Soon

- 🔗**การรวม OpenCode**— รองรับผู้ให้บริการเนทีฟสำหรับ IDE การเข้ารหัส OpenCode AI
- 🔗**การบูรณาการ TRAE**— รองรับกรอบการพัฒนา TRAE AI อย่างเต็มที่
- 📦**Batch API**— การประมวลผลแบตช์แบบอะซิงโครนัสสำหรับคำขอจำนวนมาก
- 🎯**การกำหนดเส้นทางตามแท็ก**— คำขอกำหนดเส้นทางตามแท็กที่กำหนดเองและข้อมูลเมตา
- 💰**กลยุทธ์ต้นทุนต่ำสุด**— เลือกผู้ให้บริการที่ถูกที่สุดโดยอัตโนมัติ

> 📝 ข้อมูลจำเพาะคุณสมบัติแบบเต็มมีอยู่ใน [`docs/new-features/`](docs/new-features/) (217 ข้อมูลจำเพาะโดยละเอียด)---

## 👥 Contributors

[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)

### How to Contribute

1. แยกพื้นที่เก็บข้อมูล
2. สร้างสาขาฟีเจอร์ของคุณ (`git checkout -b Feature/amazing-feature`)
3. ยอมรับการเปลี่ยนแปลงของคุณ (`git commit -m 'เพิ่มฟีเจอร์ที่น่าทึ่ง'')
4. พุชไปที่สาขา (`git push origin features/amazing-feature`)
5. เปิดคำขอดึง

ดู [CONTRIBUTING.md](CONTRIBUTING.md) สำหรับคำแนะนำโดยละเอียด### Releasing a New Version

```bash
# Create a release — npm publish happens automatically
gh release create v2.0.0 --title "v2.0.0" --generate-notes

📊 Star History

Stargazers over time

Stargazers over time

🙏 Acknowledgments

ขอขอบคุณเป็นพิเศษสำหรับ**9routerโดยdecolua**— โปรเจ็กต์ดั้งเดิมที่เป็นแรงบันดาลใจให้กับ Fork นี้ OmniRoute สร้างบนรากฐานอันน่าทึ่งดังกล่าวด้วยคุณสมบัติเพิ่มเติม API แบบหลายรูปแบบ และการเขียน TypeScript ใหม่ทั้งหมด

ขอขอบคุณเป็นพิเศษสำหรับ**CLIProxyAPI**— การใช้งาน Go ดั้งเดิมที่เป็นแรงบันดาลใจให้กับพอร์ต JavaScript นี้---

สิทธิ์การใช้งาน

ใบอนุญาต MIT - ดู ใบอนุญาต สำหรับรายละเอียด---

Built with ❤️ for developers who code 24/7
omniroute.online