# README (ไทย)
🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md)
---
# 🚀 OmniRoute — เกตเวย์ AI ฟรี
## 💰 โทเค็นฟรี ~1.62B / เดือน
> การรวมแพ็กเกจฟรีด้วยตนเองเป็นเรื่องยุ่งยาก — มี SDK หลายสิบรายการ ขีดจำกัดอัตราการใช้งานหลายสิบแบบ และคุณก็ไม่รู้เลยว่าจริง ๆ แล้วมีโควตาอยู่เท่าใด OmniRoute รวบรวม **รายการแพ็กเกจฟรี 489 รายการจากคีย์พูลแบบหมุนเวียน 35 คีย์** และคำนวณตัวเลขโทเค็นหลักจาก **17 พูลที่มีการประกาศงบประมาณรายเดือนเป็นจำนวนบวก รวมถึงเพดานแยกตามโมเดลของ Groq อีก 5 รายการ** โดยตัดรายการซ้ำตามพูลที่ใช้ร่วมกัน โควตาที่เปิดให้ใช้ได้หลังผ่านการตรวจสอบตัวตนตามภูมิภาคเท่านั้น (ปัจจุบันคือ ModelScope) จะแสดงแยกต่างหาก โดยมีอีก +~6M ที่ต้องผ่านการยืนยันตัวตนตามภูมิภาค และจะไม่ถูกนำไปรวมในตัวเลขหลัก ผลลัพธ์จะแสดงอยู่บนแดชบอร์ด (`/dashboard/free-tiers`) เสมอ
> ภาพเคลื่อนไหวสรุปหน้า `/dashboard/free-tiers` แบบเรียลไทม์ ดูวิธีการทั้งหมด (การตัดรายการซ้ำตามพูล ระดับเครดิต และข้อกำหนดของผู้ให้บริการ) ได้ที่: **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> ตัวเลขเหล่านี้ได้รับการตรวจสอบซ้ำทุกสองสัปดาห์เทียบกับแค็ตตาล็อกปัจจุบัน และสามารถ **เปลี่ยนแปลงได้ทั้งสองทิศทาง** — เมื่อผู้ให้บริการยกเลิกแพ็กเกจฟรี ตัวเลขก็จะลดลง และเมื่อมีแพ็กเกจใหม่เพิ่มเข้ามา ตัวเลขก็จะสูงขึ้น เราเผยแพร่ตัวเลขที่แค็ตตาล็อกคำนวณได้จริงเท่านั้น ไม่ใช่กรณีดีที่สุดที่ปัดเศษขึ้น
⭐ กดดาวให้รีโพนี้ หาก OMNIROUTE ช่วยให้คุณประหยัดเงินและทำงานได้ง่ายขึ้น
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 เข้าร่วมชุมชน
**👋 ติดตามผู้ดูแลโปรเจกต์ — รับข่าวสารผู้ให้บริการใหม่ รุ่นใหม่ และเคล็ดลับก่อนใคร:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**คำถาม เคล็ดลับเกี่ยวกับผู้ให้บริการ แผนงาน และการสนับสนุน → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 ทั่วโลก](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 บราซิล](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [พอร์ทัล](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 เกตเวย์ยังคงเติบโตอย่างต่อเนื่อง
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ------------------------------ | :-----: | :---------------------: | :--------: |
| 🌐 ผู้ให้บริการ | 290 | **357** | รอเพิ่มอีก |
| 🧠 ID โมเดลแชตที่ไม่ซ้ำกัน | 1185 | **1312** | — |
| 🖼️ สะพานเชื่อมโมดาลิตี | — | 🆕 ภาพ + เสียง + วิดีโอ | — |
| 📡 แค็ตตาล็อกฟรีของ Radar | — | 🆕 เลือกเข้าร่วม | — |
| ⚖️ การจัดตารางโดยคำนึงถึงโควตา | — | 🆕 Quota-Share | — |
| 📊 เทเลเมทรีโควตา | — | 🆕 แบบเรียลไทม์ | — |
**→ [แผนงาน](ROADMAP.md) — เดินหน้าตามเส้นทางสู่ `v3.9.0 LTS`**
## 🧩 พร้อมใช้งาน
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
[](LICENSE)


## 🆓 ใช้งานได้ทันทีที่ติดตั้ง — ไม่ต้องใช้คีย์ ไม่ต้องตั้งค่า
```bash
# Fresh install, zero credentials — `auto` already works:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
ต้องการแบ็กเอนด์ฟรีที่เฉพาะเจาะจงหรือไม่? เรียกใช้ `oc/…` (OpenCode Free) โดยตรง จากนั้นอัปเกรดเป็น `auto` และให้ OmniRoute เลือก
📦 สคริปต์เริ่มต้นอย่างรวดเร็วแบบคัดลอกและวางสำหรับ **Python, Node.js, PHP และ cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 คำมั่นสัญญา
# 🤔 ทำไมต้อง OmniRoute?
## 🤝 ได้รับการสนับสนุนจากเพื่อนโอเพนซอร์สของเรา
> **ต้องการเข้าร่วมเป็นเพื่อนโอเพนซอร์สหรือไม่?** บริษัทเหล่านี้สนับสนุนโอเพนซอร์สและช่วยให้ OmniRoute ดำเนินต่อไปได้ — และเราจะเปิดเผยต่อสาธารณะว่าโทเค็นทุกโทเค็นที่พวกเขาให้เราไปใช้ทำอะไร ติดต่อเราได้ที่: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
ขอขอบคุณ Kimi (Moonshot AI) เพื่อนโอเพนซอร์สผู้ก่อตั้งของเราที่สนับสนุนโปรเจกต์นี้! Kimi คือห้องปฏิบัติการ AI ที่อยู่เบื้องหลังตระกูลโมเดล K2 และ K3 แบบโอเพนเวท — Kimi K3 มอบหน้าต่างบริบท 1M-โทเค็น, การมองเห็นแบบเนทีฟ และการเขียนโค้ดระดับแนวหน้าในราคาเพียงเศษเสี้ยวของโมเดลแบบปิด และทำงานได้ทันทีกับ Claude Code, Codex และเครื่องมือเขียนโค้ดทุกชนิดที่ OmniRoute ให้บริการ
สิ่งที่การสนับสนุนของ Kimi ช่วยขับเคลื่อน: เครดิต API ของ Kimi ขับเคลื่อนไปป์ไลน์การเผยแพร่ที่ผ่านการตรวจสอบโดย AI ของ OmniRoute — ขั้นตอน การตรวจสอบการรวมโค้ดที่ขับเคลื่อนโดย Kimi K3 ซึ่งตรวจสอบทุก pull request ก่อนที่จะเผยแพร่ — รวมถึงการพัฒนาฟีเจอร์ในแต่ละวัน การสนับสนุน Kimi ระดับเฟิร์สคลาสมีให้เลือกทั้งสองช่องทาง: Kimi API โดยตรง (kimi-k3) และ แผนการเขียนโค้ด Kimi Code (OAuth และ API key) OmniRoute ยังเป็นโปรเจกต์โอเพนซอร์สแรกของบราซิลที่อยู่ในโปรแกรมสนับสนุนของ Kimi รับ Kimi API key พร้อมเครดิตเพิ่ม 15% →
Cheaper Inference cheaperinference.com
ขอขอบคุณ Cheaper Inference เพื่อนโอเพนซอร์สของ OmniRoute ที่สนับสนุนโปรเจกต์นี้! Cheaper Inference คือเกตเวย์จัดอันดับตามราคาที่จำหน่ายโมเดลแนวหน้า 42 โมเดล — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok และ MiniMax — ผ่านปลายทางที่เข้ากันได้กับ OpenAI เพียงจุดเดียว โดยจะส่งคำขอแต่ละรายการไปยังผู้ให้บริการที่มีสิทธิ์ที่ถูกที่สุดโดยไม่คิดค่าบริการเกินราคาที่ผู้สร้างโมเดลกำหนด
การสนับสนุนระดับเฟิร์สคลาสใน OmniRoute: Chat Completions, ปลายทางเนทีฟ /v1/responses, การมองเห็น, การเรียกใช้เครื่องมือ และโมเดลรูปภาพ 3 โมเดล (grok-imagine, nano-banana-pro, nano-banana-2, เข้าถึงได้ในชื่อ cheaperinference/<model>) รับ API key →
ลิงก์ที่ติดแท็ก aff=omniroute เป็นลิงก์พันธมิตร ซึ่งช่วยสนับสนุนโครงการโดยไม่มีค่าใช้จ่ายเพิ่มเติมสำหรับคุณ
🎟️ โปรโมชันพันธมิตร — คูปองสมัครฟรีจากผู้ให้บริการที่เราไม่ได้สนับสนุน (คลิกเพื่อขยาย)
ส่วนนี้มีไว้สำหรับรหัสอ้างอิง/คูปองเท่านั้น การเป็นพันธมิตรที่ได้รับการสนับสนุนจะอยู่ในส่วน 🤝 ได้รับการสนับสนุนจากเพื่อนโอเพนซอร์สของเรา ด้านบน OmniRoute ไม่มีการสนับสนุนหรือเป็นพันธมิตรกับผู้ให้บริการที่ระบุไว้ที่นี่ — นี่คือคูปองสาธารณะที่ใครก็สามารถใช้ได้
AgentRouter agentrouter.org
AgentRouter — การสมัครพันธมิตร · เครดิตฟรี $100 เมื่อสมัคร (เซิร์ฟเวอร์ฟรี คาดว่าจะมีเวลาแฝงสูงขึ้น — เหมาะสำหรับการทดสอบ ไม่ใช่สำหรับการใช้งานจริง) การสนับสนุนระดับเฟิร์สคลาสใน OmniRoute ตั้งแต่ v3.8.50 : Chat Completions, รูปแบบสายที่เข้ากันได้กับ Anthropic และเส้นทางที่เข้ากันได้กับ OpenAI โมเดลที่มีให้เลือก ได้แก่ claude-opus-4-8, claude-opus-5, gpt-5.6-sol และอื่นๆ รับ $100 ของคุณ →
⚠️ ลิงก์พันธมิตร — OmniRoute ไม่มีการสนับสนุนหรือเป็นพันธมิตรกับผู้ให้บริการรายนี้
รู้จักผู้ให้บริการรายอื่นที่มีคูปองสมัครฟรีที่เอื้อประโยชน์ต่อผู้ใช้ OmniRoute หรือไม่? เปิด issue แล้วเราจะเพิ่มที่นี่
## 🎯 Combos — ฟีเจอร์เรือธง
> **คอมโบ** คือสายโซ่ของโมเดลที่ OmniRoute กำหนดเส้นทางไปยังโมเดลต่าง ๆ **โดยอัตโนมัติ** หากโควตาหมด ผู้ให้บริการล้มเหลว หรือค่าใช้จ่ายพุ่งสูง คอมโบจะย้ายไปยังโมเดลถัดไปที่เข้าเกณฑ์และทำงานเป็นปกติได้ 🛡️
### ⚡ ไม่ต้องกำหนดค่า — เพียงใช้ `auto`
ไม่ต้องสร้างคอมโบ เพียงตั้งค่าโมเดลเป็น `auto` (หรือตัวแปรรูปแบบอื่น) แล้ว OmniRoute จะสร้างคอมโบเสมือนจากผู้ให้บริการที่คุณเชื่อมต่อ พร้อมให้คะแนนแบบเรียลไทม์:
รหัสโมเดล สิ่งที่ปรับให้เหมาะสม
auto🎯 ค่าเริ่มต้นที่สมดุล (LKGP — ยึดผู้ให้บริการล่าสุดที่ทำงานได้ดี)
auto/coding🧑💻 ให้น้ำหนักโดยเน้นคุณภาพสำหรับการสร้างโค้ด
auto/fast⚡ เลือกเวลาแฝงต่ำที่สุดก่อน
auto/cheap💰 เลือกราคาต่อโทเค็นที่ถูกที่สุดก่อน
auto/offline🔋 เลือกเป้าหมายที่มีโควตา / ขีดจำกัดอัตราคงเหลือมากที่สุดก่อน
auto/smart🔭 เน้นคุณภาพก่อน + สำรวจ 10% เพื่อค้นหาโมเดลที่ดีกว่า
auto/lkgp📌 ยึดผู้ให้บริการล่าสุดที่ทราบว่าทำงานได้ดีอย่างชัดเจน
auto/chaos🧪 น้ำหนักสำหรับการแทรกความผิดพลาดเพื่อทดสอบความยืดหยุ่น (วิศวกรรมเคออส)
##
### 🔀 หรือสร้างเอง — กลยุทธ์การกำหนดเส้นทาง 19 แบบ
กลยุทธ์ทั้งหมด **19** แบบ — ผสมผสานได้ในแต่ละขั้นตอนของคอมโบ:
#
กลยุทธ์
การทำงาน
1
priority
รายการเรียงลำดับโดยเลือกเป้าหมายแรก — ใช้แต่ละเป้าหมายจนหมดก่อนเลือกเป้าหมายถัดไป 🥇
2
fill-first
ใช้โควตาของแต่ละเป้าหมายให้เต็มก่อนย้ายไปเป้าหมายถัดไป
3
weighted
สุ่มแบบถ่วงน้ำหนักตามน้ำหนักของแต่ละเป้าหมาย
4
round-robin
วนเลือกเป้าหมายตามลำดับ
5
p2c
กระจายโหลดแบบสุ่มด้วยการเลือกสองตัวเลือก
6
least-used
เลือกเป้าหมายที่มีโหลดปัจจุบันต่ำที่สุด
7
random
สุ่มเลือกด้วยความน่าจะเป็นเท่ากัน (ตัดรายการซ้ำออก)
8
strict-random
สุ่มโดยไม่ตัดรายการที่เลือกซ้ำออก 🎲
9
cost-optimized
ลดค่าใช้จ่าย $ ต่อคำขอให้ต่ำที่สุดตามราคาแบบเรียลไทม์ในแค็ตตาล็อก 💸
10
headroom
เลือกเป้าหมายที่มีโควตาคงเหลือมากที่สุด
11
reset-window
เลือกเป้าหมายที่กรอบเวลาโควตาจะรีเซ็ตเร็วที่สุดก่อน
12
reset-aware
จัดอันดับตามเวลารีเซ็ตโควตา — กรอบเวลาสั้นมาก่อน 📊
13
context-relay
ส่งต่อบริบทระหว่างเป้าหมายสำหรับบทสนทนาที่ยาว 🧠
14
context-optimized
เลือกเป้าหมายที่เหมาะสมที่สุดกับขนาดบริบทปัจจุบัน
15
cache-optimized
ตรึงคำนำหน้าพรอมป์ที่นำกลับมาใช้ซ้ำได้แต่ละรายการไว้กับบัญชีเดิม — เพิ่มอัตราการพบข้อมูลในแคชพรอมป์ให้สูงสุด 🎯
16
lkgp
เส้นทางล่าสุดที่ทราบว่าทำงานได้ดี — ตรึงไว้กับผู้ให้บริการล่าสุดที่สำเร็จ จากนั้นจึงใช้กฎสำรอง
17
auto
ให้คะแนนแบบเรียลไทม์จาก 16 ปัจจัยสำหรับทุกการเชื่อมต่อ 🤖
18
fusion
กระจายคำขอไปยังกลุ่มโมเดล + ให้โมเดลผู้ตัดสินสังเคราะห์เป็นคำตอบเดียว 🧬
19
pipeline
เชื่อมโยงขั้นตอน — เอาต์พุตของแต่ละเป้าหมายจะถูกส่งเป็นอินพุตให้เป้าหมายถัดไป 🔗
กลไก Auto-Combo ให้คะแนนตัวเลือกแต่ละรายการจาก **16 ปัจจัย** (สถานะการทำงาน โควตา ค่าใช้จ่าย เวลาแฝง ความเหมาะสมกับงาน คุณภาพ ความพร้อมใช้งานของเซสชัน…) — ดู [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md)
##
### 🧱 ความยืดหยุ่นมีมาให้ในตัว (3 ชั้นที่เป็นอิสระต่อกัน)
📖 [กลไก Auto-Combo](docs/routing/AUTO-COMBO.md) · [คู่มือความยืดหยุ่น](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 สิ่งที่ทำให้ OmniRoute แตกต่าง
📊 ระเบียบวิธีฉบับเต็มและรายละเอียดคุณสมบัติแต่ละรายการ เทียบกับ 9router, OpenRouter, CLIProxyAPI และ LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 สนับสนุน OmniRoute
OmniRoute ใช้สัญญาอนุญาต MIT และได้รับการดูแลแบบเปิดเผย หากช่วยประหยัดเวลาหรือเงินของคุณ นี่คือวิธีที่จะช่วยให้โครงการยังคงเป็นอิสระ — เลือกวิธีที่เหมาะกับคุณ การสนับสนุนไม่มีผลต่อลำดับความสำคัญในการกำหนดเส้นทาง โดยเป็นการซื้อการมองเห็น ไม่ใช่อันดับ
**🇧🇷 PIX** — ทันที ไม่มีค่าธรรมเนียม (บราซิล)
คีย์ (สุ่ม): `5d865059-bc44-483a-962d-43ceb80126eb`
Pix copia-e-cola:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ คริปโต — BTC · ETH · USDT-TRC20 · USDC-Solana (คลิกเพื่อขยาย)
₿ BTC Bitcoin (SegWit) bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH Ethereum (ERC20) 0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT Tron (TRC20) TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC Solana 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ โปรดส่งเหรียญแต่ละชนิดผ่านเครือข่ายที่ระบุไว้เท่านั้น — การส่งผ่านเครือข่ายที่ไม่ถูกต้องอาจทำให้เงินสูญหายได้
🐛 พบข้อบกพร่องหรือมีข้อเสนอแนะใช่ไหม? เปิด[การสนทนา](https://github.com/diegosouzapw/OmniRoute/discussions)
หมายเหตุสำหรับนักพัฒนา: โปรเจกต์อาจสร้างไฟล์ .env ในเครื่องระหว่าง npm install/postinstall เพื่อความสะดวกของนักพัฒนา ไฟล์นี้ถูกละเว้นโดยตั้งใจผ่าน .gitignore (ดู .gitignore) และต้องไม่ถูกคอมมิตโดยเด็ดขาด — หากคอมมิตโดยไม่ตั้งใจ ให้หมุนเวียนข้อมูลลับใดๆ ที่ถูกเปิดเผยและลบไฟล์ออกจากประวัติ ดูคำแนะนำเกี่ยวกับการจัดการไฟล์สภาพแวดล้อมในเครื่องและข้อมูลลับได้ที่ docs/DEVELOPER-ENVIRONMENT.md
## 📡 OmniRoute Radar
หัวข้อสำคัญสำหรับระดับฟรียังคงอยู่ที่ **~1.62B โทเค็น/เดือน** จากแค็ตตาล็อกที่มีเอกสารกำกับและมีการขจัดรายการซ้ำระหว่างพูลตามที่ระบุไว้ข้างต้น เครดิตชั่วคราวสำหรับการสมัครใช้งานกับผู้ให้บริการสามารถเพิ่มปริมาณในเดือนแรกแยกต่างหากเป็น **~2.22B** Radar เป็นส่วนเสริมแค็ตตาล็อกแบบมีลายเซ็นที่เลือกใช้ได้ สำหรับผู้ที่ต้องการข้อมูลความพร้อมใช้งานของโมเดลฟรีที่เป็นปัจจุบันยิ่งขึ้นในช่วงระหว่างการเผยแพร่ OmniRoute แต่ละรุ่น โดยแค็ตตาล็อกชุมชนและฟีเจอร์ฟรีที่มีอยู่ทั้งหมดจะยังคงใช้งานได้ฟรี
ผู้สนับสนุนสามารถรับแค็ตตาล็อกแบบสดและโอกาสเพิ่มเติมจากผู้ให้บริการ ขีดจำกัดแบบแยกต่างหากซึ่งเปลี่ยนแปลงได้คือ **สูงสุดประมาณ 3B โทเค็น/เดือน** โดยขึ้นอยู่กับความพร้อมใช้งานของผู้ให้บริการ ขีดจำกัดดังกล่าวไม่ใช่การรับประกัน เนื่องจากผู้ให้บริการสามารถเปลี่ยนโควตา คุณสมบัติผู้มีสิทธิ์ โมเดล หรือภูมิภาคได้ทุกเมื่อ
Radar เป็นฟีเจอร์ที่ต้องเลือกเปิดใช้งานและใช้ GET เท่านั้น ไคลเอนต์ OmniRoute จะไม่อัปโหลดพรอมต์ ทราฟฟิก การกำหนดค่าผู้ให้บริการ ข้อมูลเทเลเมทรีการใช้งาน หรือสถานะการปิดประกาศที่จัดเก็บไว้ภายในเครื่อง ดูข้อมูลเกี่ยวกับคุณสมบัติผู้มีสิทธิ์และแค็ตตาล็อกปัจจุบันได้ที่ **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**
## ✨ มีอะไรใหม่
> ไฮไลต์ล่าสุดจาก **v3.8.20 → v3.8.50** ดูประวัติฉบับเต็มได้ใน [`CHANGELOG.md`](CHANGELOG.md)
- **🎛️ OmniConductor** — มอบหมายงานขาเข้าผ่าน A2A ไปยังฝูงเอเจนต์ของคุณ พร้อมสกิล Conductor บน Agent Card และแผงแดชบอร์ดที่มีการแชตด้วยเสียงแบบกดเพื่อพูดผ่าน Faro → [เซิร์ฟเวอร์ A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 การควบคุมการรับโหลดแบบปรับตัวและการป้องกันโอเวอร์โหลด** — คำขอแชตที่ใช้ทรัพยากรสูงจะเข้าคิวแทนที่จะตอบกลับด้วย 503 พร้อม rolling lease ของ RPM แบบอะตอมมิกต่อการเชื่อมต่อ → [คู่มือความยืดหยุ่น](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ การจัดลำดับ `/v1/models` แบบมาตรฐาน** — แต่ละผู้ให้บริการมีหนึ่งบล็อกที่ต่อเนื่องและจัดกลุ่มตามผู้ให้บริการ (ปักหมุดคอมโบไว้ก่อน) โดยมีลำดับคงที่ในแหล่งที่มาของแค็ตตาล็อกทั้งหมด → [เอกสารอ้างอิง API](docs/reference/API_REFERENCE.md)
- **🗜️ การเพิ่มความแข็งแกร่งให้ระบบบีบอัด** — เปิดใช้ตัวป้องกันการขยายข้อมูลโดยค่าเริ่มต้น, แพ็ก Caveman สำหรับ DE / FR / JA + ภาษาจีน (wényán), ตัวกรอง RTK สำหรับ Gradle และ .NET → [การบีบอัด](docs/compression/COMPRESSION_ENGINES.md)
- **💸 ค่าใช้จ่ายแบบอัตราคงที่ที่ตรงไปตรงมา** — ผู้ให้บริการแบบสมัครสมาชิก / แผนเขียนโค้ดจะแสดงค่าใช้จ่ายเป็น **$0** ในการวิเคราะห์ต้นทุน ส่วนงบประมาณ โควตา และการกำหนดเส้นทางยังคงประเมินตามปกติ → [เอกสารอ้างอิง API](docs/reference/API_REFERENCE.md)
- **⚖️ การกำหนดเส้นทางแบบแบ่งโควตา** — แบ่งโควตาของบัญชีที่ใช้ร่วมกันอย่างเป็นธรรมระหว่างคีย์ในพูล พร้อมใช้ทรัพยากรอย่างเต็มประสิทธิภาพโดยให้ยืมส่วนที่ไม่ได้ใช้งาน → [คู่มือความยืดหยุ่น](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 การตั้งค่า CLI/เอเจนต์ด้วยคำสั่งเดียว** — มีคำสั่ง `setup-*` ที่ลงทะเบียนไว้ 13 คำสั่ง; `omniroute run` เปิดใช้งาน CLI 7 รายการ (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` รองรับเป้าหมาย 10 รายการ พร้อมเครื่องมือเลือกผู้ให้บริการ+โมเดลแบบอินเทอร์แอ็กทีฟและรายการโปรดแยกตามบริบท → [การผสานรวม CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ โหมดระยะไกล** — ควบคุม OmniRoute ระยะไกลด้วยโทเค็นแบบจำกัดขอบเขต (`connect` / `contexts` / `tokens`) พร้อมตัวช่วย OAuth `antigravity` สำหรับการติดตั้งบน VPS → [โหมดระยะไกล](docs/guides/REMOTE-MODE.md)
- **🧭 การกำหนดเส้นทางอัตโนมัติที่ชาญฉลาดยิ่งขึ้น** — คอมโบ `auto/:`, **Fusion** (คณะโมเดล + ผู้ตัดสิน), การกำหนดเส้นทางตามงาน และการแทนที่โมเดล / โหมด / งบประมาณ USD แยกตามคำขอ → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ การบีบอัดแบบเสียบต่อได้** — เอนจินที่ประกอบร่วมกันได้ 12 รายการ + Compression Studios: LLMLingua-2, Ultra แบบสองระดับ, omniglyph, เกตตรวจสอบความเที่ยงตรงในแต่ละขั้นตอน, GCF v3.2 และเครื่องมือแก้ไขแบบลากเพื่อจัดลำดับใหม่ → [การบีบอัด](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ การถอดรหัส MITM แบบโปร่งใส (TPROXY)** — ดักจับ CLI ที่ไม่สนใจตัวแปรสภาพแวดล้อมของพร็อกซี พร้อม CA แยกตาม SNI และตัวติดตั้ง trust store → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 เทเลเมทรีค่าใช้จ่ายทุกที่** — ส่วนหัวค่าใช้จ่าย/การใช้งาน `X-OmniRoute-*` ในทุกเอนด์พอยต์, ส่วนหัวแสดงการประหยัดจาก cache-HIT และโควตาการใช้จ่าย USD แยกตามคีย์ → [เอกสารอ้างอิง API](docs/reference/API_REFERENCE.md)
- **🧠 หน่วยความจำที่คุณควบคุมได้** — ปิดไว้โดยค่าเริ่มต้น, เลือกเปิดใช้การควอนไทซ์เวกเตอร์แบบ int8 + การเสื่อมตามประเภท และ `x-omniroute-no-memory` แยกตามคำขอ → [หน่วยความจำ](docs/frameworks/MEMORY.md)
- **🛡️ ความปลอดภัย** — ตัวป้องกัน prompt injection ในทุกเส้นทาง LLM (ชุดทดสอบแบบ red-team), กลไกป้องกันการเปิดเผยข้อมูลรับรองที่เลือกเปิดใช้ได้ (ปกปิดคีย์ API/ข้อมูลลับที่รั่วไหลทั้งสองทิศทาง), การค้นหาเว็บผ่าน DuckDuckGo ฟรีเป็นทางเลือกสุดท้าย และเกตเข้าสู่ระบบ OIDC สำหรับแดชบอร์ดที่เลือกเปิดใช้ได้ (การเข้าสู่ระบบด้วยรหัสผ่านยังคงพร้อมใช้งานเสมอ) → [กลไกป้องกัน](docs/security/GUARDRAILS.md)
- **🖼️ เอนด์พอยต์ใหม่** — `/v1/ocr` (Mistral OCR) และ `/v1/audio/translations` (รูปแบบ Whisper) เติมเต็มความสามารถด้านสื่อ → [เอกสารอ้างอิง API](docs/reference/API_REFERENCE.md)
- **🎨 การสร้างรูปภาพ / วิดีโอ / เสียง** — API เดียวสำหรับสื่อ: วิดีโอจาก xAI Grok Imagine และ Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind และผู้ให้บริการเสียงพูด เช่น ElevenLabs → [เอกสารอ้างอิง API](docs/reference/API_REFERENCE.md)
- **🌍 การปรับใช้และการปฏิบัติการ** — `basePath` สำหรับ reverse proxy, การตรวจหาภาษาของเบราว์เซอร์อัตโนมัติ, การติดตามอุปกรณ์แยกตามคีย์, ความเชื่อถือ MITM แบบไม่ต้องใช้สิทธิ์ root และการรองรับภาษา zh-TW → [สภาพแวดล้อม](docs/reference/ENVIRONMENT.md)
- **🤝 ผู้ให้บริการและเอเจนต์เพิ่มเติม** — เอเจนต์บนคลาวด์ (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) พร้อมเบราว์เซอร์ + การเข้าสู่ระบบ OAuth, การ์ด Ollama ระดับเฟิร์สคลาส, Claude Opus 5 และ Sonnet 5, ความร่วมมืออย่างเป็นทางการกับ Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… พร้อม **แค็ตตาล็อกผู้ให้บริการ 352 ราย** ที่ปรับปรุงใหม่ → [ผู้ให้บริการ](docs/reference/PROVIDER_REFERENCE.md)
- **📡 ความโปร่งใสในการกำหนดเส้นทาง** — ทุกการตอบกลับมีส่วนหัว `X-OmniRoute-Decision` ที่ระบุกลยุทธ์/ผู้ให้บริการ/เวลาแฝงที่ใช้ให้บริการ, กลยุทธ์คอมโบใหม่ `cache-optimized` + ปัจจัย `cacheAffinity` ของ Auto-Combo จะกำหนดเส้นทางคำขอซ้ำกลับไปยังการเชื่อมต่อที่เก็บคำนำหน้าไว้ในแคช และเอนด์พอยต์แบบอ่านอย่างเดียว `/v1/auto-combo/{channel}/candidates` จะแสดงพูลตัวเลือกปัจจุบันของช่อง `auto/*` → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ ประสิทธิภาพและโครงสร้างพื้นฐานภายในเครื่อง** — Redis ภายในเครื่องแบบคลิกเดียว, เครื่องมือปรับใช้รีเลย์สำหรับ Cloudflare Workers / Deno Deploy และ Bifrost กับ Mux ในฐานะบริการฝังตัวที่มีการกำกับดูแล → [บริการฝังตัว](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 สิ่งที่รวมมาให้อีกด้วย** — เฟรมเวิร์กปลั๊กอิน + มาร์เก็ตเพลส, เฟรมเวิร์กสกิล Omni/Agent/GitHub, การผสานรวม Obsidian vault (เครื่องมือ MCP 22 รายการ), Batch API และ Files API ที่เข้ากันได้กับ OpenAI, แคชการตอบกลับเชิงความหมาย, ระบบเกมมิฟิเคชันพร้อมตารางผู้นำ, การค้นหาเอเจนต์ ACP (เอเจนต์ในตัว 15 รายการ), การส่งออกบันทึกไปยัง BigQuery ตามกำหนดเวลา, การแทรกข้อผิดพลาด `auto/chaos`, บริดจ์บอต Telegram, ตัวจัดการเวอร์ชันภายในแอป และการจัดอันดับผู้ให้บริการฟรีแบบ LMArena-ELO → [เอกสาร](docs/README.md)
## 🤖 CLI และเอเจนต์เขียนโค้ดที่รองรับ
> การตั้งค่าเดียว — `http://localhost:20128/v1` — ทำให้ IDE หรือ CLI ที่ใช้ AI **ทุกตัว** ทำงานบนโมเดลฟรีและราคาประหยัดได้
+ ใช้งานร่วมกับเครื่องมือเหล่านี้ได้ด้วย · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · เครื่องมือใด ๆ ที่เข้ากันได้กับ OpenAI
📖 การตั้งค่าเฉพาะเครื่องมือสำหรับเครื่องมือทั้ง 36 รายการ (CLI Code 26 รายการ + CLI Agents 10 รายการ) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 ปลั๊กอิน OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**เรียกใช้ CLI ที่รองรับผ่าน OmniRoute ได้ด้วยคำสั่งเดียว** — ไม่มีการเขียนไฟล์กำหนดค่า
ข้อมูลประจำตัวจะถูกแทรกแยกในแต่ละโปรเซส และ Qwen/Gemini จะใช้โฮมแบบแยกชั่วคราว:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# หรือเลือกผู้ให้บริการ+โมเดลแบบโต้ตอบ และเขียนการกำหนดค่าของเครื่องมือนั้นเอง:
omniroute configure codex # รองรับด้วย: claude opencode qwen aider goose gemini cline continue kilo
```
ทุกคำสั่งจะใช้บริบทรีโมตที่กำลังใช้งานอยู่ (`omniroute connect `), `--dry-run`
จะแสดงตัวอย่าง env/args ที่แน่นอนโดยไม่ดำเนินการ และ `--api-key-env NAME` จะช่วยไม่ให้ข้อมูลลับ
ปรากฏในประวัติคำสั่งของเชลล์ → [การผสานรวม CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 ผู้ให้บริการ AI 357 ราย — 152 รายถูกระบุในแคตตาล็อกว่าใช้ฟรี
> **ผู้ให้บริการที่ลงทะเบียนแล้ว 357 ราย** ครอบคลุมคอลเลกชันมาตรฐานสำหรับแชต สื่อ การค้นหา ระบบภายในเครื่อง คลาวด์เอเจนต์ และระบบ โดยมี **152 รายที่มีเมทาดาทาการค้นหา `hasFree: true`** รีจิสทรีโมเดลแชตครอบคลุม **ผู้ให้บริการ 229 ราย / คู่ผู้ให้บริการ-โมเดลที่แตกต่างกัน 2,554 คู่ / ID โมเดลดิบ 1,283 รายการ** ส่วนแคตตาล็อกงบประมาณฟรีที่แยกต่างหากมี **ข้อมูลรายโมเดล 491 แถว**, **พูลแบบหมุนเวียน 35 พูล** และ **ผู้ให้บริการที่ใช้ฟรีตลอดไปแบบหมุนเวียน/ไม่ต้องใช้คีย์ 54 ราย** ตัวหารเหล่านี้แตกต่างกันโดยเจตนา โปรดดูคำจำกัดความและการคำนวณที่ขจัดพูลซ้ำซ้อนใน [ข้อมูลอ้างอิงผู้ให้บริการ](docs/reference/PROVIDER_REFERENCE.md) และ [ระดับการใช้งานฟรี](docs/reference/FREE_TIERS.md)
## 🖥️ OmniRoute ทำงานได้ที่ไหน — ทุกที่
> แอปเดิม เครื่องของคุณ กฎของคุณ ตั้งแต่การติดตั้ง npm แบบ global ไปจนถึง **โทรศัพท์ของคุณ** ผ่าน Termux
แพลตฟอร์ม การติดตั้ง จุดเด่น
📦 npm (global) npm install -g omnirouteคำสั่งเดียว ใช้ได้กับทุกระบบปฏิบัติการ
🐳 Docker docker run … diegosouzapw/omnirouteรองรับหลายสถาปัตยกรรม AMD64 + ARM64
🖥️ เดสก์ท็อป (Electron) npm run electron:buildหน้าต่างแบบเนทีฟ + ถาดระบบ — Windows / macOS / Linux
🎩 แถบเมนู (OmniRouteTray) brew install --cask zoispag/tap/omniroute-trayดูแลและอัปเดตเซิร์ฟเวอร์อัตโนมัติ — macOS
💪 ARM arm64 แบบเนทีฟRaspberry Pi, เซิร์ฟเวอร์ ARM, Apple Silicon
📱 Android (Termux) pkg install nodejs && npx -y omnirouteทำงาน บนโทรศัพท์ของคุณ ได้ตลอด 24/7 โดยไม่ต้อง root
📲 PWA "เพิ่มไปยังหน้าจอหลัก" เต็มหน้าจอ ใช้งานออฟไลน์ และติดตั้งได้จากเบราว์เซอร์
🧩 ปลั๊กอิน OpenCode @omniroute/opencode-providerผสานรวมกับ OpenCode แบบเนทีฟ
🤖 VS Code Copilot Chat ติดตั้งส่วนขยาย OmniCopilot โมเดล OmniRoute ทุกโมเดลในตัวเลือกโมเดลของ Copilot Chat แบบเนทีฟ — ทั้ง stable และ Insiders
🛠️ จากซอร์สโค้ด npm install && npm run devปรับแต่งและร่วมพัฒนา
📖 [คู่มือ Docker](docs/guides/DOCKER_GUIDE.md) · [เดสก์ท็อป](electron/README.md) · [ถาดแถบเมนู](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 ใหม่: OmniRoute ภายใน Copilot Chat แบบเนทีฟของ VS Code
> ไม่มีแถบด้านข้างใหม่ ไม่มี UI แชตใหม่ — ทุกโมเดลที่ OmniRoute ให้บริการจะแสดงอยู่ใน
> **ตัวเลือกโมเดลของ Copilot Chat ที่คุณใช้อยู่แล้ว** ตั้งแต่ VS Code 1.122 เป็นต้นไป โมเดลจากผู้ให้บริการสามารถทำงานได้
> โดยไม่ต้องลงชื่อเข้าใช้ GitHub หรือสมัครสมาชิก Copilot — ใช้โหมดเอเจนต์ การเรียกใช้เครื่องมือ และการมองเห็นได้
> ฟรี
ติดตั้งส่วนขยาย **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** แล้วชี้ไปยัง
เซิร์ฟเวอร์ OmniRoute ของคุณ (ค่าเริ่มต้นคือ `localhost:20128`) จากนั้นเปิด Copilot Chat → ตัวเลือกโมเดล
→ **จัดการโมเดล…** → **OmniRoute**
สโตร์ ลิงก์ ใช้งานร่วมกับ
🧩 VS Code Marketplace ติดตั้ง → VS Code — ทั้ง stable และ Insiders
🔓 Open VSX Registry ติดตั้ง → Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
จากภายในเอดิเตอร์: เปิดมุมมอง **ส่วนขยาย** ค้นหา **"OmniRoute"** แล้วคลิก **ติดตั้ง**
— ใช้งานแบบเดียวกันในทั้งสองสโตร์ ซอร์สโค้ด รายการปัญหา และคู่มือขั้นตอนการเผยแพร่อยู่ที่
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)
📖 [คู่มือ VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — การตั้งค่า สิ่งที่แสดงในตัวเลือกโมเดล แดชบอร์ดในแท็บ และการแก้ไขปัญหา
### 🎩 ใหม่: OmniRouteTray — เกตเวย์ของคุณที่อยู่บนแถบเมนู
> `omniroute serve` ทำงานได้ดีที่สุดเมื่อเปิดอยู่ตลอดเวลา **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> เปลี่ยนสิ่งนี้ให้เป็นแอปบนแถบเมนูสำหรับ macOS ที่ตั้งค่าเพียงครั้งเดียวแล้วปล่อยให้ทำงานได้เลย: แอปจะเริ่มเซิร์ฟเวอร์ รักษาให้ทำงานอยู่เสมอ
> แม้จะรีบูต อัปเดตให้โดยตรง และทำให้คุณตรวจสอบโควตาโทเค็นแบบเรียลไทม์ได้ในคลิกเดียว — **ไม่ต้อง
> เปิดหน้าต่างเทอร์มินัลทิ้งไว้ และไม่ต้องคอยดูแล `npm install -g omniroute`**
สร้างด้วย [Tauri v2](https://v2.tauri.app/) (แกนหลัก Rust ที่มีขนาดเล็กจนแทบมองข้ามได้) โดยมาพร้อม
รันไทม์ Node 24 ที่ลงนามแล้วในตัว และจัดการการติดตั้ง OmniRoute ที่แอปเป็นเจ้าของ จึงไม่ขัดแย้งกับ
`node`/`bun` แบบ global ของคุณ แอป **ใช้การกำหนดค่าและฐานข้อมูล `~/.omniroute/` ที่มีอยู่ร่วมกัน** — จึงเป็น
OmniRoute ตัวเดียวกับที่คุณใช้งานอยู่แล้ว เพียงแค่สวมหมวกเท่านั้น 🎩
สิ่งที่ทำ วิธีการ
🟢 ดูแลเซิร์ฟเวอร์ เรียกใช้ omniroute serve และรับช่วงอินสแตนซ์ที่กำลังทำงานอยู่แทนการสร้างซ้ำ
📊 ดูการใช้งานแบบเรียลไทม์ได้ในพริบตา แถบโควตาของผู้ให้บริการ ขีดจำกัดเซสชัน/รายสัปดาห์ของ Claude พร้อมการนับถอยหลังจนกว่าจะรีเซ็ต และรายละเอียดค่าใช้จ่ายย้อนหลัง 30 วัน
🔄 อัปเดตโดยตรงโดยอัตโนมัติ ติดตั้งแบบเป็นขั้นตอน สลับเวอร์ชันแบบอะตอมมิก และย้อนกลับเมื่อล้มเหลว — ใช้รุ่นล่าสุดอยู่เสมอ
🚀 เริ่มทำงานเมื่อล็อกอิน เลือกให้เปิดเมื่อล็อกอินได้ ทำงานเฉพาะในถาดระบบโดยไม่มีไอคอนบน Dock
🩺 การวินิจฉัยและบันทึก วินิจฉัยด้วยคลิกเดียวและเข้าถึงบันทึกของเซิร์ฟเวอร์
```sh
brew install --cask zoispag/tap/omniroute-tray
```
ต้องการดาวน์โหลดใช่ไหม? ดาวน์โหลดไฟล์ .dmg ล่าสุดได้จาก
Releases ซอร์สโค้ด รายการปัญหา และเอกสารการบิลด์
อยู่ที่ zoispag/omniroute-tray
💛 โปรเจกต์ชุมชนโดย @zoispag — ไม่ใช่รุ่นเผยแพร่อย่างเป็นทางการของ OmniRoute
## 🔒 เป็นส่วนตัวและเน้นการทำงานภายในเครื่องเป็นหลัก
📖 [การอนุญาต](docs/architecture/AUTHZ_GUIDE.md) · [มาตรการป้องกัน](docs/security/GUARDRAILS.md) · [การปฏิบัติตามข้อกำหนด](docs/security/COMPLIANCE.md)
## 🔌 CLI แบบเต็มรูปแบบ + A2A และ MCP
> นอกเหนือจากเซิร์ฟเวอร์แล้ว OmniRoute ยังเป็น **ศูนย์ควบคุมผ่านบรรทัดคำสั่งแบบเต็มรูปแบบ** ที่มี **คำสั่งมากกว่า 80 รายการ** พร้อมด้วยโปรโตคอลเอเจนต์แบบเปิด เพื่อให้เอเจนต์ AI สามารถควบคุมได้ **ด้วยตนเอง**
### ⌨️ CLI ที่แท้จริง (ไม่ใช่แค่ `start`)
```bash
omniroute # ให้บริการเกตเวย์ + แดชบอร์ด (พอร์ต 20128)
omniroute chat # ไคลเอนต์แชต TUI แบบโต้ตอบ (คำสั่งแบบสแลช: /model /combo /skill /memory)
omniroute setup # วิซาร์ดแนะนำการตั้งค่าเมื่อใช้งานครั้งแรก
omniroute doctor # วินิจฉัยผู้ให้บริการ พอร์ต และการพึ่งพาแบบเนทีฟ
```
### 🛰️ โหมดระยะไกล — เรียกใช้ CLI ที่นี่ และเรียกใช้ OmniRoute บน VPS
ใช้ OmniRoute บนเซิร์ฟเวอร์อยู่ใช่ไหม? ควบคุมจากแล็ปท็อปของคุณด้วย **CLI เดียวกัน** เข้าสู่ระบบเพียงครั้งเดียว
ด้วยโทเค็นการเข้าถึงแบบกำหนดขอบเขต จากนั้นทุกคำสั่งจะมุ่งไปยังเซิร์ฟเวอร์ระยะไกล
```bash
omniroute connect 192.168.0.15 # รหัสผ่าน → โทเค็นแบบกำหนดขอบเขต ซึ่งบันทึกเป็นบริบท
omniroute models list # ← ทำงานกับเซิร์ฟเวอร์ระยะไกล
omniroute configure codex # ← เลือกโมเดลระยะไกล แล้วเขียนโปรไฟล์ Codex ภายในเครื่อง
omniroute tokens create --name ci --scope read # สร้างโทเค็นที่มีขอบเขตแคบลงสำหรับเครื่องอื่น
omniroute contexts use default # ← สลับกลับไปยังเซิร์ฟเวอร์ภายในเครื่อง
```
โทเค็นมีขอบเขต `read` / `write` / `admin`; เส้นทางที่สร้างโปรเซสจะยังคงจำกัดไว้เฉพาะ loopback
📖 [โหมดระยะไกล](docs/guides/REMOTE-MODE.md)
### 🤝 เชื่อมต่อเอเจนต์ — แล้วให้เอเจนต์ควบคุม OmniRoute ได้ด้วยตนเอง
เปิดให้เข้าถึง OmniRoute ผ่าน **MCP**, **A2A**, **REST API**, **webhooks** หรือ **CLI ระยะไกล** — เอเจนต์ที่มีความสามารถใด ๆ (หรือโค้ดของคุณเอง) จะได้รับกุญแจสำหรับควบคุมเกตเวย์ทั้งหมด ไม่ว่าจะเป็นการกำหนดเส้นทาง ผู้ให้บริการ คอมโบ แคช การบีบอัด และหน่วยความจำ โดยทำงานได้อย่างอัตโนมัติ เอนด์พอยต์ HTTP ด้านล่างให้บริการภายใต้ `http://localhost:20128`
อินเทอร์เฟซ เอนด์พอยต์ / คำสั่ง ใช้สำหรับ
🧰 MCP (stdio) omniroute --mcpเชื่อมต่อกับ Claude Desktop, Cursor หรือไคลเอนต์ MCP ใด ๆ
🌊 MCP (HTTP) /api/mcp/streamMCP ระยะไกล — เครื่องมือ 110 รายการ , 33 ขอบเขต (เลือกเปิดใช้การบังคับใช้), พร้อมบันทึกการตรวจสอบอย่างครบถ้วน
📡 MCP (SSE) /api/mcp/sseการรับส่งข้อมูล MCP แบบสตรีม
🤝 A2A /.well-known/agent.jsonเอเจนต์ถึงเอเจนต์, JSON-RPC 2.0 + SSE, 6 ทักษะ
🌐 REST API /v1/*เข้ากันได้กับ OpenAI — แชต, embeddings, รูปภาพ, เสียง, OCR
🔔 Webhooks /api/webhooksส่งเหตุการณ์คำขอ / โควตาไปยัง Slack, Discord, Telegram หรือ URL ใด ๆ
🛰️ CLI ระยะไกล omniroute connect ควบคุมอินสแตนซ์ระยะไกลด้วยโทเค็นการเข้าถึงแบบกำหนดขอบเขต
```bash
# มอบชุดเครื่องมือ OmniRoute แบบเต็มรูปแบบให้ Claude Code ผ่าน MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [เซิร์ฟเวอร์ MCP](docs/frameworks/MCP-SERVER.md) · [เซิร์ฟเวอร์ A2A](docs/frameworks/A2A-SERVER.md) · [โปรโตคอลเอเจนต์](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ ประหยัดโทเค็น 15–95% — โดยอัตโนมัติ
### 📖 วิธีการทำงาน — ไปป์ไลน์ สถาปัตยกรรม และการคำนวณการประหยัด
ชุดแบบซ้อนเริ่มต้นทำงานตามลำดับ `RTK → Caveman` เมื่อทั้งสองทำงานกับเพย์โหลดเครื่องมือ/บริบทเดียวกัน ผลการประหยัดจะทบกัน:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
บล็อกโค้ด, URL, JSON และข้อมูลแบบมีโครงสร้างจะได้รับการปกป้องโดยเอนจินรักษาสภาพ **เสมอ**
> **ทำไมต้องใช้โทเค็นจำนวนมาก ในเมื่อใช้เพียงไม่กี่โทเค็นก็ได้ผล?** ทุกคำขอจะผ่านไปป์ไลน์การบีบอัดของ OmniRoute **อย่างโปร่งใส** — โดยไม่ต้องเปลี่ยนแปลงไคลเอนต์ ปัจจุบันเป็น **สแต็กของเอนจินที่ประกอบร่วมกันได้ 12 ตัว** ซึ่งทำงานตามลำดับ และสามารถผสมผสานให้เหมาะกับแต่ละชุดการกำหนดเส้นทาง — โดยต่อยอดจากแนวคิดของ [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) และ [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR)
### 🧱 สแต็กเอนจิน 12 ตัว
เอนจินทำงานตามลำดับในไปป์ไลน์ โดยแต่ละตัวสามารถเปิด-ปิดและกำหนดค่าได้อย่างอิสระสำหรับแต่ละชุด:
# เอนจิน การทำงาน
1 Session-Dedup ตัดเนื้อหาที่ซ้ำกันระหว่างรอบสนทนา (อ้างอิงตามเนื้อหา ข้ามรอบสนทนา)
2 CCR จัดเก็บบล็อกขนาดใหญ่ไว้เบื้องหลังเครื่องหมายเรียกคืน และดึงข้อมูลเมื่อจำเป็น
3 Lite ลดช่องว่าง + ตัดแต่ง URL รูปภาพ (พื้นฐานที่มีเวลาแฝงต่ำ)
4 RTK กรองผลลัพธ์จากเครื่องมืออย่างชาญฉลาด ขจัดข้อมูลซ้ำ และตัดทอน (รับรู้คำสั่ง)
5 Responses Tool Output บีบอัด JSON โดยให้ความสำคัญกับการไม่สูญเสียข้อมูล + บีบอัดข้อมูลวินิจฉัยแบบจำกัดขอบเขตสำหรับเอาต์พุตจากเชลล์/แพตช์/การค้นหา/การบิลด์ (Responses API)
6 Headroom ย่อข้อมูลแบบตารางของอาร์เรย์ JSON โดยไม่สูญเสียข้อมูล (~30%) ผ่านโคเดก GCF ที่รวมไว้ในโครงการ
7 Relevance ให้คะแนนและคัดเลือกประโยคตามความสัมพันธ์กับคำถามล่าสุดของผู้ใช้
8 Caveman บีบอัดข้อความร้อยแก้วตามกฎ (~65–75% ของเอาต์พุต)
9 Aggressive สรุปเนื้อหา + ลดรายละเอียดของรอบสนทนาเก่าลงแบบเป็นลำดับ
10 LLMLingua-2 ตัดเนื้อหาตามความหมายด้วย ML ผ่าน MobileBERT ONNX — ปลอดภัยต่อโค้ด ทำงานแบบอะซิงโครนัส
11 Ultra ตัดโทเค็นด้วยฮิวริสติก พร้อมระดับโมเดลขนาดเล็ก (SLM) ที่เลือกใช้ได้
12 OmniGlyph การเข้ารหัสบริบทเป็นรูปภาพเชิงทดลองสำหรับ Claude Fable 5 ที่ผ่านการวัดผลบนการเชื่อมต่อโดยตรงกับ Anthropic ส่วนตัวแปลง GPT 5.6 จะยังคงปิดการทำงานอย่างปลอดภัยระหว่างรอหลักฐานตอบรับจากผู้ให้บริการ มีโปรไฟล์การบีบอัดสี่แบบ (ค่าเริ่มต้นเชิงรุก, สมดุล, ปลอดภัยสำหรับการเขียนโค้ด, ส่งผ่านโดยไม่เปลี่ยนแปลง) (เชิงรุกที่สุด ต้องเลือกเปิดใช้)
บล็อกโค้ด, URL และข้อมูลแบบมีโครงสร้างจะถูกเก็บรักษาให้ตรงกันทุกไบต์ **เสมอ** **พรีเซ็ตแบบคลิกเดียว** จะรวมเอนจินต่างๆ เข้าด้วยกัน:
โหมด การประหยัด เหมาะที่สุดสำหรับ
🪶 Lite ~15% ค่าเริ่มต้นที่ปลอดภัยและเปิดใช้ได้ตลอดเวลา
🪨 Standard (Caveman) ~30% การเขียนโค้ดประจำวัน
⚡ Aggressive ~50% เซสชันยาวที่ใช้เครื่องมือเป็นจำนวนมาก
🔥 Ultra ~75% ประหยัดสูงสุด
🧰 RTK 60–90% เอาต์พุตจากเชลล์/การทดสอบ/การบิลด์/git
🔗 Stacked (RTK → Caveman) 78–95% พรอมต์แบบผสม + บันทึกจากเครื่องมือ
**ตัวอย่างจริง — โหมด Standard:**
> **ก่อน (69 โทเค็น):** _"สาเหตุที่คอมโพเนนต์ React ของคุณเรนเดอร์ซ้ำอาจเป็นเพราะคุณกำลังสร้างการอ้างอิงออบเจ็กต์ใหม่ในแต่ละรอบการเรนเดอร์ เมื่อคุณส่งออบเจ็กต์แบบอินไลน์เป็นพร็อพ การเปรียบเทียบแบบตื้นของ React จะมองว่าเป็นออบเจ็กต์ที่แตกต่างกันทุกครั้ง ซึ่งทำให้เกิดการเรนเดอร์ซ้ำ ขอแนะนำให้ใช้ useMemo เพื่อทำ memoization ให้กับออบเจ็กต์"_
>
> **หลัง (19 โทเค็น):** _"การอ้างอิงออบเจ็กต์ใหม่ในแต่ละเรนเดอร์ พร็อพออบเจ็กต์อินไลน์ = การอ้างอิงใหม่ = เรนเดอร์ซ้ำ ครอบด้วย useMemo"_
>
> **คำตอบเดิม โทเค็นน้อยลง 72% ความแม่นยำไม่ลดลง** ✅
**ตัวอย่าง PT-BR — โหมด [Troglodita](https://github.com/leninejunior/troglodita):**
> **ก่อน (42 โทเค็น):** _"ปัญหาคือคอมโพเนนต์กำลังเรนเดอร์ซ้ำ เพราะมีการสร้างการอ้างอิงอ็อบเจกต์ใหม่ในแต่ละรอบการเรนเดอร์ ขอแนะนำให้ใช้ useMemo"_
>
> **หลัง (12 โทเค็น):** _"เรนเดอร์ซ้ำ: ref ใหม่ทุกรอบ (สร้างอ็อบเจกต์ inline ใหม่) ใช้ `useMemo`"_
>
> **คำตอบเดิม ใช้โทเค็นน้อยลง ~70% ความแม่นยำทางเทคนิคยังครบถ้วน** ✅
### 🎚️ นอกเหนือจากเอนจิน — รูปแบบเอาต์พุต ปุ่มปรับแบบปรับตัวได้ และการควบคุมต่อคำขอ
เอนจินทั้ง 12 รายการข้างต้นลดขนาดสิ่งที่ส่ง **เข้าไป** อีกสามเลเยอร์กำหนดว่าเอาต์พุตจะออกมา **อย่างไร** **เมื่อใด** และมีอะไร **ออกมา**:
- **🪄 รูปแบบเอาต์พุต** _(การกำหนดทิศทางแกนเอาต์พุต)_ — แทรกคำสั่งกำหนดรูปแบบการตอบกลับที่ให้ผลแน่นอนและปลอดภัยต่อแคช สามารถใช้ร่วมกันได้ โดยแต่ละรูปแบบมีระดับความเข้ม `lite` / `full` / `ultra` การเพิ่มรูปแบบทำได้ด้วยรายการเดียวในรีจิสทรี:
- **ร้อยแก้วกระชับ** — ตัดคำฟุ่มเฟือย / คำนำหน้านาม / ถ้อยคำลังเล โดยคงสาระทางเทคนิคไว้อย่างแม่นยำ
- **โค้ดน้อยลง** — YAGNI แบบ "นักพัฒนาอาวุโสสายขี้เกียจ": เปลี่ยนแปลงให้น้อยที่สุดแต่ใช้งานได้ และไม่สร้างโครงเพิ่มเติมโดยไม่ได้ร้องขอ
- **Ponytail (นักพัฒนาอาวุโสสายขี้เกียจ)** — ไต่ระดับ YAGNI แก้ที่สาเหตุหลัก และสร้าง diff ที่เล็กที่สุดแต่ใช้งานได้
- **ฉันมี ADHD (ลงมือก่อน)** — เริ่มด้วยสิ่งที่ต้องทำต่อไป ระบุขั้นตอนเป็นหมายเลข มีขั้นตอนถัดไปที่ชัดเจนเพียงหนึ่งรายการ และไม่มีคำนำ
- **CJK แบบกระชับ (文言)** — รูปแบบภาษาจีนคลาสสิกที่กระชับเป็นพิเศษ (จำกัดเฉพาะโลแคล `zh`)
- **🎯 งบประมาณคอนเท็กซ์แบบปรับตัวได้** _(ปุ่มปรับ)_ — แทนที่จะใช้เกณฑ์โทเค็นเปิด/ปิดเพียงค่าเดียว ระบบจะเพิ่มระดับการใช้เอนจินที่ประหยัดที่สุดและสูญเสียข้อมูลน้อยที่สุดเท่าที่จำเป็น เพื่อให้ **พอดีกับหน้าต่างคอนเท็กซ์ของโมเดล** นโยบาย: `reserve-output` (ค่าเริ่มต้น โดยคำนึงถึงโมเดล) · `percentage` · `absolute` โหมด: `floor` (รับประกันว่าพอดี) · `replace-autotrigger` (ตัวเลือกที่คุณระบุมีผลเหนือกว่า) · `off` (เกณฑ์แบบเดิม)
- **🎛️ จุดที่ตัดสินใจใช้การบีบอัด** _(ลำดับความสำคัญ สูง → ต่ำ)_ — เฮดเดอร์ `x-omniroute-compression` ต่อคำขอ › การแทนที่จากชุดการกำหนดเส้นทาง › โปรไฟล์ที่มีชื่อและกำลังใช้งาน › การปรับตัว / การทริกเกอร์อัตโนมัติ › ค่าเริ่มต้นจากแผงควบคุม › ปิด แผนที่นำไปใช้จะถูกส่งกลับในเฮดเดอร์การตอบกลับ `X-OmniRoute-Compression: ; source=`
ตั้งการทริกเกอร์อัตโนมัติตามเกณฑ์โทเค็น เปิดปุ่มปรับแบบปรับตัวได้ ปักหมุดโปรไฟล์ที่มีชื่อ ตั้งค่าเฉพาะกิจต่อคำขอ หรือกำหนดไปป์ไลน์ให้กับชุดการกำหนดเส้นทาง — เลือกวิธีที่เหมาะกับเวิร์กโหลด ชุดเครื่องมือประเมินผลแบบออฟไลน์ที่ต้องเลือกเปิดใช้ (`npm run eval:compression`) จะให้คะแนนความเที่ยงตรงเทียบกับการประหยัดบนคอร์ปัสที่ปักหมุดไว้ ก่อนที่คุณจะนำการเปลี่ยนแปลงไปใช้งานจริง
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ เริ่มต้นอย่างรวดเร็ว
**1) ติดตั้งและเรียกใช้**
```bash
npm install -g omniroute
omniroute
```
> 💡 พบ `npm warn ERESOLVE` หรือคำเตือนเกี่ยวกับ peer dependency ใช่ไหม? [คำเตือนเหล่านี้ไม่เป็นอันตราย](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)
แดชบอร์ดอยู่ที่ `http://localhost:20128` · API อยู่ที่ `http://localhost:20128/v1`
**2) เชื่อมต่อผู้ให้บริการฟรี (ไม่ต้องสมัคร)**
แดชบอร์ด → **ผู้ให้บริการ** → เชื่อมต่อ **Kiro AI** (Claude ฟรี ประมาณ 50 เครดิต/เดือนต่อบัญชี) หรือ **OpenCode Free** (ไม่ต้องยืนยันตัวตน) → เสร็จเรียบร้อย
**3) กำหนดค่าเครื่องมือเขียนโค้ดของคุณ**
```txt
URL หลัก: http://localhost:20128/v1
คีย์ API: [คัดลอกจากแดชบอร์ด → เอนด์พอยต์]
โมเดล: auto (การกำหนดเส้นทางอัจฉริยะแบบไม่ต้องตั้งค่า — หรือผู้ให้บริการ/โมเดลใดก็ได้)
```
**4) ตรวจสอบว่าระบบทำงาน**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
คุณควรเห็นรายการโมเดลที่เชื่อมต่ออยู่ 🎉 เท่านี้ก็เรียบร้อย — เริ่มเขียนโค้ดได้เลย แล้ว OmniRoute จะกำหนดเส้นทางและสลับไปใช้ตัวสำรองให้คุณโดยอัตโนมัติ
หากไคลเอนต์ของคุณไม่สามารถส่งเฮดเดอร์แบบกำหนดเองได้ OmniRoute ยังมี alias สำหรับความเข้ากันได้ที่ฝังโทเค็นไว้:
```txt
แค็ตตาล็อก OpenAI: http://localhost:20128/vscode/YOUR_KEY/
โมเดล OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
แชต OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
การตอบกลับ OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
แชต Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
แท็ก Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
ใช้รายการเหล่านี้เฉพาะกับไคลเอนต์ที่ไม่สามารถแนบ `Authorization: Bearer ...` ได้ การยืนยันตัวตนผ่านเฮดเดอร์ยังคงเป็นวิธีที่แนะนำ
## 📦 วิธีติดตั้งเพิ่มเติม — Docker, ซอร์สโค้ด, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` จะอ้างอิง SemVer แบบเสถียรที่ **เผยแพร่แล้ว** และมีเวอร์ชันสูงสุด โดยจะไม่ติดตาม git `main` โปรดตรึงเวอร์ชันเป็น `:X.Y.Z` สำหรับ GitOps ดู [ช่องทางการเผยแพร่ Docker](docs/guides/DOCKER_GUIDE.md#release-channels) อิมเมจกำหนด **`OMNIROUTE_MEMORY_MB=1024`** ไว้ ซึ่งเพียงพอสำหรับแดชบอร์ดและการแชตที่มีภาระงานเบา **เอเจนต์สำหรับเขียนโค้ด** (`POST /v1/responses` จาก Claude Code, Codex, Grok, …) จำเป็นต้องใช้ฮีป V8 ที่ใหญ่กว่ามาก มิฉะนั้นโปรเซสจะเกิด `FATAL ERROR` เมื่อใช้หน่วยความจำประมาณ 12 GiB ภายใต้บริบทยาวสองรายการที่ทำงานทับซ้อนกัน โปรดกำหนดขนาดคอนเทนเนอร์ให้มากกว่าฮีป (บัฟเฟอร์แบบเนทีฟอยู่นอก V8):
| เวิร์กโหลด | ฮีป (`-e OMNIROUTE_MEMORY_MB`) | คอนเทนเนอร์ (`--memory`) |
| ----------------------------------------------- | ------------------------------ | ------------------------ |
| แดชบอร์ด / การแชตที่มีภาระงานเบา | `1024` (ค่าเริ่มต้นของอิมเมจ) | ≥2 g |
| เอเจนต์สำหรับเขียนโค้ดหนึ่งตัว | `8192` | ≥10 g |
| `/v1/responses` แบบยาวสองรายการที่ทำงานพร้อมกัน | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
ตารางฉบับเต็ม: [คู่มือ Docker — RAM ขณะรันไทม์](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents)
> **ช่องทาง Docker สำหรับรุ่นก่อนเผยแพร่:** `diegosouzapw/omniroute:next` และ
> `diegosouzapw/omniroute:next-web` จะติดตามบรานช์เริ่มต้น `release/v*`
> ปัจจุบัน แท็กที่เปลี่ยนแปลงได้เหล่านี้มีไว้สำหรับทดสอบการแก้ไขที่ยังไม่ได้เผยแพร่เท่านั้น และ
> **ไม่รองรับการใช้งานจริง** ดู
> [ช่องทางการเผยแพร่ Docker](docs/guides/DOCKER_GUIDE.md#release-channels)
**🥟 Bun**
รองรับ `bun install` มาตรฐานและการติดตั้งแบบโกลบอล (`bun install -g omniroute`) ผ่านการตรวจหารันไทม์ Bun:
- **`bun:sqlite` ในตัว**: OmniRoute ใช้ไดรเวอร์ `bun:sqlite` ที่มีมาให้ใน Bun เมื่อทำงานภายใต้ Bun และจะเปลี่ยนไปใช้ `better-sqlite3` บน Node.js หรือ `sql.js` หากไม่สามารถใช้งานได้
- **การเลือก Webpack bundler โดยอัตโนมัติในโหมดพัฒนา**: การพัฒนา (`bun run dev`) จะตรวจพบ Bun โดยอัตโนมัติและปิดใช้งาน Turbopack แล้วใช้ Webpack แทน เพื่อป้องกันความเข้ากันไม่ได้ของ native V8 binding ส่วนบิลด์สำหรับใช้งานจริง (`bun run build`) จะปฏิบัติตาม `OMNIROUTE_USE_TURBOPACK` เหมือนกับบน Node ทุกประการ โดยใช้ Turbopack เป็นค่าเริ่มต้น หรือกำหนด `OMNIROUTE_USE_TURBOPACK=0` เพื่อบิลด์ด้วย Webpack (`Dockerfile.bun` เปิดให้กำหนดค่านี้ผ่าน `--build-arg`)
- **Dockerfile สำหรับ Bun โดยเฉพาะ**: `Dockerfile.bun` แบบหลายสเตจสำหรับการปรับใช้ Bun แบบเนทีฟในสภาพแวดล้อมจริง (`docker build -f Dockerfile.bun -t omniroute:bun .`)
```bash
# ติดตั้งและเรียกใช้ด้วย Bun
bun install
bun run dev
```
**🛠️ จากซอร์สโค้ด**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# ใช้ Nix flakes
nix develop
npm run dev
# หรือใช้ devbox
devbox run npm run dev
```
📖 [คู่มือ Docker](docs/guides/DOCKER_GUIDE.md) — โปรไฟล์ Compose, Caddy HTTPS และ Cloudflare tunnels
**🦭 Podman**
```bash
# 1. เตรียมไดเรกทอรีข้อมูลที่เมานต์แบบ bind
mkdir -p data
# 2. สำหรับ Linux + Podman แบบ rootless ภายในเครื่องเท่านั้น (ห้ามใช้กับไคลเอนต์ Podman Machine ระยะไกล):
podman unshare chown 1000:1000 ./data
# 3. กำหนดคำใบ้รันไทม์ บิลด์อิมเมจ Compose ภายในเครื่อง และเริ่มทำงาน
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
บน macOS หรือ Windows นั้น Podman จะใช้ Podman Machine ระยะไกล: ให้ข้าม `podman unshare` และ
ปฏิบัติตาม[คำแนะนำเกี่ยวกับไดเรกทอรีข้อมูลสำหรับแต่ละโทโพโลยี](contrib/podman/README.md#data-directory-permissions-by-topology)
📖 [คู่มือ Podman](contrib/podman/README.md) — บิลด์ Compose, Podman Machine และ
การตั้งค่า Quadlet สำหรับ Linux/systemd
**⚡ การติดตั้งที่เร็วขึ้น / ใช้ทรัพยากรน้อยลง (ข้ามการบิลด์แบบเนทีฟ)**
เอนจิน SQLite แบบเนทีฟ (`better-sqlite3`) เป็นการขึ้นต่อกันแบบ **ไม่บังคับ** ดังนั้นการติดตั้ง
แบบโกลบอลจะไม่ติดค้างระหว่างคอมไพล์จากซอร์ส: ระบบจะใช้ไบนารีที่บิลด์ไว้ล่วงหน้าเมื่อมีเวอร์ชันที่ตรงกับ
แพลตฟอร์ม/Node ของคุณ และหากไม่มี จะเปลี่ยนไปใช้เอนจิน JavaScript ล้วนโดยอัตโนมัติ
(`node:sqlite` บน Node 22 ขึ้นไป มิฉะนั้นจะใช้ `sql.js` WASM ที่รวมมาให้) — ไม่จำเป็นต้องใช้เครื่องมือบิลด์
หากต้องการข้ามการวอร์มอัปแบบเนทีฟหลังการติดตั้งทั้งหมด (CI, ระบบที่ไม่มีหน้าจอ หรือเครื่องที่ทำงานช้า):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 จะข้ามขั้นตอนนี้ด้วย
```
เพื่อให้ติดตั้งได้เร็วที่สุด แนะนำให้ใช้ **pnpm** (ที่เก็บแบบระบุตำแหน่งด้วยเนื้อหา + hard links — ดูด้านบน)
สำหรับรันไทม์แบบไม่มีแดชบอร์ดและไม่มีหน้าจอ ให้ใช้โปรไฟล์ Docker `base` (ด้านบน) หรือ
[คู่มือ Termux](docs/guides/TERMUX_GUIDE.md) CLI และเว็บแดชบอร์ดให้บริการโดยโปรเซสเดียวกันบนพอร์ตเดียว
ดังนั้นในขณะนี้จึงยังไม่มีแพ็กเกจสำหรับ CLI โดยเฉพาะแยกต่างหาก
# 🎬 การทำงานของ OmniRoute
## 📹 คู่มือวิดีโอ
ภาพรวมแดชบอร์ด ณ วันที่ 2026-08-24 · แคตตาล็อกดิบ: YT 809 | TT 137 | IG 124 · ความสดใหม่ (วัน): YT 1 | TT 21 | IG 22
🎬 #1 — Instagram
nick_saraev — 3,042,474 ครั้ง
🎬 #2 — Instagram
theopenstack — 692,419 ครั้ง
🎬 #3 — TikTok
milesreevesai — 620,400 ครั้ง
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 ครั้ง
🎬 #5 — Instagram
buildwithai.club — 347,652 ครั้ง
**อันดับทั้งหมด (URL มาตรฐานที่ขจัดรายการซ้ำแล้ว, `v > 0`, การเข้าถึงสูงสุด):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** |
| #6 | #7 | #8 | #9 | #10 |
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** |
เมตริกมาตรฐาน ณ วันที่ 2026-08-24: **วิดีโอที่ไม่ซ้ำกัน 1.029 รายการ** · **ยอดรับชมที่ทราบ 11.132.922 ครั้ง** (`v > 0`) · **ช่อง/โปรไฟล์แยกตามเครือข่าย 639 รายการ** แดชบอร์ดดิบมีข้อมูล 1.070 แถว โดยรายการ Instagram ที่ซ้ำกัน 41 รายการได้รับการปรับให้เป็นมาตรฐานตาม URL มาตรฐาน และเก็บจำนวนยอดรับชมสูงสุดของแต่ละวิดีโอไว้
> 🎬 **ทำวิดีโอเกี่ยวกับ OmniRoute ไว้ใช่ไหม?** เปิด [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) หรือ [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) พร้อมแนบลิงก์ — เราจะนำมาแสดงไว้ที่นี่
# 📧 ชุมชนและความช่วยเหลือ
> ทุกอย่างรวมอยู่ในที่เดียว — ติดตามผู้ดูแล พูดคุยกับชุมชน หรือเปิด issue
| ช่องทาง | ที่ไหน / อย่างไร |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — ติดตามผู้ดูแลโครงการ | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — ติดตามข่าวสารการเผยแพร่และเคล็ดลับ | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 ทั่วโลก** | [เข้าร่วมกลุ่ม](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 บราซิล** | [เข้าร่วมกลุ่ม](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **เว็บไซต์** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍ชุมชน StHub OmniRoute (ฟรี)** | [พอร์ทัล StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **ซอร์สโค้ด** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **รายงานข้อบกพร่อง** | [เปิด issue](https://github.com/diegosouzapw/OmniRoute/issues) — แนบผลลัพธ์จาก `npm run system-info` |
| 🤝 **มีส่วนร่วม** | [CONTRIBUTING.md](CONTRIBUTING.md) · [รูปแบบการแตกแขนงและการเผยแพร่](docs/ops/BRANCHING_MODEL.md) · เลือก `good first issue` |
| 💚 **สนับสนุนโครงการ** | [ช่องทางการสนับสนุน ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ เทคโนโลยีที่ใช้
เลเยอร์ เทคโนโลยี
รันไทม์ Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
ภาษา TypeScript 6.0 — TypeScript 100% ทั่วทั้ง src/ และ open-sse/ (ไม่มี any ในแกนหลักตั้งแต่ v2.0)
เฟรมเวิร์ก Next.js 16 + React 19 + Tailwind CSS 4
ฐานข้อมูล better-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 122 โมดูลโดเมน, 183 การย้ายข้อมูล
หน่วยความจำ SQLite FTS5 full-text + int8-quantized vector embeddings, typed decay
สคีมา Zod 4 — การตรวจสอบความถูกต้องของ I/O เครื่องมือ MCP + สัญญา API
โปรโตคอล MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
การสตรีม Server-Sent Events (SSE) + WebSocket bridge (/v1/ws)
การบีบอัด 12-engine pipeline — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
การยืนยันตัวตนและความปลอดภัย OAuth 2.0 (PKCE) + JWT + API Keys + การยืนยันตัวตนแบบจำกัดขอบเขต MCP · AES-256-GCM ขณะพัก · DOMPurify
การซ่อนตัว wreq-js — การปลอมแปลงลายนิ้วมือ JA3 / JA4 TLS, พร็อกซี 3 ระดับ
ความยืดหยุ่น Circuit breaker, exponential backoff, anti-thundering-herd, auto-combo self-healing
การบันทึก pino — บันทึก JSON แบบมีโครงสร้างพร้อมบริบทคำขอ
การทดสอบ Node.js test runner + Vitest — การประกาศการทดสอบแบบคงที่กว่า 39,000 รายการ ในไฟล์ทดสอบที่ติดตามกว่า 5,100 ไฟล์ (unit, integration, E2E, security, ecosystem)
แพลตฟอร์ม เดสก์ท็อป (Electron) · Android (Termux) · PWA (เบราว์เซอร์ใดก็ได้)
CI/CD GitHub Actions — เผยแพร่ npm อัตโนมัติ + Docker Hub เมื่อออกเวอร์ชัน
ลิงก์ เว็บไซต์ · npm · Docker Hub
## 📖 เอกสารประกอบ
### 📘 เริ่มต้นใช้งาน
เอกสาร คำอธิบาย
คู่มือผู้ใช้ ผู้ให้บริการ คอมโบ การผสานรวม CLI และการปรับใช้
คู่มือการตั้งค่า วิธีติดตั้งทั้งหมด การกำหนดค่าเครื่องมือ CLI การตั้งค่าโปรโตคอล และการปรับแต่งเวลาหมดเวลา
คู่มือเครื่องมือ CLI การตั้งค่าเฉพาะสำหรับแต่ละเครื่องมือ ได้แก่ Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo และ Copilot
โหมดระยะไกล ควบคุม OmniRoute ระยะไกล (VPS) จาก CLI บนแล็ปท็อปผ่านโทเค็นการเข้าถึงแบบจำกัดขอบเขต
การกำหนดค่า Claude Code เชื่อมต่อ Claude Code ไปยัง OmniRoute (ภายในเครื่อง/ระยะไกล) ด้วย launch และโปรไฟล์แยกตามโมเดล
เริ่มต้นอย่างรวดเร็ว ติดตั้ง → เชื่อมต่อ → กำหนดค่า ใน 3 ขั้นตอน
### 🔧 การดำเนินงานและการปรับใช้
### 🧠 คุณสมบัติและสถาปัตยกรรม
### 🤖 โปรโตคอลและ API
### 📋 โปรเจกต์และคุณภาพ
# ⭐ ผู้มีส่วนร่วมอันดับต้น ๆ
> OmniRoute ได้รับการหล่อหลอมจากชุมชนโอเพนซอร์สที่เปี่ยมด้วยความมุ่งมั่น บุคคลเหล่านี้ได้สร้างผลงานอันโดดเด่นที่ส่งผลโดยตรงต่อคุณภาพ ความเสถียร และการเข้าถึงของโครงการ **ขอขอบคุณ**
### ผู้มีส่วนร่วมภายนอกตามจำนวน pull request ที่ผสานแล้ว
อันดับ ผู้มีส่วนร่วม PR ที่ผสานแล้ว ~บรรทัดที่เปลี่ยนแปลง
1 backryun 190 227,977
2 oyi77 180 407,678
3 rdself 145 80,663
4 JxnLexn 128 387,049
5 KooshaPari 101 125,747
6 herjarsa 88 230,872
7 RaviTharuma 79 55,106
8 maxmad64bis 69 394,715
9 artickc 59 33,260
10 HouMinXi 51 47,334
10 chirag127 51 5,153
12 xz-dev 50 245,976
13 hartmark 47 52,185
14 rqzbeh 39 143,181
15 dhaern 34 19,559
16 Dingding-leo 33 1,986
17 NomenAK 32 13,854
18 MumuTW 30 16,953
19 benzntech 29 11,641
20 pacocartones 24 9,331
20 Prudhvivuda 24 6,312
ตรึงข้อมูลไว้ที่ปลายล่าสุดของ release/v3.8.50 ซึ่งคือ dafb4ae808 โดยรวมการผสานจนถึง 2026-08-24 05:26:03 UTC การสำรวจสำมะโนผ่าน GitHub GraphQL แบบแบ่งหน้าประกอบด้วย PR ที่ผสานแล้ว 5,911 รายการ ได้แก่ 2,707 รายการโดยเจ้าของ repository, 179 รายการโดย Dependabot และ PR ภายนอก 3,025 รายการจากผู้มีส่วนร่วมที่ไม่ซ้ำกัน 535 คน “บรรทัดที่เปลี่ยนแปลง” คือจำนวนบรรทัดที่เพิ่มและลบตามข้อมูลของ GitHub ซึ่งรวมไฟล์ที่สร้างขึ้นอัตโนมัติ, lockfile, แค็ตตาล็อก, คำแปล และเอกสารประกอบ โดยเป็นปริมาณการเปลี่ยนแปลง ไม่ใช่ LOC ที่เขียนขึ้น กรณีอันดับเสมอกันตรงเกณฑ์ตัดจะยังคงรวมไว้
### คอมมิตที่ระบุแหล่งที่มาโดย GitHub
backryun
🥇 220 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Paijo
🥈 219 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Randi
🥉 108 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Ravi Tharuma
🏅 81 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Chris
🏅 70 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Markus Hartung
🏅 69 คอมมิตที่ระบุแหล่งที่มาจาก GitHub · อันดับร่วม #6
Dizzle
🏅 69 คอมมิตที่ระบุแหล่งที่มาจาก GitHub · อันดับร่วม #6
Jan Leon
🏅 64 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
zenobit
🏅 62 คอมมิตที่ระบุแหล่งที่มาจาก GitHub
Bob.Hou
🏅 51 คอมมิตที่ระบุแหล่งที่มาจาก GitHub · อันดับร่วม #10
Xiangzhe
🏅 51 คอมมิตที่ระบุแหล่งที่มาจาก GitHub · อันดับร่วม #10
ตรวจสอบอีกครั้งเมื่อ 2026-08-24 06:14:31 UTC: คอมมิตที่ระบุแหล่งที่มาจาก GitHub ตามที่รายงานโดย API ผู้มีส่วนร่วมของรีพอซิทอรีสำหรับบรันช์เริ่มต้น release/v3.8.50 โดย API ส่งคืนข้อมูลประจำตัว 525 รายการ (ผู้ใช้ 415 ราย บอต 2 ราย และผู้ไม่ระบุตัวตน 108 ราย) ตารางนี้ไม่รวมผู้ดูแล บอต และข้อมูลประจำตัวที่ไม่ระบุตัวตน และยังคงแสดงอันดับร่วมไว้ ตารางนี้แตกต่างจากทั้งการจัดอันดับตาม PR ที่ผสานแล้วด้านบน และการสำรวจสำมะโนจากเมทาดาทา Git จำนวน 639 คนด้านล่าง
> 🙏 ฟีเจอร์ การแก้ไขข้อบกพร่อง และการปรับปรุงโครงสร้างพื้นฐานของผู้มีส่วนร่วมเหล่านี้เป็น **ส่วนสำคัญ** ที่ทำให้ OmniRoute เชื่อถือได้และเปี่ยมด้วยฟีเจอร์ ทุก pull request ทุกกรณีทดสอบ และทุกไฟล์แปล i18n ล้วนมีความสำคัญ โอเพนซอร์สสร้างขึ้นโดยผู้คนเช่นพวกเขา
---
## 💖 ผู้สนับสนุน
## 👥 ผู้มีส่วนร่วมกว่า 600 คน
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
ตรวจสอบเมื่อ 2026-08-24 โดยใช้ฐานที่ตรึงไว้ ac02c5b42f และตรวจสอบซ้ำที่ปลายล่าสุดของ release/v3.8.50 ซึ่งคือ dafb4ae808: ข้อมูลระบุตัวตน Git ของมนุษย์ที่ผ่านการปรับให้เป็นมาตรฐานแล้ว 639 รายการ — 407 รายการปรากฏในฐานะผู้เขียนคอมมิต (รวมถึงผู้ดูแลโครงการ) และ 232 รายการปรากฏเฉพาะในส่วนท้าย Co-authored-by ที่ระบุไว้อย่างชัดเจน การสำรวจนี้ปรับแฮนเดิล noreply ของ GitHub ให้เป็นมาตรฐาน ไม่นับข้อมูลระบุตัวตนของบอต/เอเจนต์/บริการ/ตัวยึดตำแหน่ง 26 รายการ และไม่รวมที่อยู่อีเมลทั่วไปเข้าด้วยกันเพียงเพราะชื่อที่แสดงตรงกัน
### วิธีมีส่วนร่วม
1. Fork repository
2. สร้าง branch จากปลายล่าสุดของ `release/vX.Y.Z` ที่ **ใช้งานอยู่** (ไม่ใช่ `main`) — ดู [รูปแบบ Branching และ Release](docs/ops/BRANCHING_MODEL.md)
3. สร้าง feature branch ของคุณ (`git checkout -b feat/amazing-feature`)
4. Commit การเปลี่ยนแปลงของคุณ (`git commit -m 'feat: add amazing feature'`)
5. Push ไปยัง branch (`git push origin feat/amazing-feature`)
6. เปิด Pull Request โดยกำหนด **base = branch `release/vX.Y.Z` นั้น**
ดูแนวทางโดยละเอียดได้ที่ [CONTRIBUTING.md](CONTRIBUTING.md)
### การเผยแพร่เวอร์ชันใหม่
```bash
# สร้าง release — npm publish จะทำงานโดยอัตโนมัติ
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 ดาว
## 🌍 StarMapper
## 🙏 กิตติกรรมประกาศ
OmniRoute ยืนอยู่บนบ่าของยักษ์ใหญ่ โดยเริ่มต้นจากการเป็น fork ของ **[9router](https://github.com/decolua/9router)** และการพอร์ตโปรเจกต์ Go อย่าง **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** มายัง TypeScript — และนับจากนั้น ระบบย่อยแต่ละส่วนด้านล่างล้วนได้รับแรงบันดาลใจจากโปรเจกต์โอเพนซอร์สที่บุกเบิกมาก่อน แต่ละโปรเจกต์มีส่วนกำหนดองค์ประกอบที่เป็นรูปธรรมของ OmniRoute นี่คือคำขอบคุณจากเราที่มอบให้แก่ทุกโปรเจกต์ 🙏
> ⭐ จำนวนดาวได้รับการตรวจสอบจาก REST API ของ GitHub เมื่อวันที่ 24 สิงหาคม 2026 — อย่าลืมไปกดดาวให้โปรเจกต์เหล่านี้ จำนวนดังกล่าวเป็นภาพรวม ณ วันที่ระบุอย่างแม่นยำ และย่อมเปลี่ยนแปลงไปตามธรรมชาติ
### 🧬 ต้นกำเนิดและเกตเวย์
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
9router 26,161 โปรเจกต์ต้นฉบับที่ใช้เป็นพื้นฐานของ fork นี้ — โดยได้รับการต่อยอดด้วย API แบบหลายโมดัลและการเขียนใหม่ทั้งหมดด้วย TypeScript
CLIProxyAPI 48,497 อิมพลีเมนเทชันภาษา Go ที่เป็นแรงบันดาลใจให้พอร์ต JavaScript / TypeScript นี้
LiteLLM 57,100 เกตเวย์ AI ซึ่งชุดข้อมูลราคาสาธารณะถูกนำมาใช้ในการซิงค์ข้อมูลติดตามต้นทุนของเรา และโมเดลการปรับผู้ให้บริการให้เป็นมาตรฐานของโปรเจกต์นี้เป็นแนวทางในการออกแบบระบบกำหนดเส้นทางของเรา
codex-chatgpt-web 1,410 ซอร์สโค้ดภายใต้สัญญาอนุญาต MIT ที่ได้รับการดัดแปลงเป็นบริดจ์ ChatGPT Web → Codex Responses ที่รวมไว้กับโครงการ ซึ่งครอบคลุมอะแดปเตอร์สำหรับเซสชันเบราว์เซอร์ การจัดเฟรมการตอบกลับ การใช้งาน และการค้นหาเว็บ
free-claude-code 48,112 รูปแบบต่าง ๆ ที่พอร์ตมาใช้กับการกู้คืนสตรีม alias แบบไม่ใช้การคิด การค้นหาเว็บสำรอง ขีดจำกัดแบบหน้าต่างเลื่อน การปกปิดข้อมูลในบันทึก และโฟลว์ตัวเรียกใช้งานที่ได้รับการเสริมความปลอดภัย
composer-api 322 รูปแบบการเลือกเครื่องมือ ข้อจำกัดเอาต์พุต และการยืนยันใช้เครื่องมือของ Cursor Composer ที่ได้รับการดัดแปลงเข้าสู่ตัวดำเนินการ Cursor แบบเนทีฟ
codex-multi-auth 457 รูปแบบการเข้าสู่ระบบใหม่และการหมุนเวียน refresh token ที่พอร์ตมาใช้กับการยืนยันตัวตนใหม่ผ่าน Codex OAuth
opencode-anthropic-auth 510 ค่าเริ่มต้นในการแปลงที่เข้ากันได้กับ Claude Code และลักษณะการทำงานของส่วนหัวการเรียกเก็บเงิน ซึ่งถูกทำให้เป็นรูปแบบทั่วไปในบริดจ์ที่ขับเคลื่อนด้วยการกำหนดค่าของ OmniRoute
grok2api-merged 2 การแมปโมเดล Grok, ตัวสร้าง Statsig ที่ใช้ TypeError ปลอม, ค่าเริ่มต้นของคำขอและอุปกรณ์ ตลอดจนตัวประมวลผลการตอบกลับ NDJSON ของโปรเจกต์นี้ ได้รับการดัดแปลงอย่างมีนัยสำคัญเข้าสู่ตัวดำเนินการ Grok Web ของ OmniRoute
TQZHR/grok2api 705 แหล่งซอร์สโค้ดทางอ้อมหลักเบื้องหลัง grok2api-merged โดยอิมพลีเมนเทชันของโมเดล ส่วนหัว เพย์โหลด Statsig และตัวประมวลผลยังคงได้รับการรักษาไว้ในสายการสืบทอดของ Grok Web
chenyme/grok2api 7,520 ซอร์สโค้ดพื้นฐานภายใต้สัญญาอนุญาต MIT สำหรับเพย์โหลด Grok และค่าเริ่มต้นของอุปกรณ์ ตัวสร้าง Statsig และตัวประมวลผล result.response ซึ่งส่งต่อมาผ่าน TQZHR และ grok2api-merged
grok2api-pro 27 แหล่งที่มาทางอ้อมซึ่ง grok2api-merged ให้เครดิตสำหรับเลเยอร์พูลพร็อกซี โดย OmniRoute ยังคงรักษาประกาศสายการสืบทอดดังกล่าวไว้ แต่ไม่ได้อ้างว่าได้พอร์ตพูลพร็อกซีมาไว้ในตัวดำเนินการ Grok Web ที่มีขอบเขตจำกัด
GrokProxy 50 พร็อกซี Grok ที่ยืนยันตัวตนด้วยคุกกี้และรูปแบบการสตรีม result.response.token ของโปรเจกต์นี้เป็นแนวทางสำหรับทรานสปอร์ต Grok Web ของ OmniRoute
GrokBridge 5 อิมพลีเมนเทชัน Grok Web ดั้งเดิมได้อ้างอิงการออกแบบอัปสตรีมผ่าน HTTP/เบราว์เซอร์ของโปรเจกต์นี้ โดยเส้นทาง HTTP โดยตรงมีต้นกำเนิดจาก GrokProxy จึงไม่มีการอ้างว่าเป็นการพอร์ตโค้ดโดยอิสระ
grok-web-api 14 สคีมา ChatOptions และซองหุ้มการตอบกลับภาษา Rust ของโปรเจกต์นี้เป็นแนวทางสำหรับประเภทคำขอ Grok และการตอบกลับแบบสตรีมใน TypeScript ของ OmniRoute
### 🗜️ การบีบอัดบริบทและโทเค็น — เอนจิน
โปรเจกต์ ⭐ แรงบันดาลใจที่มีต่อ OmniRoute
Caveman 100,538 โปรเจกต์ไวรัล "ทำไมใช้โทเค็นเยอะ ในเมื่อโทเค็นน้อยก็เอาอยู่" — ปรัชญาการพูดแบบมนุษย์ถ้ำของโปรเจกต์นี้เป็นขุมพลังให้โหมดบีบอัดมาตรฐานของเรา รวมถึงกฎตัดคำฟุ่มเฟือย/ควบแน่นกว่า 30 ข้อ
RTK – Rust Token Killer 77,185 การบีบอัดเอาต์พุตคำสั่งประสิทธิภาพสูง — เป็นแรงบันดาลใจให้เอนจิน RTK, DSL สำหรับกรอง JSON, การกู้คืนเอาต์พุตดิบ และไปป์ไลน์แบบซ้อน RTK → Caveman ของเรา
headroom 67,310 การบีบอัดบริบทแบบย้อนกลับได้ (SmartCrusher) — เป็นแรงบันดาลใจให้เอนจิน headroom และรูปแบบตัวทำเครื่องหมายสำหรับเรียกคืนของ ccr
LLMLingua 6,598 งานวิจัยการบีบอัดพรอมต์ (LLMLingua / LLMLingua-2) — เป็นแรงบันดาลใจให้เอนจิน llmlingua แบบอะซิงโครนัส ปลอดภัยต่อโค้ด และเปิดทางให้ทำงานต่อเมื่อเกิดข้อผิดพลาด
llmlingua-2-js 31 พอร์ต JS/ONNX (MobileBERT / XLM-RoBERTa) ที่ใช้เป็นแบ็กเอนด์เธรดผู้ปฏิบัติงานสำหรับเอนจิน LLMLingua ของเรา
Troglodita 40 การบีบอัดโทเค็นภาษาโปรตุเกสแบบบราซิล — เป็นขุมพลังให้แพ็กภาษา pt-BR ของเรา ได้แก่ การลดคำซ้ำความหมายและการตัดคำฟุ่มเฟือยที่ปรับแต่งให้เหมาะกับไวยากรณ์ภาษาโปรตุเกสแบบบราซิล
ponytail 108,957 สกิลเขียนโค้ดตามหลัก YAGNI แบบ "นักพัฒนาอาวุโสจอมขี้เกียจ" ที่กลายเป็นไวรัล — เป็นแรงบันดาลใจให้รูปแบบเอาต์พุต less-code ของเรา: การกำกับให้เปลี่ยนแปลงน้อยที่สุดเท่าที่ทำงานได้ ซึ่งช่วยลดโค้ดที่ _สร้างขึ้น_ (แกนด้านเอาต์พุตที่เป็นคู่กับร้อยแก้วกระชับของ Caveman)
i-have-adhd 23,526 รูปแบบการตอบที่เน้นการลงมือทำก่อนและเป็นมิตรต่อผู้มี ADHD ถูกนำมาปรับใช้เป็นรูปแบบเอาต์พุตแบบกระชับของ OmniRoute ในห้าภาษา
### 🧩 รูปแบบกะทัดรัด งานวิจัยโทเค็น และเครื่องมือที่เข้าใจโค้ด
โปรเจกต์ ⭐ แรงบันดาลใจที่มีต่อ OmniRoute
TOON 25,233 สัญกรณ์ออบเจ็กต์ที่เน้นโทเค็น — โมเดลแบบคอลัมน์ที่ประกอบด้วยส่วนหัวและแถวเป็นต้นแบบให้ขั้นตอนการย่อตารางของเรา
GCF – Graph Compact Format 41 รูปแบบกราฟกะทัดรัดและการออกแบบโปรไฟล์ทั่วไปของโปรเจกต์นี้มีส่วนกำหนดแนวทางการย่อตารางและรูปแบบโคเดก Headroom ของ OmniRoute
gcf-typescript 4 อิมพลีเมนเทชัน TypeScript ภายใต้สิทธิ์ใช้งาน MIT ที่นำมาไว้ในโครงการโดยตรงและต่อยอดเป็นโคเดกโปรไฟล์ทั่วไปของ Headroom
token-optimizer-mcp 494 แคช Brotli/SQLite + ผลต่างบริบทต่อเซสชัน — เป็นแรงบันดาลใจให้เอนจิน session-dedup ของเรา
token-savior 1,122 การย่อเอาต์พุต Bash + โปรไฟล์ MCP — เป็นแรงบันดาลใจให้หลักปฏิบัติในการยุติการบีบอัดของเราและการลดรายการเครื่องมือ MCP
token-saver 138 การบีบอัดเอาต์พุตที่คำนึงถึงเนื้อหาและแยกตามประเภทไฟล์ พร้อมยุติการทำงานเมื่อพบความล้มเหลว — ยืนยันความเหมาะสมของการแจกจ่ายงานตามประเภทและการข้ามเมื่อผลลัพธ์ต่ำกว่าเกณฑ์ขั้นต่ำของเรา
token-optimizer 1,951 "ค้นหาโทเค็นผี" — รูปแบบการถ่ายโอนข้อมูลออก + แฮนเดิลที่กู้คืนได้ มีส่วนกำหนดแนวคิดการถ่ายโอนข้อมูลออกของ CCR
TokenMizer 28 พิมพ์เขียวกราฟเซสชัน + การตัดบรรทัดซ้ำข้ามเทิร์น ซึ่งมีส่วนกำหนดการออกแบบ session-dedup ของเรา
OmniCompress 3 JSON แบบคอลัมน์ใน Rust + การเรียกคืนแบบอ้างอิงตามเนื้อหา + การตัดข้อมูลซ้ำข้ามข้อความ — ยืนยันความเหมาะสมของการออกแบบเอนจิน headroom/ccr/session-dedup ของเรา และค่าคงที่เพื่อความเสถียรของแคชที่ว่า "รูปแบบที่บีบอัดแล้วไม่ขึ้นกับตำแหน่ง"
mcp-compressor 113 การบีบอัดสคีมา/คำอธิบายเครื่องมือ MCP — มีส่วนกำหนดแนวทางการลดจำนวนรายการเครื่องมือ MCP ของเรา
RepoMapper 197 การจัดอันดับแผนผังรีโพสไตล์ Aider — มีส่วนกำหนดการสำรวจแผนผังรีโพ/การจัดอันดับการเรียกคืนของเรา
quiet-shell-mcp 4 การลดเอาต์พุตเชลล์ผ่าน MCP แบบประกาศ — ยืนยันความเหมาะสมของการย่อเอาต์พุต bash แบบประกาศของเรา
ts-morph 6,162 ชุดเครื่องมือ TypeScript Compiler API — เป็นแรงบันดาลใจให้การลบความคิดเห็นโดยใช้พาร์เซอร์ของเรา ซึ่งยังคงรักษาลิเทอรัลของสตริง เทมเพลต และนิพจน์ทั่วไปไว้
### 🧠 หน่วยความจำและ RAG
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
Mem0 63,902 เลเยอร์หน่วยความจำสากล — โมเดลที่ใช้พร็อกซีเป็นขอบเขตการเขียน/อ่านมีส่วนกำหนดสถาปัตยกรรมหน่วยความจำของเรา
Letta (MemGPT) 24,382 เอเจนต์แบบเก็บสถานะพร้อมหน่วยความจำหลายระดับ — เป็นแรงบันดาลใจให้โมเดล Context Control & Recovery (CCR) แบบหลายระดับของเรา
WFGY 1,781 อนุกรมวิธาน ProblemMap สำหรับรูปแบบความล้มเหลวที่เกิดซ้ำ 16 แบบของ RAG/LLM — เป็นคำศัพท์ร่วมที่ใช้ในคู่มือแก้ไขปัญหาของเรา
### 🛰️ การตรวจสอบทราฟฟิก, MITM และพร็อกซีแบบโปร่งใส
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
llm-interceptor 66 การดักจับ/วิเคราะห์แบบ MITM สำหรับทราฟฟิกระหว่างผู้ช่วยเขียนโค้ด ↔ LLM ช่วยกำหนดข้อกำหนดเบื้องต้นของ Traffic Inspector โมดูลสี่ส่วนที่เคยต่อยอดมา ได้แก่ การผสาน SSE, การปรับบทสนทนาให้อยู่ในรูปแบบมาตรฐาน, การปกปิดข้อมูลลับ และการทำให้ส่วนหัวปลอดภัย ได้ถูกแทนที่ด้วยการนำไปใช้งานแบบ clean-room ที่เป็นอิสระโดยอิงตามมาตรฐานโปรโตคอลสาธารณะ ส่วนพื้นผิว host-passthrough สองรายการ (passthrough.ts และ _internal/bypass.cjs) ยังคงเป็นการนำไปใช้งานภายใน OmniRoute ซึ่งจัดประเภทแยกต่างหาก และไม่ได้ถูกเขียนขึ้นใหม่ในการแทนที่ครั้งนั้น
ProxyBridge 5,995 การกำหนดเส้นทางพร็อกซีแบบโปร่งใสแยกตามโปรเซส — เป็นแรงบันดาลใจให้การยุติ MITM ที่ปลอดภัยเมื่อเกิดข้อขัดข้อง, การหมดเวลาเมื่อซ็อกเก็ตไม่มีการใช้งาน, การระบุโปรเซสผ่าน /proc และการดักจับด้วย TPROXY ของเรา
### 📚 ข้อมูลโมเดล, ความสามารถในการสังเกตการณ์ และ UI
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
models.dev 6,555 ฐานข้อมูลแบบเปิดของข้อกำหนด ราคา และความสามารถของโมเดล AI — ซิงค์เข้าสู่แค็ตตาล็อกโมเดลของเราโดยตรง
React Flow / xyflow 38,108 ไลบรารีกราฟแบบโหนดที่ขับเคลื่อน Compression Studio และ Combo/Routing Studio แบบเรียลไทม์ของเรา
LangGraph 40,314 การแสดงภาพกราฟเวิร์กโฟลว์แบบสดของ LangGraph Studio เป็นแรงบันดาลใจให้มุมมองลำดับชั้นแบบเรียลไทม์ใน Studios ของเรา
Langfuse 33,592 โมเดลความสามารถในการสังเกตการณ์แบบ trace → span → generation ของโครงการนี้มีส่วนกำหนดมุมมอง waterfall ใน Compression Studio ของเรา
Kiali 3,631 ความสามารถในการสังเกตการณ์ของเซอร์วิสเมช Istio — เป็นแรงบันดาลใจให้แบดจ์ circuit-breaker และภาพแสดงขอบที่เกิดข้อผิดพลาดใน Routing/Combo Studio ของเรา
lobe-icons 2,428 โลโก้แบรนด์ AI/LLM ที่ใช้แสดงไอคอนผู้ให้บริการทั่วทั้งแดชบอร์ดของเรา
flag-icons 12,354 จัดเตรียมธง SVG ภายใต้สัญญาอนุญาต MIT ที่ใช้ในตัวเลือกภาษาของ README
### 🛡️ ความปลอดภัย
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
awesome-secure-defaults 721 รายการไลบรารีที่คัดสรรมาแล้วซึ่งมีค่าเริ่มต้นที่ปลอดภัย และใช้เป็นแนวทางในการตัดสินใจด้านความปลอดภัยของเรา (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink)
### 🧭 เครื่องมือเสริม
โปรเจกต์ ⭐ แรงบันดาลใจที่มอบให้ OmniRoute
ClawRouter 6,564 เป็นแรงบันดาลใจให้การขจัดคำขอซ้ำ, กลไกสำรองฉุกเฉินที่ไม่มีค่าใช้จ่าย, กลยุทธ์ Auto-Combo แบบเสียบเปลี่ยนได้ และการจำแนกเจตนาแบบหลายภาษา
Antigravity-Manager 30,652 การแมปโมเดลใหม่โดยคำนึงถึงบัญชี, การตรวจสอบพาธของไฟล์ปฏิบัติการ และลักษณะการทำงานของป้ายกำกับแพ็กเกจ มีส่วนกำหนดรันไทม์ Antigravity ของ OmniRoute
vscode-antigravity-cockpit 4,817 รูปแบบนับถอยหลังการรีเซ็ตโควตาแบบกะทัดรัดของโครงการนี้เป็นแรงบันดาลใจให้การแสดงขีดจำกัดผู้ให้บริการที่สอดคล้องกันใน OmniRoute
AionUi 32,230 การผสานรวม ACP ของโครงการนี้เป็นแรงบันดาลใจให้ OmniRoute ตรวจหาเอเจนต์ CLI ที่ติดตั้งไว้โดยอัตโนมัติ
CodexBar 20,507 ช่วยระบุพื้นผิวโควตาของ Grok Build จากนั้น OmniRoute จึงตรวจสอบและแก้ไขรูปแบบข้อมูลที่ส่งจริงอย่างเป็นอิสระ
## 📄 ใบอนุญาต
ใบอนุญาต MIT - ดูรายละเอียดได้ที่ [LICENSE](LICENSE)
---
**[⬆ กลับไปด้านบน](#-omniroute)** · สร้างขึ้นด้วย ❤️ เพื่อชุมชน AI แบบโอเพนซอร์ส
OmniRoute v3.8.51 · Node ≥22.22.2 · ใบอนุญาต MIT · omniroute.online