# Conflicts: # README.md # config/quality/file-size-baseline.json # docs/diagrams/comparison-table.svg # docs/diagrams/free-tier-budget.svg # docs/diagrams/readme-hero.svg # docs/i18n/am/llm.txt # docs/i18n/ar/llm.txt # docs/i18n/az/llm.txt # docs/i18n/bg/llm.txt # docs/i18n/bn/llm.txt # docs/i18n/cs/llm.txt # docs/i18n/da/llm.txt # docs/i18n/de/llm.txt # docs/i18n/el/llm.txt # docs/i18n/es/llm.txt # docs/i18n/et/llm.txt # docs/i18n/fa/llm.txt # docs/i18n/fi/llm.txt # docs/i18n/fr/llm.txt # docs/i18n/ga/llm.txt # docs/i18n/gu/llm.txt # docs/i18n/ha/llm.txt # docs/i18n/he/llm.txt # docs/i18n/hi/llm.txt # docs/i18n/hr/llm.txt # docs/i18n/hu/llm.txt # docs/i18n/hy/llm.txt # docs/i18n/id/llm.txt # docs/i18n/ig/llm.txt # docs/i18n/it/llm.txt # docs/i18n/ja/llm.txt # docs/i18n/ka/llm.txt # docs/i18n/km/llm.txt # docs/i18n/kn/llm.txt # docs/i18n/ko/llm.txt # docs/i18n/lt/llm.txt # docs/i18n/lv/llm.txt # docs/i18n/ml/llm.txt # docs/i18n/mr/llm.txt # docs/i18n/ms/llm.txt # docs/i18n/mt/llm.txt # docs/i18n/my/llm.txt # docs/i18n/ne/llm.txt # docs/i18n/nl/llm.txt # docs/i18n/no/llm.txt # docs/i18n/or/llm.txt # docs/i18n/pa/llm.txt # docs/i18n/phi/llm.txt # docs/i18n/pl/llm.txt # docs/i18n/pt-BR/llm.txt # docs/i18n/pt/llm.txt # docs/i18n/ro/llm.txt # docs/i18n/ru/llm.txt # docs/i18n/si/llm.txt # docs/i18n/sk/llm.txt # docs/i18n/sl/llm.txt # docs/i18n/sr/llm.txt # docs/i18n/sv/llm.txt # docs/i18n/sw/llm.txt # docs/i18n/ta/llm.txt # docs/i18n/te/llm.txt # docs/i18n/th/llm.txt # docs/i18n/tr/llm.txt # docs/i18n/uk-UA/llm.txt # docs/i18n/ur/llm.txt # docs/i18n/uz/llm.txt # docs/i18n/vi/llm.txt # docs/i18n/yo/llm.txt # docs/i18n/zh-CN/llm.txt # docs/i18n/zh-TW/llm.txt # docs/reference/PROVIDER_REFERENCE.md # docs/screenshots/free-tier-budget-card.svg
README (ไทย)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
💰 โทเค็นฟรี ~1.47B / เดือน
การรวมแพ็กเกจฟรีด้วยตนเองเป็นเรื่องยุ่งยาก — SDK หลายสิบรายการ ขีดจำกัดอัตราการใช้งานหลายสิบแบบ และคุณไม่รู้เลยว่าจริง ๆ แล้วมีโควตาเท่าไร OmniRoute รวบรวม รายการแพ็กเกจฟรี 452 รายการในคีย์พูลแบบต่อเนื่อง 34 คีย์ และคำนวณตัวเลขโทเค็นหลักจาก 16 พูลที่เผยแพร่งบประมาณรายเดือนเป็นค่าบวก รวมกับขีดจำกัด Groq แยกตามโมเดลอีกห้ารายการ โดยขจัดการนับซ้ำตามพูลที่ใช้ร่วมกัน โควตาที่เปิดให้ใช้ได้หลังจากผ่านการตรวจสอบตัวตนตามภูมิภาคเท่านั้น (ปัจจุบันคือ ModelScope) จะแสดงแยกต่างหาก โดยมีอีก +~6M ที่ต้องผ่านการยืนยันตัวตนตามภูมิภาค และจะไม่ถูกนำมารวมในตัวเลขหลัก ผลลัพธ์ยังคงแสดงอยู่บนแดชบอร์ด (
/dashboard/free-tiers)
สรุปแบบเคลื่อนไหวของหน้า
/dashboard/free-tiersแบบสด ดูระเบียบวิธีฉบับเต็ม (การขจัดการนับพูลซ้ำ ระดับเครดิต ข้อกำหนดของผู้ให้บริการ): docs/reference/FREE_TIERS.md.ตัวเลขเหล่านี้ได้รับการตรวจสอบใหม่ทุกสองสัปดาห์โดยเทียบกับแค็ตตาล็อกแบบสด และ สามารถเปลี่ยนแปลงได้ทั้งเพิ่มขึ้นและลดลง — เมื่อผู้ให้บริการยุติแพ็กเกจฟรี ตัวเลขจะลดลง และเมื่อมีรายใหม่เข้ามา ตัวเลขก็จะเพิ่มขึ้น เราเผยแพร่ค่าที่แค็ตตาล็อกคำนวณได้จริง ไม่ใช่กรณีดีที่สุดที่ปัดตัวเลขให้สูงขึ้น
⭐ กดดาวให้รีโพนี้ หาก OMNIROUTE ช่วยให้คุณประหยัดเงินและทำงานได้ง่ายขึ้น
💬 เข้าร่วมชุมชน
👋 ติดตามผู้ดูแล — รับข่าวสารเกี่ยวกับผู้ให้บริการรายใหม่ รุ่นที่เผยแพร่ และเคล็ดลับก่อนใคร:
คำถาม เคล็ดลับเกี่ยวกับผู้ให้บริการ แผนพัฒนา และการสนับสนุน → Discord · Telegram · WhatsApp 🌍 ทั่วโลก / 🇧🇷 บราซิล / พอร์ทัล
📈 เกตเวย์เติบโตอย่างต่อเนื่อง
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 ผู้ให้บริการ | 290 | 352 | รอเพิ่มอีก |
| 🧠 ID โมเดลแชตที่ไม่ซ้ำกัน | 1185 | 1312 | — |
| 🖼️ บริดจ์ระหว่างโมดาลิตี | — | 🆕 ภาพ + เสียง + วิดีโอ | — |
| 📡 แค็ตตาล็อกฟรีของ Radar | — | 🆕 เลือกเปิดใช้ | — |
| ⚖️ การจัดตารางเวลาตามโควตา | — | 🆕 Quota-Share | — |
| 📊 เทเลเมทรีโควตา | — | 🆕 แบบเรียลไทม์ | — |
→ แผนงาน — เดินหน้าตามเส้นทางสู่ v3.9.0 LTS
🧩 พร้อมใช้งาน
| 🚀 เริ่มต้น | 🚀 เริ่มต้นอย่างรวดเร็ว | 📦 ติดตั้ง | 🆓 ไม่ต้องตั้งค่า |
| 💡 เรียนรู้ | 💥 คำมั่นสัญญา | 🤔 ทำไมต้อง OmniRoute | 🏆 สิ่งที่ทำให้แตกต่าง |
| ⚙️ ฟีเจอร์ | 🎯 คอมโบ | 🌐 ผู้ให้บริการ | 🔌 CLI และ MCP |
| 🗜️ การบีบอัด | 🖥️ ทำงานได้ที่ไหน | 🔒 เป็นส่วนตัว | |
| 👀 ดูการทำงาน | 🎬 การทำงานจริง | ✨ มีอะไรใหม่ | 🤖 CLI ที่เข้ากันได้ |
| 💚 สนับสนุน | 💚 สนับสนุน / บริจาค | 💬 ชุมชน | 💖 ผู้สนับสนุน |
| 📦 โปรเจกต์ | 🛠️ เทคโนโลยีที่ใช้ | 📖 เอกสารประกอบ | 👥 ผู้มีส่วนร่วม |
🆓 ใช้งานได้ทันทีที่ติดตั้ง — ไม่ต้องใช้คีย์ ไม่ต้องตั้งค่า
# ติดตั้งใหม่โดยไม่ต้องใช้ข้อมูลประจำตัว — `auto` ใช้งานได้ทันที:
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/
💥 คำมั่นสัญญา
🤔 ทำไมต้อง OmniRoute?
🤝 สนับสนุนโดยมิตรโอเพนซอร์สของเรา
ต้องการเข้าร่วมเป็นมิตรโอเพนซอร์สหรือไม่? บริษัทเหล่านี้คือผู้สนับสนุนโอเพนซอร์สและช่วยให้ OmniRoute เดินหน้าต่อไปได้ — และเราเปิดเผยต่อสาธารณะว่าโทเค็นทุกโทเค็นที่พวกเขามอบให้เราถูกนำไปใช้อย่างไร ติดต่อเราได้ที่: 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) นอกจากนี้ OmniRoute ยังเป็นโปรเจกต์โอเพนซอร์สจากบราซิลโปรเจกต์แรกในโปรแกรมสนับสนุนของ Kimi อีกด้วย รับคีย์ Kimi API พร้อมเครดิตเพิ่มอีก 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 →
|
ลิงก์ที่ติดแท็ก 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
🧱 ความยืดหยุ่นมีมาให้ในตัว (3 ชั้นที่เป็นอิสระต่อกัน)
📖 กลไก Auto-Combo · คู่มือความยืดหยุ่น
🏆 สิ่งที่ทำให้ OmniRoute แตกต่าง
📊 ระเบียบวิธีฉบับเต็ม & รายละเอียดแต่ละฟีเจอร์เมื่อเทียบกับ 9router, OpenRouter, CLIProxyAPI & LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
💚 สนับสนุน OmniRoute
OmniRoute ใช้สัญญาอนุญาต MIT และได้รับการดูแลแบบเปิดเผย หากช่วยประหยัดเวลาหรือเงินของคุณ นี่คือวิธีที่จะช่วยให้โครงการยังคงเป็นอิสระ — เลือกวิธีที่เหมาะกับคุณ การสนับสนุนไม่มีผลต่อลำดับความสำคัญในการกำหนดเส้นทาง โดยเป็นการซื้อการมองเห็น ไม่ใช่อันดับ
| ⭐ ติดดาวให้รีโพ | ฟรี — ช่วยเพิ่มการมองเห็นได้จริง | ติดดาวให้ OmniRoute |
| 🐙 GitHub Sponsors | ครั้งเดียวหรือรายเดือน · ไม่มีค่าธรรมเนียมแพลตฟอร์ม | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | ให้ทิปครั้งเดียวได้อย่างรวดเร็ว ผู้บริจาคไม่ต้องสมัครสมาชิก | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | การสนับสนุนเล็กๆ น้อยๆ แบบเป็นกันเอง | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | ต่อเนื่อง · ไม่แสวงหาผลกำไร · โอเพนซอร์ส | liberapay.com/diegosouzapw |
| 🇧🇷 PIX (บราซิล) | ทันที ไม่มีค่าธรรมเนียม | คีย์ & QR ด้านล่าง |
| ₿ คริปโต | BTC · ETH · USDT-TRC20 · USDC-Solana | ที่อยู่ด้านล่าง |
🇧🇷 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 |
⚠️ โปรดส่งเหรียญแต่ละชนิดผ่านเครือข่ายที่ระบุไว้เท่านั้น — การส่งผ่านเครือข่ายที่ไม่ถูกต้องอาจทำให้เงินสูญหายได้
🐛 พบข้อบกพร่องหรือมีข้อเสนอแนะใช่ไหม? เปิดการสนทนา
หมายเหตุสำหรับนักพัฒนา: โปรเจกต์อาจสร้างไฟล์ .env ในเครื่องระหว่าง npm install/postinstall เพื่อความสะดวกของนักพัฒนา ไฟล์นี้ถูกละเว้นโดยตั้งใจผ่าน .gitignore (ดู .gitignore) และต้องไม่ถูกคอมมิตโดยเด็ดขาด — หากคอมมิตโดยไม่ตั้งใจ ให้หมุนเวียนข้อมูลลับใดๆ ที่ถูกเปิดเผยและลบไฟล์ออกจากประวัติ ดูคำแนะนำเกี่ยวกับการจัดการไฟล์สภาพแวดล้อมในเครื่องและข้อมูลลับได้ที่ docs/DEVELOPER-ENVIRONMENT.md
📡 OmniRoute Radar
ข้อมูลสำคัญของแพ็กเกจฟรียังคงอยู่ที่ ~1.47B โทเค็น/เดือน จากแค็ตตาล็อกที่จัดทำเอกสารไว้ข้างต้น ซึ่งมีการลบรายการซ้ำระหว่างพูลแล้ว เครดิตชั่วคราวสำหรับการสมัครใช้งานกับผู้ให้บริการอาจเพิ่มจำนวนในเดือนแรกแยกต่างหากเป็น ~2.07B Radar เป็นโอเวอร์เลย์แค็ตตาล็อกที่มีการลงลายเซ็นและเลือกเปิดใช้ได้ สำหรับผู้ที่ต้องการข้อมูลความพร้อมใช้งานของโมเดลฟรีที่ใหม่ยิ่งขึ้นในช่วงระหว่างการเผยแพร่ OmniRoute แต่ละรุ่น ทั้งแค็ตตาล็อกชุมชนและฟีเจอร์ฟรีที่มีอยู่ทั้งหมดจะยังคงใช้งานได้ฟรี
ผู้สนับสนุนสามารถรับแค็ตตาล็อกแบบสดและโอกาสเพิ่มเติมจากผู้ให้บริการได้ เพดานแยกต่างหากซึ่งอาจเปลี่ยนแปลงได้นั้นอยู่ที่ สูงสุดประมาณ 3B โทเค็น/เดือน โดยขึ้นอยู่กับความพร้อมใช้งานของผู้ให้บริการ เพดานดังกล่าวไม่ใช่การรับประกัน: ผู้ให้บริการสามารถเปลี่ยนโควตา คุณสมบัติในการรับสิทธิ์ โมเดล หรือภูมิภาคได้ทุกเมื่อ
Radar เป็นฟีเจอร์ที่ต้องเลือกเปิดใช้และใช้เฉพาะ GET เท่านั้น ไคลเอนต์ OmniRoute จะไม่อัปโหลดพรอมต์ ทราฟฟิก การกำหนดค่าผู้ให้บริการ ข้อมูลวัดผลการใช้งาน หรือสถานะการปิดประกาศในเครื่อง ดูข้อมูลเกี่ยวกับคุณสมบัติในการรับสิทธิ์และแค็ตตาล็อกปัจจุบันได้ที่ radar.omniroute.online/planos
✨ มีอะไรใหม่
ไฮไลต์ล่าสุดจาก v3.8.20 → v3.8.50 ดูประวัติฉบับเต็มได้ใน
CHANGELOG.md
- 🎛️ OmniConductor — มอบหมายงานขาเข้าผ่าน A2A ไปยังฝูงเอเจนต์ของคุณ พร้อมสกิล Conductor บน Agent Card และแผงแดชบอร์ดที่มีการแชตด้วยเสียงแบบกดเพื่อพูดผ่าน Faro → เซิร์ฟเวอร์ A2A
- 🛂 การควบคุมการรับโหลดแบบปรับตัวและการป้องกันโอเวอร์โหลด — คำขอแชตที่ใช้ทรัพยากรสูงจะเข้าคิวแทนที่จะตอบกลับด้วย 503 พร้อม rolling lease ของ RPM แบบอะตอมมิกต่อการเชื่อมต่อ → คู่มือความยืดหยุ่น
- 🗂️ การจัดลำดับ
/v1/modelsแบบมาตรฐาน — แต่ละผู้ให้บริการมีหนึ่งบล็อกที่ต่อเนื่องและจัดกลุ่มตามผู้ให้บริการ (ปักหมุดคอมโบไว้ก่อน) โดยมีลำดับคงที่ในแหล่งที่มาของแค็ตตาล็อกทั้งหมด → เอกสารอ้างอิง API - 🗜️ การเพิ่มความแข็งแกร่งให้ระบบบีบอัด — เปิดใช้ตัวป้องกันการขยายข้อมูลโดยค่าเริ่มต้น, แพ็ก Caveman สำหรับ DE / FR / JA + ภาษาจีน (wényán), ตัวกรอง RTK สำหรับ Gradle และ .NET → การบีบอัด
- 💸 ค่าใช้จ่ายแบบอัตราคงที่ที่ตรงไปตรงมา — ผู้ให้บริการแบบสมัครสมาชิก / แผนเขียนโค้ดจะแสดงค่าใช้จ่ายเป็น $0 ในการวิเคราะห์ต้นทุน ส่วนงบประมาณ โควตา และการกำหนดเส้นทางยังคงประเมินตามปกติ → เอกสารอ้างอิง API
- ⚖️ การกำหนดเส้นทางแบบแบ่งโควตา — แบ่งโควตาของบัญชีที่ใช้ร่วมกันอย่างเป็นธรรมระหว่างคีย์ในพูล พร้อมใช้ทรัพยากรอย่างเต็มประสิทธิภาพโดยให้ยืมส่วนที่ไม่ได้ใช้งาน → คู่มือความยืดหยุ่น
- 🤖 การตั้งค่า CLI/เอเจนต์ด้วยคำสั่งเดียว — มีคำสั่ง
setup-*ที่ลงทะเบียนไว้ 13 คำสั่ง;omniroute runเปิดใช้งาน CLI 7 รายการ (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configureรองรับเป้าหมาย 10 รายการ พร้อมเครื่องมือเลือกผู้ให้บริการ+โมเดลแบบอินเทอร์แอ็กทีฟและรายการโปรดแยกตามบริบท → การผสานรวม CLI - 🛰️ โหมดระยะไกล — ควบคุม OmniRoute ระยะไกลด้วยโทเค็นแบบจำกัดขอบเขต (
connect/contexts/tokens) พร้อมตัวช่วย OAuthantigravityสำหรับการติดตั้งบน VPS → โหมดระยะไกล - 🧭 การกำหนดเส้นทางอัตโนมัติที่ชาญฉลาดยิ่งขึ้น — คอมโบ
auto/<category>:<tier>, Fusion (คณะโมเดล + ผู้ตัดสิน), การกำหนดเส้นทางตามงาน และการแทนที่โมเดล / โหมด / งบประมาณ USD แยกตามคำขอ → Auto-Combo - 🗜️ การบีบอัดแบบเสียบต่อได้ — เอนจินที่ประกอบร่วมกันได้ 12 รายการ + Compression Studios: LLMLingua-2, Ultra แบบสองระดับ, omniglyph, เกตตรวจสอบความเที่ยงตรงในแต่ละขั้นตอน, GCF v3.2 และเครื่องมือแก้ไขแบบลากเพื่อจัดลำดับใหม่ → การบีบอัด
- 🕵️ การถอดรหัส MITM แบบโปร่งใส (TPROXY) — ดักจับ CLI ที่ไม่สนใจตัวแปรสภาพแวดล้อมของพร็อกซี พร้อม CA แยกตาม SNI และตัวติดตั้ง trust store → MITM/TPROXY
- 💸 เทเลเมทรีค่าใช้จ่ายทุกที่ — ส่วนหัวค่าใช้จ่าย/การใช้งาน
X-OmniRoute-*ในทุกเอนด์พอยต์, ส่วนหัวแสดงการประหยัดจาก cache-HIT และโควตาการใช้จ่าย USD แยกตามคีย์ → เอกสารอ้างอิง API - 🧠 หน่วยความจำที่คุณควบคุมได้ — ปิดไว้โดยค่าเริ่มต้น, เลือกเปิดใช้การควอนไทซ์เวกเตอร์แบบ int8 + การเสื่อมตามประเภท และ
x-omniroute-no-memoryแยกตามคำขอ → หน่วยความจำ - 🛡️ ความปลอดภัย — ตัวป้องกัน prompt injection ในทุกเส้นทาง LLM (ชุดทดสอบแบบ red-team), กลไกป้องกันการเปิดเผยข้อมูลรับรองที่เลือกเปิดใช้ได้ (ปกปิดคีย์ API/ข้อมูลลับที่รั่วไหลทั้งสองทิศทาง), การค้นหาเว็บผ่าน DuckDuckGo ฟรีเป็นทางเลือกสุดท้าย และเกตเข้าสู่ระบบ OIDC สำหรับแดชบอร์ดที่เลือกเปิดใช้ได้ (การเข้าสู่ระบบด้วยรหัสผ่านยังคงพร้อมใช้งานเสมอ) → กลไกป้องกัน
- 🖼️ เอนด์พอยต์ใหม่ —
/v1/ocr(Mistral OCR) และ/v1/audio/translations(รูปแบบ Whisper) เติมเต็มความสามารถด้านสื่อ → เอกสารอ้างอิง API - 🎨 การสร้างรูปภาพ / วิดีโอ / เสียง — API เดียวสำหรับสื่อ: วิดีโอจาก xAI Grok Imagine และ Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind และผู้ให้บริการเสียงพูด เช่น ElevenLabs → เอกสารอ้างอิง API
- 🌍 การปรับใช้และการปฏิบัติการ —
basePathสำหรับ reverse proxy, การตรวจหาภาษาของเบราว์เซอร์อัตโนมัติ, การติดตามอุปกรณ์แยกตามคีย์, ความเชื่อถือ MITM แบบไม่ต้องใช้สิทธิ์ root และการรองรับภาษา zh-TW → สภาพแวดล้อม - 🤝 ผู้ให้บริการและเอเจนต์เพิ่มเติม — เอเจนต์บนคลาวด์ (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 ราย ที่ปรับปรุงใหม่ → ผู้ให้บริการ
- 📡 ความโปร่งใสในการกำหนดเส้นทาง — ทุกการตอบกลับมีส่วนหัว
X-OmniRoute-Decisionที่ระบุกลยุทธ์/ผู้ให้บริการ/เวลาแฝงที่ใช้ให้บริการ, กลยุทธ์คอมโบใหม่cache-optimized+ ปัจจัยcacheAffinityของ Auto-Combo จะกำหนดเส้นทางคำขอซ้ำกลับไปยังการเชื่อมต่อที่เก็บคำนำหน้าไว้ในแคช และเอนด์พอยต์แบบอ่านอย่างเดียว/v1/auto-combo/{channel}/candidatesจะแสดงพูลตัวเลือกปัจจุบันของช่องauto/*→ Auto-Combo - ⚡ ประสิทธิภาพและโครงสร้างพื้นฐานภายในเครื่อง — Redis ภายในเครื่องแบบคลิกเดียว, เครื่องมือปรับใช้รีเลย์สำหรับ Cloudflare Workers / Deno Deploy และ Bifrost กับ Mux ในฐานะบริการฝังตัวที่มีการกำกับดูแล → บริการฝังตัว
- 🧩 สิ่งที่รวมมาให้อีกด้วย — เฟรมเวิร์กปลั๊กอิน + มาร์เก็ตเพลส, เฟรมเวิร์กสกิล Omni/Agent/GitHub, การผสานรวม Obsidian vault (เครื่องมือ MCP 22 รายการ), Batch API และ Files API ที่เข้ากันได้กับ OpenAI, แคชการตอบกลับเชิงความหมาย, ระบบเกมมิฟิเคชันพร้อมตารางผู้นำ, การค้นหาเอเจนต์ ACP (เอเจนต์ในตัว 15 รายการ), การส่งออกบันทึกไปยัง BigQuery ตามกำหนดเวลา, การแทรกข้อผิดพลาด
auto/chaos, บริดจ์บอต Telegram, ตัวจัดการเวอร์ชันภายในแอป และการจัดอันดับผู้ให้บริการฟรีแบบ LMArena-ELO → เอกสาร
🤖 CLI และเอเจนต์เขียนโค้ดที่รองรับ
ใช้การกำหนดค่าเดียว —
http://localhost:20128/v1— แล้ว AI IDE หรือ CLI ทุกตัว ก็ทำงานบนโมเดลฟรีและราคาประหยัดได้
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 การตั้งค่าแยกตามเครื่องมือสำหรับเครื่องมือทั้ง 36 รายการ (CLI Code 26 รายการ + CLI Agents 10 รายการ) → docs/reference/CLI-TOOLS.md · 🧩 ปลั๊กอิน OpenCode → @omniroute/opencode-provider
เรียกใช้ CLI ที่รองรับผ่าน OmniRoute ได้ด้วยคำสั่งเดียว — ไม่มีการเขียนไฟล์กำหนดค่า, ข้อมูลประจำตัวจะถูกส่งให้แต่ละโปรเซส และ Qwen/Gemini จะใช้โฮมแบบแยกชั่วคราว:
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 <host>), --dry-run
จะแสดงตัวอย่าง env/args ที่แน่นอนโดยไม่ดำเนินการ และ --api-key-env NAME จะช่วยไม่ให้ข้อมูลลับ
ปรากฏในประวัติคำสั่งของเชลล์ → การผสานรวม CLI
🌐 ผู้ให้บริการ AI 352 ราย — 152 รายมีเครื่องหมายกำกับว่าฟรีในแค็ตตาล็อก
ผู้ให้บริการที่ลงทะเบียนแล้ว 352 ราย ครอบคลุมคอลเลกชันมาตรฐานสำหรับแชต สื่อ การค้นหา โลคัล คลาวด์เอเจนต์ และระบบ โดยในจำนวนนี้ 152 รายมีข้อมูลเมตาสำหรับการค้นพบ
hasFree: trueรีจิสทรีโมเดลแชตครอบคลุม ผู้ให้บริการ 229 ราย / คู่ผู้ให้บริการ-โมเดลที่ไม่ซ้ำกัน 2,554 คู่ / ID โมเดลดิบ 1,283 รายการ ส่วนแค็ตตาล็อกโควตาฟรีที่แยกต่างหากมี ข้อมูลรายโมเดล 443 แถว, พูลแบบหมุนเวียน 34 พูล และ ผู้ให้บริการที่ให้ใช้ฟรีตลอดไปแบบหมุนเวียน/ไม่ต้องใช้คีย์ 53 ราย ตัวหารเหล่านี้แตกต่างกันโดยเจตนา โปรดดูคำจำกัดความและการคำนวณที่ตัดพูลซ้ำออกแล้วใน ข้อมูลอ้างอิงผู้ให้บริการ และ ระดับการใช้งานฟรี
🏢 ห้องปฏิบัติการรายใหญ่ทั้งหมด — ผ่านเอนด์พอยต์เดียว
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…และอีกกว่า 330 ราย — ไอคอนทุกรายการถูกดึงแบบเรียลไทม์จากแค็ตตาล็อกผู้ให้บริการของแดชบอร์ด 📖 ข้อมูลอ้างอิงผู้ให้บริการ
🆓 ฟรีตลอดไป — $0 ไม่ต้องใช้บัตร
📖 แค็ตตาล็อกฉบับเต็มที่เครื่องอ่านได้ → docs/reference/PROVIDER_REFERENCE.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 · เดสก์ท็อป · ถาดแถบเมนู · Termux · PWA · OpenCode
🧩 ใหม่: OmniRoute ภายใน Copilot Chat แบบเนทีฟของ VS Code
ไม่มีแถบด้านข้างใหม่ ไม่มี UI แชตใหม่ — ทุกโมเดลที่ OmniRoute ให้บริการจะแสดงอยู่ใน ตัวเลือกโมเดลของ Copilot Chat ที่คุณใช้อยู่แล้ว ตั้งแต่ VS Code 1.122 เป็นต้นไป โมเดลจากผู้ให้บริการสามารถทำงานได้ โดยไม่ต้องลงชื่อเข้าใช้ GitHub หรือสมัครสมาชิก Copilot — ใช้โหมดเอเจนต์ การเรียกใช้เครื่องมือ และการมองเห็นได้ ฟรี
ติดตั้งส่วนขยาย 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
📖 คู่มือ VS Code Copilot Chat — การตั้งค่า สิ่งที่แสดงในตัวเลือกโมเดล แดชบอร์ดในแท็บ และการแก้ไขปัญหา
🎩 ใหม่: OmniRouteTray — เกตเวย์ของคุณที่อยู่บนแถบเมนู
omniroute serveทำงานได้ดีที่สุดเมื่อเปิดอยู่ตลอดเวลา OmniRouteTray เปลี่ยนสิ่งนี้ให้เป็นแอปบนแถบเมนูสำหรับ macOS ที่ตั้งค่าเพียงครั้งเดียวแล้วปล่อยให้ทำงานได้เลย: แอปจะเริ่มเซิร์ฟเวอร์ รักษาให้ทำงานอยู่เสมอ แม้จะรีบูต อัปเดตให้โดยตรง และทำให้คุณตรวจสอบโควตาโทเค็นแบบเรียลไทม์ได้ในคลิกเดียว — ไม่ต้อง เปิดหน้าต่างเทอร์มินัลทิ้งไว้ และไม่ต้องคอยดูแลnpm install -g omniroute
สร้างด้วย Tauri v2 (แกนหลัก Rust ที่มีขนาดเล็กจนแทบมองข้ามได้) โดยมาพร้อม
รันไทม์ Node 24 ที่ลงนามแล้วในตัว และจัดการการติดตั้ง OmniRoute ที่แอปเป็นเจ้าของ จึงไม่ขัดแย้งกับ
node/bun แบบ global ของคุณ แอป ใช้การกำหนดค่าและฐานข้อมูล ~/.omniroute/ ที่มีอยู่ร่วมกัน — จึงเป็น
OmniRoute ตัวเดียวกับที่คุณใช้งานอยู่แล้ว เพียงแค่สวมหมวกเท่านั้น 🎩
| สิ่งที่ทำ | วิธีการ |
|---|---|
| 🟢 ดูแลเซิร์ฟเวอร์ | เรียกใช้ omniroute serve และรับช่วงอินสแตนซ์ที่กำลังทำงานอยู่แทนการสร้างซ้ำ |
| 📊 ดูการใช้งานแบบเรียลไทม์ได้ในพริบตา | แถบโควตาของผู้ให้บริการ ขีดจำกัดเซสชัน/รายสัปดาห์ของ Claude พร้อมการนับถอยหลังจนกว่าจะรีเซ็ต และรายละเอียดค่าใช้จ่ายย้อนหลัง 30 วัน |
| 🔄 อัปเดตโดยตรงโดยอัตโนมัติ | ติดตั้งแบบเป็นขั้นตอน สลับเวอร์ชันแบบอะตอมมิก และย้อนกลับเมื่อล้มเหลว — ใช้รุ่นล่าสุดอยู่เสมอ |
| 🚀 เริ่มทำงานเมื่อล็อกอิน | เลือกให้เปิดเมื่อล็อกอินได้ ทำงานเฉพาะในถาดระบบโดยไม่มีไอคอนบน Dock |
| 🩺 การวินิจฉัยและบันทึก | วินิจฉัยด้วยคลิกเดียวและเข้าถึงบันทึกของเซิร์ฟเวอร์ |
brew install --cask zoispag/tap/omniroute-tray
ต้องการดาวน์โหลดใช่ไหม? ดาวน์โหลดไฟล์ .dmg ล่าสุดได้จาก
Releases ซอร์สโค้ด รายการปัญหา และเอกสารการบิลด์
อยู่ที่ zoispag/omniroute-tray
💛 โปรเจกต์ชุมชนโดย @zoispag — ไม่ใช่รุ่นเผยแพร่อย่างเป็นทางการของ OmniRoute
🔒 เป็นส่วนตัวและเน้นการทำงานภายในเครื่องเป็นหลัก
📖 การอนุญาต · มาตรการป้องกัน · การปฏิบัติตามข้อกำหนด
🔌 CLI แบบเต็มรูปแบบ + A2A และ MCP
นอกเหนือจากเซิร์ฟเวอร์แล้ว OmniRoute ยังเป็น ศูนย์ควบคุมผ่านบรรทัดคำสั่งแบบเต็มรูปแบบ ที่มี คำสั่งมากกว่า 80 รายการ พร้อมด้วยโปรโตคอลเอเจนต์แบบเปิด เพื่อให้เอเจนต์ AI สามารถควบคุมได้ ด้วยตนเอง
⌨️ CLI ที่แท้จริง (ไม่ใช่แค่ start)
omniroute # ให้บริการเกตเวย์ + แดชบอร์ด (พอร์ต 20128)
omniroute chat # ไคลเอนต์แชต TUI แบบโต้ตอบ (คำสั่งแบบสแลช: /model /combo /skill /memory)
omniroute setup # วิซาร์ดแนะนำการตั้งค่าเมื่อใช้งานครั้งแรก
omniroute doctor # วินิจฉัยผู้ให้บริการ พอร์ต และการพึ่งพาแบบเนทีฟ
🛰️ โหมดระยะไกล — เรียกใช้ CLI ที่นี่ และเรียกใช้ OmniRoute บน VPS
ใช้ OmniRoute บนเซิร์ฟเวอร์อยู่ใช่ไหม? ควบคุมจากแล็ปท็อปของคุณด้วย CLI เดียวกัน เข้าสู่ระบบเพียงครั้งเดียว ด้วยโทเค็นการเข้าถึงแบบกำหนดขอบเขต จากนั้นทุกคำสั่งจะมุ่งไปยังเซิร์ฟเวอร์ระยะไกล
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
📖 โหมดระยะไกล
🤝 เชื่อมต่อเอเจนต์ — แล้วให้เอเจนต์ควบคุม OmniRoute ได้ด้วยตนเอง
เปิดให้เข้าถึง OmniRoute ผ่าน MCP, A2A, REST API, webhooks หรือ CLI ระยะไกล — เอเจนต์ที่มีความสามารถใด ๆ (หรือโค้ดของคุณเอง) จะได้รับกุญแจสำหรับควบคุมเกตเวย์ทั้งหมด ไม่ว่าจะเป็นการกำหนดเส้นทาง ผู้ให้บริการ คอมโบ แคช การบีบอัด และหน่วยความจำ โดยทำงานได้อย่างอัตโนมัติ เอนด์พอยต์ HTTP ด้านล่างให้บริการภายใต้ http://localhost:20128
| อินเทอร์เฟซ | เอนด์พอยต์ / คำสั่ง | ใช้สำหรับ |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | เชื่อมต่อกับ Claude Desktop, Cursor หรือไคลเอนต์ MCP ใด ๆ |
| 🌊 MCP (HTTP) | /api/mcp/stream | MCP ระยะไกล — เครื่องมือ 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 | ควบคุมอินสแตนซ์ระยะไกลด้วยโทเค็นการเข้าถึงแบบกำหนดขอบเขต |
# มอบชุดเครื่องมือ OmniRoute แบบเต็มรูปแบบให้ Claude Code ผ่าน MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
📖 เซิร์ฟเวอร์ MCP · เซิร์ฟเวอร์ A2A · โปรโตคอลเอเจนต์
🗜️ ประหยัดโทเค็น 15–95% — โดยอัตโนมัติ
📖 วิธีการทำงาน — ไปป์ไลน์ สถาปัตยกรรม และการคำนวณการประหยัด
ชุดแบบซ้อนเริ่มต้นทำงานตามลำดับ RTK → Caveman เมื่อทั้งสองทำงานกับเพย์โหลดเครื่องมือ/บริบทเดียวกัน ผลการประหยัดจะทบกัน:
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, Caveman (⭐ 90K+), LLMLingua-2 และ 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:
ก่อน (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: <mode>; source=<source>
ตั้งการทริกเกอร์อัตโนมัติตามเกณฑ์โทเค็น เปิดปุ่มปรับแบบปรับตัวได้ ปักหมุดโปรไฟล์ที่มีชื่อ ตั้งค่าเฉพาะกิจต่อคำขอ หรือกำหนดไปป์ไลน์ให้กับชุดการกำหนดเส้นทาง — เลือกวิธีที่เหมาะกับเวิร์กโหลด ชุดเครื่องมือประเมินผลแบบออฟไลน์ที่ต้องเลือกเปิดใช้ (npm run eval:compression) จะให้คะแนนความเที่ยงตรงเทียบกับการประหยัดบนคอร์ปัสที่ปักหมุดไว้ ก่อนที่คุณจะนำการเปลี่ยนแปลงไปใช้งานจริง
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
⚡ เริ่มต้นอย่างรวดเร็ว
1) ติดตั้งและเรียกใช้
npm install -g omniroute
omniroute
💡 พบ
npm warn ERESOLVEหรือคำเตือนเกี่ยวกับ peer dependency ใช่ไหม? คำเตือนเหล่านี้ไม่เป็นอันตราย
แดชบอร์ดอยู่ที่ http://localhost:20128 · API อยู่ที่ http://localhost:20128/v1
2) เชื่อมต่อผู้ให้บริการฟรี (ไม่ต้องสมัคร)
แดชบอร์ด → ผู้ให้บริการ → เชื่อมต่อ Kiro AI (Claude ฟรี ประมาณ 50 เครดิต/เดือนต่อบัญชี) หรือ OpenCode Free (ไม่ต้องยืนยันตัวตน) → เสร็จเรียบร้อย
3) กำหนดค่าเครื่องมือเขียนโค้ดของคุณ
URL หลัก: http://localhost:20128/v1
คีย์ API: [คัดลอกจากแดชบอร์ด → เอนด์พอยต์]
โมเดล: auto (การกำหนดเส้นทางอัจฉริยะแบบไม่ต้องตั้งค่า — หรือผู้ให้บริการ/โมเดลใดก็ได้)
4) ตรวจสอบว่าระบบทำงาน
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
คุณควรเห็นรายการโมเดลที่เชื่อมต่ออยู่ 🎉 เท่านี้ก็เรียบร้อย — เริ่มเขียนโค้ดได้เลย แล้ว OmniRoute จะกำหนดเส้นทางและสลับไปใช้ตัวสำรองให้คุณโดยอัตโนมัติ
หากไคลเอนต์ของคุณไม่สามารถส่งเฮดเดอร์แบบกำหนดเองได้ OmniRoute ยังมี alias สำหรับความเข้ากันได้ที่ฝังโทเค็นไว้:
แค็ตตาล็อก 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
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 อิมเมจกำหนด 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 |
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 ขณะรันไทม์
ช่องทาง Docker สำหรับรุ่นก่อนเผยแพร่:
diegosouzapw/omniroute:nextและdiegosouzapw/omniroute:next-webจะติดตามบรานช์เริ่มต้นrelease/v*ปัจจุบัน แท็กที่เปลี่ยนแปลงได้เหล่านี้มีไว้สำหรับทดสอบการแก้ไขที่ยังไม่ได้เผยแพร่เท่านั้น และ ไม่รองรับการใช้งานจริง ดู ช่องทางการเผยแพร่ Docker
🥟 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 .)
# ติดตั้งและเรียกใช้ด้วย Bun
bun install
bun run dev
🛠️ จากซอร์สโค้ด
cp .env.example .env && npm install
PORT=20128 npm run dev
📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
🐧 Arch Linux (AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
🔧 Nix (Flake)
# ใช้ Nix flakes
nix develop
npm run dev
# หรือใช้ devbox
devbox run npm run dev
📖 คู่มือ Docker — โปรไฟล์ Compose, Caddy HTTPS และ Cloudflare tunnels
🦭 Podman
# 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 และ
ปฏิบัติตามคำแนะนำเกี่ยวกับไดเรกทอรีข้อมูลสำหรับแต่ละโทโพโลยี
📖 คู่มือ Podman — บิลด์ Compose, Podman Machine และ การตั้งค่า Quadlet สำหรับ Linux/systemd
⚡ การติดตั้งที่เร็วขึ้น / ใช้ทรัพยากรน้อยลง (ข้ามการบิลด์แบบเนทีฟ)
เอนจิน SQLite แบบเนทีฟ (better-sqlite3) เป็นการขึ้นต่อกันแบบ ไม่บังคับ ดังนั้นการติดตั้ง
แบบโกลบอลจะไม่ติดค้างระหว่างคอมไพล์จากซอร์ส: ระบบจะใช้ไบนารีที่บิลด์ไว้ล่วงหน้าเมื่อมีเวอร์ชันที่ตรงกับ
แพลตฟอร์ม/Node ของคุณ และหากไม่มี จะเปลี่ยนไปใช้เอนจิน JavaScript ล้วนโดยอัตโนมัติ
(node:sqlite บน Node 22 ขึ้นไป มิฉะนั้นจะใช้ sql.js WASM ที่รวมมาให้) — ไม่จำเป็นต้องใช้เครื่องมือบิลด์
หากต้องการข้ามการวอร์มอัปแบบเนทีฟหลังการติดตั้งทั้งหมด (CI, ระบบที่ไม่มีหน้าจอ หรือเครื่องที่ทำงานช้า):
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 จะข้ามขั้นตอนนี้ด้วย
เพื่อให้ติดตั้งได้เร็วที่สุด แนะนำให้ใช้ pnpm (ที่เก็บแบบระบุตำแหน่งด้วยเนื้อหา + hard links — ดูด้านบน)
สำหรับรันไทม์แบบไม่มีแดชบอร์ดและไม่มีหน้าจอ ให้ใช้โปรไฟล์ Docker base (ด้านบน) หรือ
คู่มือ Termux CLI และเว็บแดชบอร์ดให้บริการโดยโปรเซสเดียวกันบนพอร์ตเดียว
ดังนั้นในขณะนี้จึงยังไม่มีแพ็กเกจสำหรับ CLI โดยเฉพาะแยกต่างหาก
🎬 การทำงานของ OmniRoute
📹 คู่มือวิดีโอ
ภาพรวมแดชบอร์ด ณ วันที่ 2026-08-24 · แคตตาล็อกดิบ: YT 809 | TT 137 | IG 124 · ความสดใหม่ (วัน): YT 1 | TT 21 | IG 22
อันดับทั้งหมด (URL มาตรฐานที่ขจัดรายการซ้ำแล้ว, v > 0, การเข้าถึงสูงสุด):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | theopenstack — Instagram — 692,419 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 391,109 | buildwithai.club — Instagram — 347,652 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| nivedan.ai — Instagram — 331,973 | vaibhavsisinty — Instagram — 263,744 | Nick Automates — YouTube Shorts — 218,174 | theroshankrishna — Instagram — 186,786 | midudev — TikTok — 177,800 |
เมตริกมาตรฐาน ณ วันที่ 2026-08-24: วิดีโอที่ไม่ซ้ำกัน 1.029 รายการ · ยอดรับชมที่ทราบ 11.132.922 ครั้ง (v > 0) · ช่อง/โปรไฟล์แยกตามเครือข่าย 639 รายการ แดชบอร์ดดิบมีข้อมูล 1.070 แถว โดยรายการ Instagram ที่ซ้ำกัน 41 รายการได้รับการปรับให้เป็นมาตรฐานตาม URL มาตรฐาน และเก็บจำนวนยอดรับชมสูงสุดของแต่ละวิดีโอไว้
🎬 ทำวิดีโอเกี่ยวกับ OmniRoute ไว้ใช่ไหม? เปิด issue หรือ discussion พร้อมแนบลิงก์ — เราจะนำมาแสดงไว้ที่นี่
📧 ชุมชนและความช่วยเหลือ
ทุกอย่างรวมอยู่ในที่เดียว — ติดตามผู้ดูแล พูดคุยกับชุมชน หรือเปิด issue
| ช่องทาง | ที่ไหน / อย่างไร |
|---|---|
| 💼 LinkedIn — ติดตามผู้ดูแลโครงการ | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — ติดตามข่าวสารการเผยแพร่และเคล็ดลับ | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | t.me/omnirouteOficial |
| 🟢 WhatsApp — 🌍 ทั่วโลก | เข้าร่วมกลุ่ม |
| 🟢 WhatsApp — 🇧🇷 บราซิล | เข้าร่วมกลุ่ม |
| 🌍 เว็บไซต์ | omniroute.online |
| 🌍 🌍ชุมชน StHub OmniRoute (ฟรี) | พอร์ทัล StHub |
| 📦 ซอร์สโค้ด | github.com/diegosouzapw/OmniRoute |
| 🐛 รายงานข้อบกพร่อง | เปิด issue — แนบผลลัพธ์จาก npm run system-info |
| 🤝 มีส่วนร่วม | CONTRIBUTING.md · รูปแบบการแตกแขนงและการเผยแพร่ · เลือก good first issue |
| 💚 สนับสนุนโครงการ | ช่องทางการสนับสนุน ↑ · GitHub Sponsors |
🛠️ ชุดเทคโนโลยี
| เลเยอร์ | เทคโนโลยี |
|---|---|
| รันไทม์ | 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 รุ่นเก่า) — โมดูลโดเมน 122 รายการ, การย้ายข้อมูล 176 รายการ |
| หน่วยความจำ | การค้นหาข้อความแบบเต็มด้วย 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 + การยืนยันตัวตน MCP แบบกำหนดขอบเขต · AES-256-GCM สำหรับข้อมูลที่จัดเก็บ · DOMPurify |
| การพรางตัว | wreq-js — การเลียนแบบลายนิ้วมือ TLS แบบ JA3 / JA4, พร็อกซี 3 ระดับ |
| ความยืดหยุ่น | เซอร์กิตเบรกเกอร์, การหน่วงเวลาแบบทวีคูณ, การป้องกันคำขอถาโถมพร้อมกัน, การซ่อมแซมตัวเองด้วย 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 ขั้นตอน: ติดตั้ง → เชื่อมต่อ → กำหนดค่า |
🔧 การปฏิบัติการและการปรับใช้
| เอกสาร | คำอธิบาย |
|---|---|
| คู่มือ Docker | Docker run, โปรไฟล์ Compose, Caddy HTTPS, ทันเนล และแท็กอิมเมจ |
| คู่มือ Podman | การผสานรวม Quadlet systemd, podman-compose และ SELinux |
| การปรับใช้บน VM | คู่มือฉบับสมบูรณ์: การตั้งค่า VM + nginx + Cloudflare |
| การปรับใช้บน Fly.io | ปรับใช้บน Fly.io พร้อมพื้นที่จัดเก็บถาวร |
| คู่มือ Termux | เรียกใช้ OmniRoute บน Android ผ่าน Termux |
| คู่มือ PWA | การติดตั้ง Progressive Web App, การแคช และสถาปัตยกรรม |
| คู่มือการถอนการติดตั้ง | การลบอย่างหมดจดสำหรับวิธีติดตั้งทั้งหมด |
| การกำหนดค่าสภาพแวดล้อม | ตัวแปร .env และข้อมูลอ้างอิงฉบับสมบูรณ์ |
🧠 คุณสมบัติและสถาปัตยกรรม
| เอกสาร | คำอธิบาย |
|---|---|
| สถาปัตยกรรม | สถาปัตยกรรมระบบ การไหลของข้อมูล และการทำงานภายใน |
| คู่มือการบีบอัด | ไปป์ไลน์ 7 ตัวเลือก: ปิด / เบา / มาตรฐาน / เข้มข้น / สูงสุด / RTK / แบบซ้อน |
| การบีบอัด RTK | การบีบอัดเอาต์พุตคำสั่ง ตัวกรอง ความน่าเชื่อถือ การตรวจสอบ และการกู้คืนเอาต์พุตดิบ |
| เอนจินการบีบอัด | Caveman, RTK, ไปป์ไลน์แบบซ้อน และอินเทอร์เฟซแดชบอร์ด/API/MCP |
| รูปแบบกฎการบีบอัด | สคีมาชุดกฎ JSON สำหรับตัวกรอง Caveman และ RTK |
| แพ็กภาษาสำหรับการบีบอัด | การตรวจจับภาษาและการเขียนชุดกฎ Caveman |
| คู่มือความยืดหยุ่นของระบบ | เซอร์กิตเบรกเกอร์ ช่วงพัก คิว การป้องกันคำขอถาโถมพร้อมกัน และการปลอมแปลง TLS |
| เอนจิน Auto-Combo | การให้คะแนนจาก 16 ปัจจัย แพ็กโหมด และการฟื้นฟูตัวเอง |
| คู่มือพร็อกซี | ระบบพร็อกซี 3 ระดับ, มาร์เก็ตเพลส 1proxy และ CRUD ของรีจิสทรี |
| ระดับใช้งานฟรี | ไดเรกทอรีรวม: พูลแบบเกิดซ้ำที่จัดทำเอกสารไว้ 34 รายการ / รายการระดับใช้งานฟรีในแค็ตตาล็อก 452 รายการ |
| แกลเลอรีคุณสมบัติ | ทัวร์ชมแดชบอร์ดด้วยภาพพร้อมภาพหน้าจอ |
| เอกสารประกอบโค้ดเบส | คำแนะนำการทำความเข้าใจโค้ดเบสที่เป็นมิตรกับผู้เริ่มต้น |
🤖 โปรโตคอลและ API
| เอกสาร | คำอธิบาย |
|---|---|
| เอกสารอ้างอิง API | เอนด์พอยต์ทั้งหมดพร้อมตัวอย่าง |
| ข้อกำหนด OpenAPI | ข้อกำหนด OpenAPI 3.0 |
| เซิร์ฟเวอร์ MCP | เครื่องมือ MCP 110 รายการ การกำหนดค่า IDE และไคลเอนต์ Python/TS/Go |
| คู่มือเซิร์ฟเวอร์ MCP | การติดตั้ง MCP การรับส่งข้อมูล และเอกสารอ้างอิงเครื่องมือ |
| เซิร์ฟเวอร์ A2A | โปรโตคอล JSON-RPC 2.0, ทักษะ, การสตรีม และการจัดการงาน |
| คู่มือเซิร์ฟเวอร์ A2A | การ์ดเอเจนต์ A2A, งาน, ทักษะ และการสตรีม |
📋 โปรเจกต์และคุณภาพ
| เอกสาร | คำอธิบาย |
|---|---|
| การมีส่วนร่วม | การตั้งค่าสภาพแวดล้อมการพัฒนาและแนวทางปฏิบัติ |
| โมเดลการแตกแขนงและการเผยแพร่ | PR ควรมุ่งไปที่ใด (release/*) รวมถึงความหมายของ main และแท็ก |
| บันทึกการเปลี่ยนแปลง | ประวัติการเผยแพร่ฉบับสมบูรณ์แยกตามเวอร์ชัน |
| นโยบายความปลอดภัย | การรายงานช่องโหว่และแนวทางปฏิบัติด้านความปลอดภัย |
| คู่มือ i18n | การรองรับ 42 ภาษา เวิร์กโฟลว์การแปล และ RTL |
| รายการตรวจสอบการเผยแพร่ | ขั้นตอนการตรวจสอบความถูกต้องก่อนเผยแพร่ |
| แผนความครอบคลุม | กลยุทธ์ความครอบคลุมของการทดสอบสำหรับการประกาศการทดสอบแบบสแตติกมากกว่า 39,000 รายการ ในไฟล์ทดสอบที่ติดตามมากกว่า 5,100 ไฟล์ |
⭐ ผู้มีส่วนร่วมยอดเยี่ยม
OmniRoute ได้รับการหล่อหลอมจากชุมชนโอเพนซอร์สที่เปี่ยมด้วยความมุ่งมั่น บุคคลเหล่านี้ได้สร้างผลงานอันโดดเด่นซึ่งส่งผลโดยตรงต่อคุณภาพ เสถียรภาพ และการเข้าถึงของโครงการ ขอขอบคุณ
ผู้มีส่วนร่วมภายนอกเรียงตามจำนวน pull request ที่ merge แล้ว
| อันดับ | ผู้มีส่วนร่วม | PR ที่ merge แล้ว | ~บรรทัดที่เปลี่ยนแปลง |
|---|---|---|---|
| 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 โดยรวมการ merge จนถึง 2026-08-24 05:26:03 UTC การสำรวจสำมะโนแบบแบ่งหน้าผ่าน GitHub GraphQL ประกอบด้วย PR ที่ merge แล้ว 5,911 รายการ ได้แก่ 2,707 รายการจากเจ้าของ repository, 179 รายการจาก Dependabot และ PR ภายนอก 3,025 รายการจากผู้มีส่วนร่วมที่ไม่ซ้ำกัน 535 คน “บรรทัดที่เปลี่ยนแปลง” คือจำนวนบรรทัดที่เพิ่ม + ลบตามข้อมูลของ GitHub และรวมไฟล์ที่สร้างขึ้นโดยอัตโนมัติ, lockfile, แค็ตตาล็อก, คำแปล และเอกสาร ตัวเลขนี้สะท้อนปริมาณการเปลี่ยนแปลง ไม่ใช่จำนวนบรรทัดโค้ดที่เขียนขึ้นเอง ผู้ที่มีอันดับเสมอกัน ณ จุดตัดจะยังคงอยู่ในรายการ
commit ที่ระบุแหล่งที่มาบน 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 ตามที่ Contributors API ของรีโพซิทอรีรายงานสำหรับสาขาเริ่มต้น release/v3.8.50 โดย API ส่งคืนข้อมูลประจำตัว 525 รายการ (ผู้ใช้ 415 ราย บอต 2 ราย และผู้ไม่ระบุตัวตน 108 ราย) ตารางนี้ไม่รวมผู้ดูแล บอต และข้อมูลประจำตัวแบบไม่ระบุตัวตน และยังคงแสดงอันดับร่วม ตารางนี้แยกต่างหากจากทั้งการจัดอันดับ PR ที่ผสานแล้วด้านบนและการสำรวจสำมะโนข้อมูลเมตา Git จำนวน 639 คนด้านล่าง
🙏 ฟีเจอร์ การแก้ไขบั๊ก และการปรับปรุงโครงสร้างพื้นฐานของผู้มีส่วนร่วมเหล่านี้เป็น ส่วนสำคัญ ที่ทำให้ OmniRoute มีความน่าเชื่อถือและครบครันด้วยฟีเจอร์ ทุก pull request ทุกกรณีทดสอบ และทุกไฟล์แปล i18n ล้วนมีความสำคัญ โอเพนซอร์สสร้างขึ้นโดยผู้คนเช่นพวกเขา
💖 ผู้สนับสนุน
ขอขอบคุณจากใจจริงแด่ทุกคนที่สนับสนุนเงินทุนให้ OmniRoute จากกระเป๋าของตนเอง — ทุกการสนับสนุนช่วยให้โครงการยังคงใช้งานได้ฟรี เป็นอิสระ และเดินหน้าต่อไป
![]() Andrew 💛 ผู้สนับสนุนรายเดือนที่ยังให้การสนับสนุนอยู่ |
![]() Vlad I 💛 ผู้สนับสนุนรายเดือนที่ยังให้การสนับสนุนอยู่ |
![]() Paco Cartones 💛 ผู้สนับสนุนแบบครั้งเดียวที่ยังให้การสนับสนุนอยู่ |
![]() ศ. Igor Morais 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
![]() longtao 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
… และบุคคลอื่นๆ ที่ประสงค์จะไม่เปิดเผยตัวตน 💛
ผู้สนับสนุนสาธารณะบน GitHub ได้รับการตรวจสอบยืนยันอีกครั้งเมื่อ 2026-08-24 สถานะ activeOnly ของ GitHub ใช้กำหนดป้ายสถานะว่ายังให้การสนับสนุนอยู่ด้านบน ผู้ที่เคยสนับสนุนแบบครั้งเดียวและเปิดเผยต่อสาธารณะก่อนหน้านี้ยังคงได้รับคำขอบคุณ และผู้สนับสนุนแบบส่วนตัวยังคงไม่เปิดเผยตัวตน
💖 ร่วมเป็นผู้สนับสนุน → — ทุกดอลลาร์ช่วยให้ OmniRoute ยังคงใช้งานได้ฟรีและเป็นอิสระ
👥 ผู้มีส่วนร่วมกว่า 600 คน
ตรวจสอบเมื่อ 2026-08-24 โดยใช้ฐานที่ตรึงไว้ ac02c5b42f และตรวจสอบซ้ำที่ปลายล่าสุดของ release/v3.8.50 ซึ่งคือ dafb4ae808: ข้อมูลระบุตัวตน Git ของมนุษย์ที่ผ่านการปรับให้เป็นมาตรฐานแล้ว 639 รายการ — 407 รายการปรากฏในฐานะผู้เขียนคอมมิต (รวมถึงผู้ดูแลโครงการ) และ 232 รายการปรากฏเฉพาะในส่วนท้าย Co-authored-by ที่ระบุไว้อย่างชัดเจน การสำรวจนี้ปรับแฮนเดิล noreply ของ GitHub ให้เป็นมาตรฐาน ไม่นับข้อมูลระบุตัวตนของบอต/เอเจนต์/บริการ/ตัวยึดตำแหน่ง 26 รายการ และไม่รวมที่อยู่อีเมลทั่วไปเข้าด้วยกันเพียงเพราะชื่อที่แสดงตรงกัน
วิธีมีส่วนร่วม
- Fork repository
- สร้าง branch จากปลายล่าสุดของ
release/vX.Y.Zที่ ใช้งานอยู่ (ไม่ใช่main) — ดู รูปแบบ Branching และ Release - สร้าง feature branch ของคุณ (
git checkout -b feat/amazing-feature) - Commit การเปลี่ยนแปลงของคุณ (
git commit -m 'feat: add amazing feature') - Push ไปยัง branch (
git push origin feat/amazing-feature) - เปิด Pull Request โดยกำหนด base = branch
release/vX.Y.Zนั้น
ดูแนวทางโดยละเอียดได้ที่ CONTRIBUTING.md
การเผยแพร่เวอร์ชันใหม่
# สร้าง release — npm publish จะทำงานโดยอัตโนมัติ
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
📊 ดาว
🙏 กิตติกรรมประกาศ
OmniRoute ยืนอยู่บนบ่าของยักษ์ใหญ่ โดยเริ่มต้นจากการเป็น fork ของ 9router และการพอร์ตโปรเจกต์ Go อย่าง 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
⬆ กลับไปด้านบน · สร้างขึ้นด้วย ❤️ เพื่อชุมชน AI แบบโอเพนซอร์ส
OmniRoute v3.8.51 · Node ≥22.22.2 · ใบอนุญาต MIT · omniroute.online





