# 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 โทเค็น / เดือน จากแพ็กเกจฟรีของผู้ให้บริการภายนอก
> **ใช้บัญชีผู้ให้บริการของคุณเอง** ตัวเลขนี้เป็นค่าประมาณรวมจากแพ็กเกจฟรีของผู้ให้บริการภายนอกที่มีสิทธิ์ใช้งานแยกจากกัน ไม่ใช่โทเค็นที่ OmniRoute มอบให้ สมัครใช้งาน รับข้อมูลรับรองในกรณีที่จำเป็น และเชื่อมต่อผู้ให้บริการที่คุณสามารถใช้ได้ โดยผู้ให้บริการแต่ละรายเป็นผู้กำหนดขีดจำกัด ความพร้อมใช้งาน และข้อกำหนดของตนเอง
>
> การรวมแพ็กเกจฟรีด้วยตนเองเป็นเรื่องยุ่งยาก — SDK หลายสิบรายการ ขีดจำกัดอัตราการใช้งานหลายสิบแบบ และคุณไม่รู้เลยว่าจริง ๆ แล้วมีโควตาอยู่เท่าใด OmniRoute จัดทำแค็ตตาล็อก **489 รายการแพ็กเกจฟรีในคีย์พูลแบบต่ออายุ 35 คีย์** และคำนวณตัวเลขโทเค็นพาดหัวจาก **17 พูลที่เผยแพร่งบประมาณรายเดือนเป็นบวก รวมกับขีดจำกัด Groq รายโมเดลห้ารายการ** โดยตัดรายการซ้ำตามพูลที่ใช้ร่วมกัน โควตาที่เปิดให้ใช้ได้หลังจากตรวจสอบตัวตนตามภูมิภาคเท่านั้น (ปัจจุบันคือ ModelScope) จะแสดงแยกต่างหาก โดยมี +~6M ที่ต้องผ่านการยืนยันตัวตนตามภูมิภาค และจะไม่นำมารวมในตัวเลขพาดหัว ผลลัพธ์จะแสดงอยู่บนแดชบอร์ด (`/dashboard/free-tiers`) เสมอ
> สรุปแบบเคลื่อนไหวของหน้า `/dashboard/free-tiers` แบบสด ระเบียบวิธีฉบับเต็ม (การตัดพูลซ้ำ ระดับเครดิต ข้อกำหนดของผู้ให้บริการ): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**
>
> ตัวเลขเหล่านี้ได้รับการตรวจสอบซ้ำทุกสองสัปดาห์เทียบกับแค็ตตาล็อกปัจจุบัน และ **เปลี่ยนแปลงได้ทั้งสองทิศทาง** — หากผู้ให้บริการยุติแพ็กเกจฟรี ตัวเลขก็จะลดลง หากมีแพ็กเกจใหม่เข้ามา ตัวเลขก็จะเพิ่มขึ้น เราเผยแพร่ค่าที่แค็ตตาล็อกคำนวณได้จริง ไม่ใช่กรณีที่ดีที่สุดซึ่งถูกปัดขึ้น
⭐ กดดาวให้ repo หาก 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.50 | **v3.8.51** | `v3.8.52+` |
| -------------------------- | :---------------------: | :---------: | :-------------------: |
| 🌐 ผู้ให้บริการ | 352 | **358** | 372 |
| 🧠 ID โมเดลแชตที่ไม่ซ้ำกัน | 1320 | **1374** | 1443 |
| 🖼️ สะพานเชื่อมโมดาลิตี | 🆕 ภาพ + เสียง + วิดีโอ | ✓ | ✓ |
| 📡 แค็ตตาล็อก Radar ฟรี | 🆕 เลือกใช้ได้ | ✓ | ✓ |
| ⚖️ การจัดกำหนดการตามโควตา | 🆕 Quota-Share | ✓ | ✓ |
| 📊 ข้อมูลการวัดโควตา | 🆕 แบบเรียลไทม์ | ✓ | ✓ |
| 🧰 โหมด Headless | — | — | 🆕 `serve --headless` |
| 🛤️ โครงสร้างพื้นฐานสาย LTS | — | — | 🆕 ช่องทางการเผยแพร่ |
**→ [แผนงาน](ROADMAP.md) — มุ่งหน้าไปตามเส้นทางสู่ `v3.9.0 LTS`**
## 🧩 พร้อมใช้งาน
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 ติดตั้ง เชื่อมต่อผู้ให้บริการ แล้วกำหนดเส้นทางผ่านเอนด์พอยต์เดียว
```bash
# หลังจากเชื่อมต่อผู้ให้บริการแล้ว ให้คัดลอกคีย์ OmniRoute ของคุณจากแดชบอร์ด → เอนด์พอยต์:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` ต้องมีเส้นทางที่มีสิทธิ์ การติดตั้งใหม่อาจไม่มีปลายทางแบบไม่ใช้คีย์ที่มีสิทธิ์ และผู้ให้บริการแบบไม่ใช้คีย์อาจปฏิเสธไคลเอนต์จากบุคคลที่สาม ผู้ให้บริการที่ระบุ `tos: avoid` รวมถึง OpenCode Free และ Kiro จะถูกแยกออกจากการกำหนดเส้นทางอัตโนมัติโดยค่าเริ่มต้น การเชื่อมต่อบัญชีจะไม่เขียนทับการตั้งค่านี้ โปรดดู [คู่มือ Free Tiers](docs/getting-started/FREE-TIERS-GUIDE.md) ก่อนเลือกผู้ให้บริการ
📦 สคริปต์เริ่มต้นใช้งานอย่างรวดเร็วที่คัดลอกแล้ววางได้สำหรับ **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 แล้วเราจะเพิ่มที่นี่
## 🎯 คอมโบ — ฟีเจอร์เรือธง
> **คอมโบ** คือสายโซ่ของโมเดลที่ OmniRoute ใช้กำหนดเส้นทางข้ามไปมาแบบ **อัตโนมัติ** หากโควตาหมด ผู้ให้บริการขัดข้อง หรือค่าใช้จ่ายพุ่งสูง คอมโบสามารถย้ายไปยังโมเดลที่พร้อมใช้งานและมีคุณสมบัติตรงตามเงื่อนไขตัวถัดไปได้ 🛡️
### ⚡ ไม่ต้องกำหนดค่า — เพียงใช้ `auto`
ไม่ต้องสร้างคอมโบ ตั้งค่าโมเดลของคุณเป็น `auto` (หรือรูปแบบย่อย) แล้ว OmniRoute จะสร้างคอมโบเสมือนจากผู้ให้บริการที่คุณเชื่อมต่อ พร้อมให้คะแนนแบบเรียลไทม์:
รหัสโมเดล สิ่งที่ปรับให้เหมาะสม
auto🎯 ค่าเริ่มต้นแบบสมดุล (LKGP — ยึดผู้ให้บริการล่าสุดที่ทำงานได้ดี)
auto/coding🧑💻 ให้น้ำหนักกับคุณภาพเป็นอันดับแรกสำหรับการสร้างโค้ด
auto/fast⚡ เลือกเวลาแฝงต่ำสุดก่อน
auto/cheap💰 เลือกราคาต่อโทเค็นที่ถูกที่สุดก่อน
auto/offline🔋 เลือกโควตา / ขีดจำกัดอัตราการใช้งานที่เหลือมากที่สุดก่อน
auto/smart🔭 ให้ความสำคัญกับคุณภาพ + สำรวจ 10% เพื่อค้นหาโมเดลที่ดีกว่า
auto/lkgp📌 ยึดผู้ให้บริการล่าสุดที่ทราบว่าใช้งานได้อย่างชัดเจน
auto/chaos🧪 กระจายคำขอแบบขนานไปยังกลุ่มโมเดล (หนึ่งโมเดลต่อผู้ให้บริการ ค่าเริ่มต้นคือ 5 โมเดล) และส่งคืนคำตอบเดียว โดยเรียกต้นทางหนึ่งครั้งต่อโมเดลในกลุ่ม ไม่ใช่การฉีดข้อผิดพลาด
##
### 🔀 หรือสร้างของคุณเอง — 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)
- **⚖️ การกำหนดเส้นทางแบบ Quota-Share** — แบ่งโควตาของบัญชีที่ใช้ร่วมกันให้กับคีย์ในพูลอย่างเป็นธรรม พร้อมใช้ทรัพยากรอย่างเต็มประสิทธิภาพโดยให้ยืมส่วนแบ่งที่ไม่ได้ใช้งาน → [คู่มือความทนทาน](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 372 ราย — 154 รายถูกระบุในแค็ตตาล็อกว่าใช้ฟรี
> **ผู้ให้บริการที่ลงทะเบียน 372 ราย** ครอบคลุมคอลเลกชันมาตรฐานสำหรับแชต สื่อ การค้นหา ระบบภายในเครื่อง เอเจนต์บนคลาวด์ และระบบ โดยมี **154 รายที่มีข้อมูลเมตาสำหรับการค้นพบ `hasFree: true`** รีจิสทรีโมเดลแชตครอบคลุม **ผู้ให้บริการ 237 ราย / คู่ผู้ให้บริการ-โมเดลที่แตกต่างกัน 3,009 คู่ / ID โมเดลดิบ 1,443 รายการ** ส่วนแค็ตตาล็อกงบประมาณฟรีที่แยกต่างหากมี **รายการต่อโมเดล 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 แบบไม่สูญเสียข้อมูล พร้อมการบีบอัดข้อมูลวินิจฉัยแบบมีขอบเขตสำหรับเอาต์พุตจาก shell/patch/search/build (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% เอาต์พุตจาก shell/test/build/git
🔗 Stacked (RTK → Caveman) 78–95% พรอมต์แบบผสมและบันทึกจากเครื่องมือ
**ตัวอย่างจริง — โหมด Standard:**
> **ก่อน (69 โทเค็น):** _"สาเหตุที่คอมโพเนนต์ React ของคุณเรนเดอร์ซ้ำน่าจะเป็นเพราะคุณสร้างการอ้างอิงออบเจ็กต์ใหม่ในแต่ละรอบการเรนเดอร์ เมื่อคุณส่งออบเจ็กต์แบบอินไลน์เป็น prop การเปรียบเทียบแบบตื้นของ React จะมองว่าเป็นออบเจ็กต์คนละตัวทุกครั้ง ซึ่งทำให้เกิดการเรนเดอร์ซ้ำ ขอแนะนำให้ใช้ useMemo เพื่อจดจำออบเจ็กต์ดังกล่าว"_
>
> **หลัง (19 โทเค็น):** _"มี ref ออบเจ็กต์ใหม่ทุกครั้งที่เรนเดอร์ ออบเจ็กต์ prop แบบอินไลน์ = ref ใหม่ = เรนเดอร์ซ้ำ ครอบด้วย 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-dep ใช่ไหม? [คำเตือนเหล่านี้ไม่เป็นอันตราย](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)
> **ใช้ npm 11 หรือใหม่กว่าใช่ไหม?** npm อาจบล็อกสคริปต์วงจรชีวิตของแพ็กเกจ เว้นแต่จะได้รับอนุญาต `postinstall` ของ OmniRoute (`node scripts/build/postinstall.mjs`) จำเป็นสำหรับการเตรียมไฟล์รันไทม์แบบเนทีฟ อนุญาตแพ็กเกจที่ระบุในคำเตือนของ npm เมื่อติดตั้งแบบโกลบอล สำหรับชุดแพ็กเกจที่ OmniRoute 3.8.51 รายงาน:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> หากต้องการใช้รายการอนุญาตนี้ซ้ำสำหรับการติดตั้งแบบโกลบอลในอนาคต ให้กำหนดค่าเพียงครั้งเดียว แล้วติดตั้งตามปกติ:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> รายการการขึ้นต่อกันอาจเปลี่ยนแปลงระหว่างรีลีส หาก npm รายงานรายการอื่น ให้ใช้ชื่อแพ็กเกจจากคำเตือนนั้น การอนุญาตแพ็กเกจจะทำให้สคริปต์การติดตั้งของแพ็กเกจนั้นทำงานได้
> **ใช้ Gemini Web หรือผู้ให้บริการรายอื่นที่ใช้คุกกี้เว็บใช่ไหม?** แพ็กเกจ npm มี
> Playwright แต่ไม่มีไบนารี Chromium โปรดดูหมายเหตุ
> [การตั้งค่า Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> ก่อนส่งคำขอไปยังผู้ให้บริการเว็บเป็นครั้งแรก
แดชบอร์ดอยู่ที่ `http://localhost:20128` · API อยู่ที่ `http://localhost:20128/v1`
**2) เชื่อมต่อผู้ให้บริการที่เข้าเกณฑ์โดยใช้บัญชีของคุณเอง**
แดชบอร์ด → **ผู้ให้บริการ** → เลือกผู้ให้บริการที่มีข้อกำหนดและโควตาปัจจุบันเหมาะกับกรณีการใช้งานของคุณ → เพิ่มคีย์ API หรือดำเนินขั้นตอนเชื่อมต่อบัญชีให้เสร็จสมบูรณ์ แพ็กเกจฟรีอาจกำหนดให้สมัคร รับการอนุมัติ หรือเพิ่มวิธีการชำระเงิน โปรดอ่าน [คู่มือแพ็กเกจฟรี](docs/getting-started/FREE-TIERS-GUIDE.md) ทั้งนี้ไม่รับประกันว่าจะใช้งานแบบไม่ต้องมีคีย์ได้ และผู้ให้บริการที่ระบุ `tos: avoid` จะถูกแยกออกจาก `auto` ตามค่าเริ่มต้น
**3) กำหนดค่าเครื่องมือเขียนโค้ดของคุณ**
```txt
URL ฐาน: http://localhost:20128/v1
คีย์ API: [คัดลอกจากแดชบอร์ด → เอนด์พอยต์]
โมเดล: auto (กำหนดเส้นทางระหว่างการเชื่อมต่อที่เข้าเกณฑ์ — หรือเลือกผู้ให้บริการ/โมเดล)
```
**4) ตรวจสอบว่าทำงานได้**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
คุณควรเห็นรายการโมเดลที่เชื่อมต่อแล้ว 🎉 เท่านี้ก็เรียบร้อย — เริ่มเขียนโค้ดได้เลย แล้ว OmniRoute จะกำหนดเส้นทางอัตโนมัติและสลับไปใช้ตัวสำรองให้คุณ
หากไคลเอนต์ของคุณไม่สามารถส่งส่วนหัวแบบกำหนดเองได้ OmniRoute ยังมีนามแฝงสำหรับความเข้ากันได้ที่ฝังโทเค็นไว้:
```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) + LowDB (JSON แบบเดิม) — โมดูลโดเมน 137 โมดูล, การย้ายข้อมูล 202 รายการ
หน่วยความจำ การค้นหาข้อความแบบเต็มด้วย SQLite FTS5 + เวกเตอร์เอ็มเบดดิงที่ควอนไทซ์เป็น int8, การลดทอนแบบระบุชนิด
สคีมา Zod 4 — การตรวจสอบ I/O ของเครื่องมือ MCP + สัญญา API
โปรโตคอล MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
การสตรีม Server-Sent Events (SSE) + บริดจ์ WebSocket (/v1/ws)
การบีบอัด ไปป์ไลน์ 12 เอนจิน — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
การยืนยันตัวตนและความปลอดภัย OAuth 2.0 (PKCE) + JWT + API Keys + การยืนยันตัวตนตามขอบเขตของ MCP · AES-256-GCM สำหรับข้อมูลที่จัดเก็บ · DOMPurify
การพรางตัว wreq-js — การจำลองลายนิ้วมือ TLS แบบ JA3 / JA4, พร็อกซี 3 ระดับ
ความยืดหยุ่น เซอร์กิตเบรกเกอร์, การหน่วงเวลาแบบเอ็กซ์โพเนนเชียล, การป้องกันปัญหา thundering herd, การซ่อมแซมตนเองด้วย auto-combo
การบันทึกล็อก pino — ล็อก JSON แบบมีโครงสร้างพร้อมบริบทของคำขอ
การทดสอบ ตัวรันการทดสอบของ Node.js + Vitest — การประกาศการทดสอบแบบสแตติกมากกว่า 39,000 รายการ ในไฟล์ทดสอบที่ติดตามมากกว่า 5,100 ไฟล์ (ยูนิต, การผสานรวม, E2E, ความปลอดภัย, ระบบนิเวศ)
แพลตฟอร์ม เดสก์ท็อป (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.52 · Node ≥22.22.2 · ใบอนุญาต MIT · omniroute.online