🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 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
ใช้บัญชีผู้ให้บริการของคุณเอง ตัวเลขนี้เป็นค่าประมาณรวมจากระดับใช้งานฟรีของผู้ให้บริการภายนอกแต่ละรายที่คุณมีสิทธิ์ใช้แยกกัน ไม่ใช่โทเค็นที่ OmniRoute มอบให้ สมัครใช้งาน รับข้อมูลประจำตัวเมื่อจำเป็น และเชื่อมต่อผู้ให้บริการที่คุณสามารถใช้ได้ โดยผู้ให้บริการแต่ละรายเป็นผู้กำหนดขีดจำกัด ความพร้อมให้บริการ และข้อกำหนดของตนเอง
การรวมระดับใช้งานฟรีด้วยตัวเองเป็นเรื่องยุ่งยาก — ต้องจัดการ SDK หลายสิบตัว ขีดจำกัดอัตราการใช้งานหลายสิบรายการ และไม่รู้ว่าจริง ๆ แล้วคุณมีโควตาอยู่เท่าใด OmniRoute รวบรวม รายการระดับใช้งานฟรี 484 รายการ ครอบคลุมคีย์พูลแบบหมุนเวียน 34 คีย์ และคำนวณตัวเลขโทเค็นหลักจาก 17 พูลที่เผยแพร่งบประมาณรายเดือนเป็นค่าบวก บวกกับเพดาน Groq แยกตามโมเดลอีกห้ารายการ โดยตัดรายการซ้ำตามพูลที่ใช้ร่วมกัน โควตาที่เปิดให้ใช้ได้ต่อเมื่อผ่านการตรวจสอบตัวตนตามภูมิภาคเท่านั้น (ปัจจุบันคือ ModelScope) จะแสดงแยกต่างหากเป็น +~6M ซึ่งต้องผ่านการยืนยันตัวตนตามภูมิภาค และจะไม่ถูกรวมไว้ในตัวเลขหลัก ผลลัพธ์จะแสดงอยู่บนแดชบอร์ดเสมอ (
/dashboard/free-tiers)
สรุปแบบเคลื่อนไหวของหน้า
/dashboard/free-tiersแบบสด ดูระเบียบวิธีฉบับเต็ม (การตัดรายการพูลซ้ำ ระดับเครดิต ข้อกำหนดของผู้ให้บริการ): docs/reference/FREE_TIERS.md.ตัวเลขเหล่านี้ได้รับการตรวจสอบซ้ำทุกสองสัปดาห์เทียบกับแค็ตตาล็อกปัจจุบัน และ อาจเปลี่ยนแปลงได้ทั้งเพิ่มขึ้นและลดลง — หากผู้ให้บริการยุติระดับใช้งานฟรี ตัวเลขก็จะลดลง แต่หากมีรายใหม่เพิ่มเข้ามา ตัวเลขก็จะสูงขึ้น เราเผยแพร่ค่าที่แค็ตตาล็อกคำนวณได้จริงเสมอ ไม่ใช่กรณีดีที่สุดที่ปัดตัวเลขขึ้น
👋 ติดตามผู้ดูแล — รับข่าวสารเกี่ยวกับผู้ให้บริการรายใหม่ รุ่นที่เผยแพร่ และเคล็ดลับก่อนใคร:
คำถาม เคล็ดลับเกี่ยวกับผู้ให้บริการ แผนงาน และการสนับสนุน → Discord · Telegram · WhatsApp 🌍 ทั่วโลก / 🇧🇷 บราซิล / พอร์ทัล
| เวอร์ชัน 3.8.50 | เวอร์ชัน 3.8.51 | v3.8.53+ |
|
|---|---|---|---|
| ผู้ให้บริการ 🌐 | 352 | 358 | 380 |
| 🧠 รูปแบบการแชทที่ไม่ซ้ำใคร IDs | 1320 | 1374 | 1475 |
| สะพาน Modality 🖼️ | 🆕 วิสัยทัศน์ + เสียง + วิดีโอ | ✓ | ✓ |
| แคตตาล็อก 📡 Radar ฟรี | เลือกใช้🆕 | ✓ | ✓ |
| ⚖️ การกำหนดเวลาที่รับรู้โควต้า | 🆕 โควต้า-แบ่งปัน | ✓ | ✓ |
| การวัดระยะไกลโควต้า 📊 | 🆕 ถ่ายทอดสด | ✓ | ✓ |
| 🧰 โหมดหัวขาด | — | — | 🆕 serve --headless |
| 🛤️ LTS รางอินฟาเรด | — | — | ช่องทางการเผยแพร่🆕 |
| การค้นพบโมเดล 🔎 API | — | — | 🆕 /v1/models/query |
→ Roadmap — ขี่รถไฟไป v3.9.0 LTS
| 🚀 เริ่มต้น | 🚀 เริ่มต้นอย่างรวดเร็ว | 📦 ติดตั้ง | 🆓 เชื่อมต่อผู้ให้บริการ |
| 💡 เรียนรู้ | 💥 คำมั่นสัญญา | 🤔 ทำไมต้อง OmniRoute | 🏆 สิ่งที่ทำให้แตกต่าง |
| ⚙️ ฟีเจอร์ | 🎯 คอมโบ | 🌐 ผู้ให้บริการ | 🔌 CLI และ MCP |
| 🗜️ การบีบอัด | 🖥️ ทำงานได้ที่ไหน | 🔒 เป็นส่วนตัว | |
| 👀 ดูการทำงาน | 🎬 การทำงานจริง | ✨ มีอะไรใหม่ | 🤖 CLI ที่เข้ากันได้ |
| 💚 สนับสนุน | 💚 สนับสนุน / บริจาค | 💬 ชุมชน | 💖 ผู้สนับสนุน |
| 📦 โปรเจกต์ | 🛠️ เทคโนโลยีที่ใช้ | 📖 เอกสารประกอบ | 👥 ผู้มีส่วนร่วม |
# หลังจากเชื่อมต่อผู้ให้บริการแล้ว คัดลอกคีย์ OmniRoute ของคุณจาก Dashboard → Endpoints:
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 รวมถึง Kiro จะถูกตัดออกจากการกำหนดเส้นทางอัตโนมัติโดยค่าเริ่มต้น การเชื่อมต่อบัญชีไม่สามารถ overriding การตั้งค่านั้นได้ ดู คู่มือ Free Tiers ก่อนเลือกผู้ให้บริการ
📦 สคริปต์ quickstart แบบคัดลอกวางสำเร็จรูปสำหรับ Python, Node.js, PHP และ cURL → examples/quickstart/
ต้องการเข้าร่วมเป็นเพื่อนโอเพนซอร์สหรือไม่? บริษัทเหล่านี้สนับสนุนโอเพนซอร์สและช่วยให้ 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 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 หรือไม่? เปิด issue แล้วเราจะเพิ่มที่นี่
คอมโบ คือสายโซ่ของโมเดลที่ OmniRoute กำหนดเส้นทางผ่านโดย อัตโนมัติ หากโควตาหมด ผู้ให้บริการขัดข้อง หรือค่าใช้จ่ายพุ่งสูง คอมโบจะย้ายไปยังโมเดลถัดไปที่มีสิทธิ์และพร้อมใช้งานได้ 🛡️
ไม่ต้องสร้างคอมโบ เพียงตั้งค่าโมเดลเป็น auto (หรือรูปแบบย่อย) แล้ว OmniRoute จะสร้างคอมโบเสมือนจากผู้ให้บริการที่คุณเชื่อมต่อ พร้อมคำนวณคะแนนแบบเรียลไทม์:
| รหัสโมเดล | สิ่งที่ปรับให้เหมาะสม |
|---|---|
auto | 🎯 ค่าเริ่มต้นที่สมดุล (LKGP — ยึดผู้ให้บริการล่าสุดที่ทำงานได้ดี) |
auto/coding | 🧑💻 ให้น้ำหนักคุณภาพเป็นอันดับแรกสำหรับการสร้างโค้ด |
auto/fast | ⚡ ให้ความหน่วงต่ำที่สุดเป็นอันดับแรก |
auto/cheap | 💰 ให้ราคาต่อโทเค็นที่ถูกที่สุดเป็นอันดับแรก |
auto/subscription | 🎟️ ใช้เฉพาะโควตาการสมัครสมาชิกที่คุณจ่ายอยู่แล้ว — ปิดการทำงานเมื่อไม่สำเร็จ และไม่สลับไปใช้ตัวเลือกที่มีค่าใช้จ่าย (คู่มือ) |
auto/thrifty | 🪜 ใช้โควตาแพ็กเกจก่อน จากนั้นไล่ไปยังตัวเลือกแบบชำระเงินที่ถูกที่สุดทีละขั้น — กลับมาใช้แพ็กเกจอีกครั้งหลังรีเซ็ต (คู่มือ) |
auto/offline | 🔋 ให้โควตา / ขีดจำกัดอัตราการใช้งานที่เหลือมากที่สุดเป็นอันดับแรก |
auto/smart | 🔭 ให้คุณภาพเป็นอันดับแรก + สำรวจ 10% เพื่อค้นหาโมเดลที่ดีกว่า |
auto/lkgp | 📌 ยึดผู้ให้บริการล่าสุดที่ทราบว่าทำงานได้ดีอย่างชัดเจน |
auto/chaos | 🧪 กระจายคำขอแบบขนานไปยังกลุ่มโมเดล (หนึ่งโมเดลต่อผู้ให้บริการ ค่าเริ่มต้นคือ 5 โมเดล) และส่งคืนหนึ่งคำตอบ โดยเรียกต้นทางหนึ่งครั้งต่อหนึ่งโมเดลในกลุ่ม ไม่ใช่การจำลองความขัดข้อง |
กลยุทธ์ 20 แบบทั้งหมด — ผสมและจับคู่ได้ในแต่ละขั้นตอนของคอมโบ:
| # | กลยุทธ์ | การทำงาน |
|---|---|---|
| 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 | quota-weighted |
ข้ามบัญชีที่ใช้โควตาหมดแล้ว จากนั้นสุ่มตามสัดส่วนโควตาคงเหลือ ÷ โหลดที่กำลังประมวลผล — การสนทนาที่มีอยู่จะยังคงผูกกับเป้าหมายเดิม ⚖️ |
| 12 | reset-window |
เลือกเป้าหมายที่รอบโควตาจะรีเซ็ตเร็วที่สุดก่อน |
| 13 | reset-aware |
จัดอันดับตามเวลารีเซ็ตโควตา — รอบสั้นก่อน 📊 |
| 14 | context-relay |
ส่งต่อบริบทระหว่างเป้าหมายสำหรับการสนทนาที่ยาวนาน 🧠 |
| 15 | context-optimized |
เลือกเป้าหมายที่เหมาะสมที่สุดกับขนาดบริบทปัจจุบัน |
| 16 | cache-optimized |
ผูกคำนำหน้าพรอมต์ที่นำกลับมาใช้ใหม่แต่ละรายการไว้กับบัญชีเดิม — เพิ่มการใช้แคชพรอมต์สำเร็จให้สูงสุด 🎯 |
| 17 | lkgp |
เส้นทางล่าสุดที่ทราบว่าทำงานได้ดี — ผูกกับผู้ให้บริการที่ทำงานสำเร็จล่าสุด จากนั้นจึงสลับไปใช้กฎสำรอง |
| 18 | auto |
คำนวณคะแนนแบบเรียลไทม์จาก 16 ปัจจัยสำหรับทุกการเชื่อมต่อ 🤖 |
| 19 | fusion |
กระจายคำขอไปยังกลุ่มโมเดล + ให้โมเดลผู้ตัดสินสังเคราะห์เป็นหนึ่งคำตอบ 🧬 |
| 20 | pipeline |
เชื่อมขั้นตอนเป็นสายโซ่ — เอาต์พุตของแต่ละเป้าหมายจะถูกส่งต่อเป็นอินพุตของเป้าหมายถัดไป 🔗 |
กลไก Auto-Combo ให้คะแนนตัวเลือกทุกรายการตาม 16 ปัจจัย (สถานะการทำงาน, โควตา, ค่าใช้จ่าย, เวลาแฝง, ความเหมาะสมกับงาน, คุณภาพ, ความพร้อมใช้งานของเซสชัน…) — ดู docs/routing/AUTO-COMBO.md
📖 กลไก Auto-Combo · คู่มือความยืดหยุ่นต่อความล้มเหลว
📊 ระเบียบวิธีฉบับเต็มและรายละเอียดแยกตามฟีเจอร์เมื่อเปรียบเทียบกับ 9router, OpenRouter, CLIProxyAPI และ LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
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
หัวข้อสำคัญสำหรับระดับฟรียังคงอยู่ที่ ~1.62B โทเค็น/เดือน จากแค็ตตาล็อกที่มีเอกสารกำกับและมีการขจัดรายการซ้ำระหว่างพูลตามที่ระบุไว้ข้างต้น เครดิตชั่วคราวสำหรับการสมัครใช้งานกับผู้ให้บริการสามารถเพิ่มปริมาณในเดือนแรกแยกต่างหากเป็น ~2.22B Radar เป็นส่วนเสริมแค็ตตาล็อกแบบมีลายเซ็นที่เลือกใช้ได้ สำหรับผู้ที่ต้องการข้อมูลความพร้อมใช้งานของโมเดลฟรีที่เป็นปัจจุบันยิ่งขึ้นในช่วงระหว่างการเผยแพร่ OmniRoute แต่ละรุ่น โดยแค็ตตาล็อกชุมชนและฟีเจอร์ฟรีที่มีอยู่ทั้งหมดจะยังคงใช้งานได้ฟรี
ผู้สนับสนุนสามารถรับแค็ตตาล็อกแบบสดและโอกาสเพิ่มเติมจากผู้ให้บริการ ขีดจำกัดแบบแยกต่างหากซึ่งเปลี่ยนแปลงได้คือ สูงสุดประมาณ 3B โทเค็น/เดือน โดยขึ้นอยู่กับความพร้อมใช้งานของผู้ให้บริการ ขีดจำกัดดังกล่าวไม่ใช่การรับประกัน เนื่องจากผู้ให้บริการสามารถเปลี่ยนโควตา คุณสมบัติผู้มีสิทธิ์ โมเดล หรือภูมิภาคได้ทุกเมื่อ
Radar เป็นฟีเจอร์ที่ต้องเลือกเปิดใช้งานและใช้ GET เท่านั้น ไคลเอนต์ OmniRoute จะไม่อัปโหลดพรอมต์ ทราฟฟิก การกำหนดค่าผู้ให้บริการ ข้อมูลเทเลเมทรีการใช้งาน หรือสถานะการปิดประกาศที่จัดเก็บไว้ภายในเครื่อง ดูข้อมูลเกี่ยวกับคุณสมบัติผู้มีสิทธิ์และแค็ตตาล็อกปัจจุบันได้ที่ radar.omniroute.online/planos
ไฮไลต์ล่าสุดจาก v3.8.20 → v3.8.53 ดูประวัติทั้งหมดได้ใน
CHANGELOG.md
- ⚖️ การกำหนดเส้นทางแบบ
quota-weighted— กลยุทธ์คอมโบลำดับที่ 20 จะข้ามบัญชีที่ใช้โควตาหมดแล้ว จากนั้นเลือกบัญชีที่เหลือตามสัดส่วนโควตาคงเหลือ ÷ ภาระงานที่กำลังดำเนินการ พร้อมคงการสนทนาที่มีอยู่ให้ผูกอยู่กับบัญชีเดิม → Auto-Combo - 🧰 โหมด Headless —
omniroute serve --headless(หรือOMNIROUTE_HEADLESS=1) จะเรียกใช้เฉพาะเอนจินพร็อกซี/v1/*โดยปิดแดชบอร์ดและระบบย่อยที่ใช้เฉพาะกับแดชบอร์ด → โหมด Headless - 🔎 การค้นหาโมเดล —
/v1/modelsกรองตามความสามารถ บริบท ประเภท และข้อความ ส่วนPOST /v1/models/queryจะส่งคืนรายการคัดสรรแบบสั้นที่ให้ผลลัพธ์แน่นอน โดยคงการมองเห็นแยกตามคีย์ในแบบเดียวกัน → ข้อมูลอ้างอิง API - 🔑 การควบคุมการกำหนดเส้นทางแยกตามคีย์ — ผูก API key เข้ากับโมเดลหรือคอมโบเดียวด้วย
forcedModelและเพิ่มหรือลบโมเดลกับคอมโบของคีย์แบบอะตอมมิก (/api/keys/{id}/access) → ข้อมูลอ้างอิง API · OpenAPI - 🛡️ การควบคุม PII ที่ละเอียดยิ่งขึ้น — เลือกแยกตามประเภท รองรับรูปแบบการมาสก์แบบกำหนดเองที่ผ่านการตรวจสอบสูงสุด 20 รูปแบบ และตัวนับการตรวจจับแยกตามประเภท โดยการมาสก์ยังคงต้องเลือกเปิดใช้งาน → Guardrails
- 🌍 67 ภาษา — รองรับแดชบอร์ด สำเนาเอกสาร และ CLI โดย
npm run i18n:add-localeสามารถเพิ่มภาษาได้ทุกส่วนด้วยคำสั่งเดียว → คู่มือ i18n - 🎛️ OmniConductor — การมอบหมายงาน A2A ขาเข้าไปยังกลุ่มเอเจนต์ของคุณ ทักษะ Conductor บน Agent Card และแผงแดชบอร์ดพร้อมการสนทนาด้วยเสียงแบบกดเพื่อพูดของ Faro → เซิร์ฟเวอร์ A2A
- 🛂 การควบคุมการรับโหลดแบบปรับตัวและการป้องกันโอเวอร์โหลด — คำขอแชตที่ใช้ทรัพยากรสูงจะเข้าคิวแทนการตอบกลับ 503 พร้อม rolling lease ของ RPM แบบอะตอมมิกต่อการเชื่อมต่อ → คู่มือความยืดหยุ่น
- 🗂️ ลำดับมาตรฐานของ
/v1/models— หนึ่งบล็อกที่ต่อเนื่องและจัดกลุ่มตามผู้ให้บริการสำหรับผู้ให้บริการแต่ละราย (ปักหมุดคอมโบไว้ก่อน) โดยคงลำดับเสถียรในทุกแหล่งแค็ตตาล็อก → ข้อมูลอ้างอิง API - 🗜️ การเพิ่มความแข็งแกร่งให้การบีบอัด — เปิดใช้ตัวป้องกัน inflation เป็นค่าเริ่มต้น, แพ็ก Caveman สำหรับ DE / FR / JA + ภาษาจีน (wényán), และตัวกรอง RTK สำหรับ Gradle และ .NET → การบีบอัด
- 💸 ต้นทุนอัตราคงที่ตามจริง — ผู้ให้บริการแบบสมัครสมาชิก / แผนสำหรับเขียนโค้ดจะแสดงต้นทุนเป็น $0 ในการวิเคราะห์ต้นทุน ขณะที่ระบบงบประมาณ โควตา และการกำหนดเส้นทางยังคงประมาณการต่อไป → ข้อมูลอ้างอิง API
- ⚖️ การกำหนดเส้นทางแบบ Quota-Share — แบ่งโควตาของบัญชีที่ใช้ร่วมกันให้กับคีย์ในพูลอย่างเป็นธรรม พร้อมใช้ทรัพยากรอย่างเต็มประสิทธิภาพโดยให้ส่วนแบ่งที่ไม่ได้ใช้งานแก่คีย์อื่นยืม → คู่มือความยืดหยุ่น
- 🤖 การตั้งค่า CLI/เอเจนต์ด้วยคำสั่งเดียว — คำสั่ง
setup-*ที่ลงทะเบียนไว้ 15 คำสั่ง;omniroute runเปิดใช้งาน CLI 7 รายการ (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configureรองรับเป้าหมาย 11 รายการ พร้อมตัวเลือกผู้ให้บริการ+โมเดลแบบโต้ตอบและรายการโปรดแยกตามบริบท → การผสานรวม 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-*ในทุก endpoint, เฮดเดอร์การประหยัดจาก cache-HIT และโควตาค่าใช้จ่าย USD แยกตามคีย์ → ข้อมูลอ้างอิง API - 🧠 หน่วยความจำที่คุณควบคุมได้ — ปิดไว้เป็นค่าเริ่มต้น เลือกเปิดใช้การควอนไทซ์เวกเตอร์แบบ int8 + การลดทอนตามประเภท และปิดหน่วยความจำแยกตามคำขอได้ด้วย
x-omniroute-no-memory→ หน่วยความจำ - 🛡️ ความปลอดภัย — ตัวป้องกัน prompt injection ในทุกเส้นทาง LLM (ชุดทดสอบ red-team), guardrail สำหรับมาสก์ข้อมูลรับรองแบบเลือกเปิดใช้ (ปกปิด API key/ข้อมูลลับที่รั่วไหลในทั้งสองทิศทาง), การค้นหาเว็บสำรองลำดับสุดท้ายผ่าน DuckDuckGo โดยไม่มีค่าใช้จ่าย และเกตล็อกอิน OIDC แบบไม่บังคับสำหรับแดชบอร์ด (ยังคงใช้การล็อกอินด้วยรหัสผ่านได้เสมอ) → Guardrails
- 🖼️ Endpoint ใหม่ —
/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 ระดับ first-class, Claude Opus 5 และ Sonnet 5, ความร่วมมืออย่างเป็นทางการกับ Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… และ แค็ตตาล็อกผู้ให้บริการ 380 ราย ที่ปรับปรุงใหม่ → ผู้ให้บริการ
- 📡 ความโปร่งใสในการกำหนดเส้นทาง — ทุกการตอบกลับมีเฮดเดอร์
X-OmniRoute-Decisionที่ระบุกลยุทธ์/ผู้ให้บริการ/เวลาแฝงที่ใช้ให้บริการ, กลยุทธ์คอมโบใหม่cache-optimized+ ปัจจัยcacheAffinityของ Auto-Combo จะส่งคำขอซ้ำกลับไปยังการเชื่อมต่อที่เก็บ prefix ไว้ในแคช และ endpoint แบบอ่านอย่างเดียว/v1/auto-combo/{channel}/candidatesจะแสดงพูลผู้สมัครปัจจุบันของช่องทางauto/*→ Auto-Combo - ⚡ ประสิทธิภาพและโครงสร้างพื้นฐานภายในเครื่อง — Redis ภายในเครื่องแบบคลิกเดียว, ตัวช่วยปรับใช้รีเลย์สำหรับ Cloudflare Workers / Deno Deploy, รวมถึง Bifrost และ Mux ในรูปแบบบริการฝังตัวที่มีการกำกับดูแล → บริการฝังตัว
- 🧩 สิ่งอื่น ๆ ที่รวมมาให้ — เฟรมเวิร์กปลั๊กอิน + มาร์เก็ตเพลส, เฟรมเวิร์กทักษะ Omni/Agent/GitHub, การผสานรวมคลัง Obsidian (เครื่องมือ MCP 22 รายการ), Batch & Files APIs ที่เข้ากันได้กับ OpenAI, แคชการตอบกลับเชิงความหมาย, ระบบเกมมิฟิเคชันพร้อมกระดานผู้นำ, การค้นหาเอเจนต์ผ่าน ACP (เอเจนต์ในตัว 15 รายการ), การส่งออกบันทึกตามกำหนดเวลาไปยัง BigQuery, การกระจายงานแบบหลายโมเดลขนาน
auto/chaos, บริดจ์บอต Telegram, ตัวจัดการเวอร์ชันภายในแอป และการจัดอันดับผู้ให้บริการฟรีแบบ LMArena-ELO → เอกสาร
หนึ่งการกำหนดค่า —
http://localhost:20128/v1— และ** ทั้งหมด** AI IDE หรือ CLI ทำงานบนโมเดลฟรีและราคาประหยัด
Claude |
Codex CLI |
Cline |
รหัสกิโล |
รหัสสวนสัตว์ |
ดำเนินการ |
คิวเอ เดอร์ ซคิวฟ คิวก ซคิว กี |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
โรงงาน Droid |
Copilot CLI |
Cursor CLI |
กลิ่นเหม็น |
Pi |
Grok สร้าง |
ตัวแทน Hermes |
OpenClaw |
ห่าน |
ล่ามเปิด |
Warp AI |
deyin.ai |
📖 การตั้งค่าเครื่องมือต่อสำหรับเครื่องมือทั้งหมด 38 รายการ (27 รหัส CLI ของ + 11 CLI Agents) → 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"
# Or pick provider+model interactively and write the tool's own config:
omniroute configure codex # also: claude opencode qwen aider goose gemini cline continue kilo 5diveทุกคำสั่งจะยึดตามบริบทระยะไกลที่ใช้งานอยู่ (omniroute connect <host>) --dry-run จะดูตัวอย่าง env/args ที่แน่นอนโดยไม่ต้องดำเนินการ และ --api-key-env NAME จะเก็บความลับไว้ในประวัติเชลล์ของคุณ การรวมระบบ → CLI
ผู้ให้บริการที่ลงทะเบียนแล้ว 380 ราย ครอบคลุมคอลเลกชันมาตรฐานด้านแชต สื่อ การค้นหา ระบบภายในเครื่อง เอเจนต์บนคลาวด์ และระบบ โดยมี 153 รายที่มาพร้อมข้อมูลเมตาสำหรับการค้นพบ
hasFree: trueรีจิสทรีโมเดลแชตครอบคลุม ผู้ให้บริการ 239 ราย / คู่ผู้ให้บริการ-โมเดลที่ไม่ซ้ำกัน 3,059 คู่ / ID โมเดลดิบ 1,475 รายการ ส่วนแค็ตตาล็อกงบประมาณฟรีที่แยกต่างหากมี ข้อมูลรายโมเดล 471 แถว พูลแบบเกิดซ้ำ 34 พูล และ ผู้ให้บริการที่ใช้งานฟรีถาวรแบบเกิดซ้ำ/ไม่ต้องใช้คีย์ 52 ราย ตัวหารเหล่านี้แตกต่างกันโดยเจตนา โปรดดูคำจำกัดความและการคำนวณที่ขจัดพูลซ้ำได้ใน ข้อมูลอ้างอิงผู้ให้บริการ และ ระดับการใช้งานฟรี
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…และอีกกว่า 350 ราย — ไอคอนทั้งหมดถูกดึงแบบสดจากแค็ตตาล็อกผู้ให้บริการของแดชบอร์ด 📖 ข้อมูลอ้างอิงผู้ให้บริการ
📖 แคตตาล็อกฉบับเต็มที่เครื่องอ่านได้ → docs/reference/PROVIDER_REFERENCE.md
แพลตฟอร์ม (OmniRouteTray) zqlแอพเดียวกัน เครื่องของคุณ กฎของคุณ จากการติดตั้ง npm ทั่วโลกเป็น** โทรศัพท์ของคุณ** ผ่านทาง Termux
| ติดตั้ง | ไฮไลท์ | |
|---|---|---|
| 📦 npm (ทั่วโลก) | npm ติดตั้ง -g omniroute | หนึ่งคำสั่ง OS |
| ⚡ Bun (ทั่วโลก) | bun เพิ่ม -g omniroute | tarball รีจิสทรีเดียวกัน ติดตั้งเร็วขึ้น |
| 🐳 Docker | docker run … diegosouzapw/omniroute | หลาย AMD64 + ARM64 |
| 🖥️ Desktop (Electron) | npm run อิเล็กตรอน: สร้าง | หน้าต่างดั้งเดิม + ระบบ zqm — Windows / macOS / Linux |
| 🎩 | ||
brew ติดตั้ง --cask zoispag/tap/omniroute-tray | ดูแล & อัปเดตเซิร์ฟเวอร์อัตโนมัติ — macOS | |
| 💪 ARM | ดั้งเดิม arm64 | Raspberry Pi, เซิร์ฟเวอร์ ARM, Apple Silicon |
| 📱 Android (Termux) | pkg ติดตั้ง nodejs && npx -y omniroute | บนโทรศัพท์ของคุณ , 24/7, ไม่มีรูท |
| 📲 PWA | "เพิ่มไปที่หน้าจอหลัก" | เต็มหน้าจอ ออฟไลน์ ติดตั้งได้จากเบราว์เซอร์ |
| 🧩 OpenCode | @omniroute/opencode-provider | การ OpenCode zqn ดั้งเดิม |
| 🤖 VS รหัส Copilot แชท | ติดตั้ง OmniCopilot ส่วนขยาย | ทุกรุ่น OmniRoute ในตัวเลือกการแชท Copilot ดั้งเดิม — เสถียร & คนวง |
| 🛠️ จากแหล่งที่มา | npm ติดตั้ง && npm เรียกใช้ dev | แฮ็กมันสนับสนุน |
📖 Docker Guide · เดสก์ท็ อป · ถาดแถบเมนู · Termux · PWA · OpenCode
ไม่มีแถบด้านข้างใหม่ ไม่มีแชทใหม่ UI — ทุกรุ่นที่ OmniRoute ให้บริการจะแสดงขึ้นมาใน** เครื่องมือเลือกโมเดลการแชท Copilot ที่คุณใช้อยู่แล้ว** . ตั้งแต่ VS Code 1.122 โมเดลของผู้ให้บริการจะทำงานโดยไม่ต้องลงชื่อเข้าใช้ GitHub หรือสมัครสมาชิก Copilot — โหมดตัวแทน การเรียกใช้เครื่องมือ และการมองเห็น ได้ฟรี
ติดตั้ง** OmniCopilot** ส่วนขยาย ชี้ไปที่เซิร์ฟเวอร์ OmniRoute ของคุณ (ค่าเริ่มต้นคือ localhost:20128) จากนั้นเปิด Copilot Chat เครื่องมือเลือกโมเดล → →** จัดการโมเดล...** →OmniRoute .
| Store | ลิงก์ | ทำงานร่วมกับ |
|---|---|---|
| 🧩 VS Code Marketplace | ติดตั้ง → | |
| 🔓 เปิด VSX Registry | ติดตั้ง → |
จากภายในตัวแก้ไข: เปิดไฟล์** ส่วนขยาย** ดูค้นหา** "OmniRoute"** คลิก** ติดตั้ง** — ทำงานในลักษณะเดียวกันทั้งสองร้าน ที่มา ประเด็น และ runbook การเผยแพร่ ถ่ายทอดสดที่ diegosouzapw/OmniCopilot
📖 VS Code Copilot Chat guide — การตั้งค่า สิ่งที่ตัวเลือกแสดง แดชบอร์ดในแท็บ การแก้ไขปัญหา
omniroute serveมีความสุขที่สุดเมื่อเปิดอยู่เสมอ** OmniRouteTray** เปลี่ยนสิ่งนั้นให้เป็นแอปแถบเมนูที่ตั้งค่าและลืมสำหรับ macOS: มันเริ่มต้นเซิร์ฟเวอร์ ทำให้มันคงอยู่ตลอดการรีบูต อัปเดตมัน และทำให้งบประมาณโทเค็นสดของคุณเพียงคลิกเดียว -** ไม่มีหน้าต่างเทอร์มินัลเปิดทิ้งไว้ ไม่มีnpm install -g omnirouteที่จะดูแลเด็ก**
สร้างขึ้นด้วย Tauri v2 (แกน Rust ขนาดของข้อผิดพลาดในการปัดเศษ) โดยจัดส่งรันไทม์ Node 24 ที่ลงนามของตัวเองและจัดการการติดตั้ง OmniRoute ที่เป็นของแอป ดังนั้นจึงไม่เคยต่อสู้กับ node/bun ทั่วโลกของคุณ มัน** แชร์การกำหนดค่า ~/.omniroute/ และฐานข้อมูลที่มีอยู่ของคุณ** — มันก็เหมือนกับ OmniRoute คุณวิ่งอยู่แล้ว แค่สวมหมวก 🎩
| มันทำอะไร | |
|---|---|
| 🟢 ดูแลเซิร์ฟเวอร์ | วางไข่ omniroute ให้บริการ ใช้อินสแตนซ์ที่ทำงานอยู่แล้วแทนที่จะทำซ้ำ |
| 📊 การใช้งานสดได้อย่างรวดเร็ว | แถบโควต้าของผู้ให้บริการ, Claude session/weekly จำกัดพร้อมการนับถอยหลังรีเซ็ต, รายละเอียดต้นทุน 30 วัน |
| 🔄 อัปเดตอัตโนมัติในสถานที่ | การติดตั้งแบบเป็นฉาก, การสลับอะตอมมิก, การย้อนกลับเมื่อเกิดความล้มเหลว - เป็นเวอร์ชันใหม่ล่าสุดเสมอ |
| 🚀 เริ่มต้นเมื่อเข้าสู่ระบบ | ตัวเลือกการเปิดตัวเมื่อเข้าสู่ระบบ; เฉพาะถาดเท่านั้น ไม่มีไอคอนท่าเรือ |
| 🩺 Doctor บันทึก & | การวินิจฉัยด้วยคลิกเดียวและการเข้าถึงบันทึกเซิร์ฟเวอร์ |
brew install --cask zoispag/tap/omniroute-tray ต้องการดาวน์โหลดหรือไม่? รับ .dmg ล่าสุดจาก
เผยแพร่ แหล่งที่มา ปัญหา และสร้าง
เอกสารอยู่ที่ zoispag/omniroute-tray
💛 โครงการชุมชนโดย @zoispag — ไม่ใช่ OmniRoute release อย่างเป็นทางการ
📖 การอนุญาต · มาตรการป้องกัน · การปฏิบัติตามข้อกำหนด
นอกเหนือจากเซิร์ฟเวอร์แล้ว OmniRoute ยังเป็น ศูนย์ควบคุมผ่านบรรทัดคำสั่งแบบเต็มรูปแบบ ที่มี คำสั่งมากกว่า 80 รายการ พร้อมโปรโตคอลแบบเปิดสำหรับเอเจนต์ เพื่อให้เอเจนต์ AI สามารถควบคุมได้ ด้วยตนเอง
omniroute # ให้บริการเกตเวย์ + แดชบอร์ด (พอร์ต 20128)
omniroute chat # ไคลเอนต์แชต TUI แบบโต้ตอบ (คำสั่งแบบสแลช: /model /combo /skill /memory)
omniroute setup # วิซาร์ดแนะนำการตั้งค่าครั้งแรก
omniroute doctor # วินิจฉัยผู้ให้บริการ พอร์ต และการพึ่งพาแบบเนทีฟใช้ OmniRoute บนเซิร์ฟเวอร์อยู่ใช่ไหม? ควบคุมจากแล็ปท็อปของคุณด้วย CLI เดียวกัน เข้าสู่ระบบเพียงครั้งเดียว ด้วยโทเค็นการเข้าถึงที่จำกัดขอบเขต จากนั้นทุกคำสั่งจะทำงานกับเครื่องรีโมต
omniroute connect 192.168.0.15 # รหัสผ่าน → โทเค็นแบบจำกัดขอบเขต บันทึกเป็นบริบท
omniroute models # ← ทำงานกับเซิร์ฟเวอร์รีโมต
omniroute configure codex # ← เลือกโมเดลรีโมตและเขียนโปรไฟล์ Codex ในเครื่อง
omniroute tokens create --name ci --scope read # สร้างโทเค็นที่มีขอบเขตแคบลงสำหรับเครื่องอื่น
omniroute contexts use default # ← สลับกลับไปยังเซิร์ฟเวอร์ในเครื่องโทเค็นมีขอบเขต read / write / admin; เส้นทางที่เรียกใช้โปรเซสยังคงจำกัดเฉพาะลูปแบ็ก
📖 โหมดรีโมต
เปิดให้เข้าถึง OmniRoute ผ่าน MCP, A2A, REST API, เว็บฮุก หรือ 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 — แชต เอ็มเบดดิง รูปภาพ เสียง และ OCR |
| 🔔 เว็บฮุก | /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 · โปรโตคอลสำหรับเอเจนต์
ชุดค่าผสมแบบซ้อนทับเริ่มต้นทำงานเป็น 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)
เอนจินทำงานตามลำดับของไปป์ไลน์ แต่ละตัวเปิด/ปิดและกำหนดค่าแยกกันได้ตามแต่ละชุดค่าผสม:
| # | เอนจิน | สิ่งที่ทำ |
|---|---|---|
| 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 ยังคงล็อกไว้เป็นค่าเริ่มต้นแบบ fail-closed จนกว่าจะมีใบรับรองจากผู้ให้บริการ โปรไฟล์การบีบอัด 4 แบบ (ค่าเริ่มต้นแบบ aggressive, balanced, coding-safe, passthrough) (ก้าวร้าวที่สุด; ต้องเลือกเปิดเอง) |
บล็อกโค้ด, 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 ของคุณเรนเดอร์ซ้ำน่าจะเป็นเพราะคุณสร้างอ็อบเจกต์อ้างอิงใหม่ในทุกรอบการเรนเดอร์ เมื่อคุณส่งอ็อบเจกต์แบบอินไลน์เป็นพร็อพ การเปรียบเทียบแบบตื้นของ React จะมองว่ามันเป็นอ็อบเจกต์ที่แตกต่างกันทุกครั้ง ซึ่งกระตุ้นให้เกิดการเรนเดอร์ซ้ำ ฉันแนะนำให้ใช้ useMemo เพื่อบันทึกค่าอ็อบเจกต์"
หลัง (19 โทเค็น): "สร้างออบเจกต์อ้างอิงใหม่ทุกรอบเรนเดอร์ พร็อพแบบอ็อบเจกต์อินไลน์ = อ้างอิงใหม่ = เรนเดอร์ซ้ำ ห่อด้วย useMemo"
คำตอบเดียวกัน ประหยัดโทเค็นกว่า 72% สูญเสียความแม่นยำเป็นศูนย์ ✅
ตัวอย่าง PT-BR — โหมด Troglodita:
ก่อน (42 tokens): "ปัญหาคือคอมโพเนนต์กำลังรีเรนเดอร์เพราะมีการสร้าง object reference ใหม่ในทุก ๆ รอบการเรนเดอร์ ผมแนะนำให้ใช้ useMemo"
หลัง (12 tokens): "รีเรนเดอร์: ref ใหม่ทุกรอบ (object inline ถูกสร้างใหม่) ใช้
useMemo"คำตอบเดียวกัน ~70% tokens น้อยลง ความแม่นยำทางเทคนิคยังคงอยู่ ✅
12 เอนจินข้างต้นย่อสิ่งที่ เข้าไป มีอีกสามชั้นที่กำหนด อย่างไร, เมื่อไร, และสิ่งที่ ออกมา:
- 🪄 Output Styles (การบังคับทิศทางฝั่งเอาต์พุต) — ใส่คำสั่งกำหนดรูปคำตอบที่แน่นอนและปลอดภัยต่อแคช; ผสมผสานได้ แต่ละแบบมีระดับ
lite/full/ultraการเพิ่มสไตล์คือการเพิ่มรายการใน registry หนึ่งบรรทัด:- Terse prose — ตัดคำฟุ่มเฟือย / คำนำหน้านาม / คำคลุมเครือ; รักษาสาระทางเทคนิคให้แม่นยำ
- Less code — YAGNI แบบ "lazy senior dev": การเปลี่ยนแปลงที่ใช้งานได้เล็กที่สุด ไม่มีโครงสร้างที่ไม่ได้ขอ
- Ponytail (lazy senior dev) — ไต่บันได YAGNI, แก้ที่ต้นเหตุ, diff ที่ใช้งานได้เล็กที่สุด
- I have ADHD (action-first) — นำด้วยการกระทำถัดไป, ขั้นตอนมีหมายเลข, ขั้นตอนถัดไปที่ชัดเจนหนึ่งข้อ, ไม่มีบทนำ
- Terse CJK (文言) — สไตล์จีนคลาสสิกกระชับสุด ๆ (จำกัดตาม locale เป็น
zh)
- 🎯 Adaptive context-budget (ปุ่มปรับ) — แทนที่จะใช้เกณฑ์ token เปิด/ปิดอย่างเดียว ให้เพิ่มเอนจินที่ถูกที่สุดและสูญเสียน้อยที่สุดเท่าที่จำเป็นเพื่อ ให้พอดีกับ context window ของโมเดล นโยบาย:
reserve-output(ค่าเริ่มต้น, รับรู้โมเดล) ·percentage·absoluteโหมด:floor(รับประกันว่าพอดี) ·replace-autotrigger(ตัวเลือกที่คุณระบุชัดเจนชนะ) ·off(เกณฑ์แบบเดิม) - 🎛️ ที่ที่ตัดสินใจบีบอัด (ลำดับความสำคัญ, สูง → ต่ำ) — header
x-omniroute-compressionต่อคำขอ › การ override ของ routing-combo › named profile ที่ใช้งานอยู่ › adaptive / auto-trigger › ค่าเริ่มต้นของ panel › ปิด แผนที่ใช้จะสะท้อนกลับมาใน header ตอบกลับX-OmniRoute-Compression: <mode>; source=<source>
ทริกเกอร์อัตโนมัติตามเกณฑ์ token, เปิดปุ่มปรับแบบอะแดปทีฟ, ตรึง named profile, ตั้งค่าใช้ครั้งเดียวต่อคำขอ, หรือกำหนด pipeline ต่อ routing combo — แล้วแต่สิ่งที่เหมาะกับงาน ในฐานะตัวเลือกเสริมมี eval harness แบบออฟไลน์ (npm run eval:compression) ที่ให้คะแนนความถูกต้องเทียบกับการประหยัดบน corpus ที่ตรึงไว้ก่อนที่คุณจะเลื่อนระดับการเปลี่ยนแปลง
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
1) ติดตั้ง & รัน
npm install -g omniroute
omniroute💡 เจอ
npm warn ERESOLVEหรือคำเตือน peer-dep อยู่หรือเปล่า? มันไม่เป็นอันตราย ใช้ npm 11 หรือใหม่กว่าอยู่หรือเปล่า? npm อาจบล็อก lifecycle script ของแพ็กเกจ เว้นแต่จะได้รับอนุญาตpostinstallของ OmniRoute (node scripts/build/postinstall.mjs) จำเป็นสำหรับการเตรียมไฟล์ runtime แบบเนทีฟ อนุญาตแพ็กเกจที่ระบุในคำเตือนของ npm เมื่อติดตั้งแบบ global สำหรับชุดแพ็กเกจที่ OmniRoute 3.8.53 รายงาน:npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omnirouteหากต้องการใช้ allowlist นี้ซ้ำสำหรับการติดตั้งแบบ global ในอนาคต ให้กำหนดค่าครั้งเดียว แล้วติดตั้งตามปกติ:
npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user npm install -g omnirouteรายการ dependency อาจเปลี่ยนแปลงได้ระหว่างเวอร์ชัน; หาก npm รายงานรายการที่ต่างออกไป ให้ใช้ชื่อแพ็กเกจจากคำเตือนนั้น การอนุญาตแพ็กเกจคือการอนุญาตให้สคริปต์ติดตั้งของมันทำงาน ใช้ Gemini Web หรือผู้ให้บริการ web-cookie อื่นอยู่หรือเปล่า? แพ็กเกจ npm รวม Playwright ไว้แต่ไม่ได้รวมไบนารี Chromium ของมัน ดูบันทึก การตั้งค่า Playwright Chromium ก่อนทำคำขอ web-provider ครั้งแรก
แดชบอร์ดที่ http://localhost:20128 · API ที่ http://localhost:20128/v1
2) เชื่อมต่อผู้ให้บริการที่เข้าเกณฑ์โดยใช้บัญชีของคุณเอง
แดชบอร์ด → Providers → เลือกผู้ให้บริการที่ข้อกำหนดและโควตาปัจจุบันเหมาะกับกรณีการใช้งานของคุณ → เพิ่ม API key หรือทำขั้นตอนบัญชีให้เสร็จ ระดับฟรีอาจต้องสมัครสมาชิก, อนุมัติ, หรือมีวิธีชำระเงิน อ่าน คู่มือระดับฟรี; ไม่รับประกันความพร้อมใช้งานแบบไม่ใช้คีย์ และผู้ให้บริการที่ทำเครื่องหมาย tos: avoid จะถูกตัดออกจาก auto โดยค่าเริ่มต้น
3) ชี้เครื่องมือเขียนโค้ดของคุณ
Base URL: http://localhost:20128/v1
API Key: [คัดลอกจาก Dashboard → Endpoints]
Model: auto (route ระหว่างการเชื่อมต่อที่เข้าเกณฑ์ — หรือเลือก provider/model)4) ตรวจสอบว่าทำงานอยู่
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"คุณควรเห็นโมเดลที่เชื่อมต่อของคุณแสดงอยู่ในรายการ 🎉 เท่านี้เอง — เริ่มเขียนโค้ดได้เลย และ OmniRoute จะ route อัตโนมัติ & fallback ให้คุณ
หากไคลเอนต์ของคุณไม่สามารถส่ง custom header ได้ OmniRoute ยังมี alias เพื่อความเข้ากันได้แบบ tokenized ให้ด้วย:
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tagsใช้สิ่งเหล่านี้เฉพาะกับไคลเอนต์ที่ไม่สามารถแนบ Authorization: Bearer ... ได้ การยืนยันตัวตนผ่าน header ยังคงเป็นโหมดที่แนะนำ
🐳 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 โดยเฉพาะแยกต่างหาก
ภาพรวมแดชบอร์ด ณ วันที่ 2026-10-18 · แค็ตตาล็อกดิบ: YT 1.352 | TT 334 | IG 290 · ความใหม่ (วัน): YT 5 | TT 48 | IG 49
อันดับทั้งหมด (URL มาตรฐานที่ลบรายการซ้ำแล้ว, v > 0, การเข้าถึงสูงสุด):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | nnapier7 — Instagram — 1,454,535 | Amidia AI & Tech — YouTube — 794,974 | theopenstack — Instagram — 692,419 | migue.baena — TikTok — 685,788 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| milesreevesai — TikTok — 620,400 | nikothetech — TikTok — 610,803 | Vaibhav Sisinty — YouTube — 509,281 | buildwithai.club — Instagram — 347,652 | nivedan.ai — Instagram — 331,973 |
เมตริกมาตรฐาน ณ วันที่ 2026-10-18: วิดีโอที่ไม่ซ้ำกัน 1.976 รายการ · ยอดดูที่ทราบ 20.220.289 ครั้ง (v > 0) · ช่อง/โปรไฟล์แยกตามเครือข่าย 1.210 รายการ แดชบอร์ดดิบมีข้อมูล 1.976 แถว (YouTube 1.352 = วิดีโอขนาดยาว 740 รายการ + Shorts 612 รายการ · TikTok 334 · Instagram 290) โดยไม่มีรายการซ้ำเหลืออยู่หลังจากปรับ URL ให้เป็นรูปแบบมาตรฐาน ซึ่งจะเก็บจำนวนยอดดูสูงสุดของแต่ละวิดีโอไว้ การรวบรวมข้อมูลจาก YouTube ถูกระงับไว้ที่วันที่ 2026-10-13 (โควตา API หมดตั้งแต่วันที่ 14 ถึง 18/10) ส่วน TikTok/Instagram ถูกระงับตั้งแต่วันที่ 2026-09-02 (ไม่มีเครดิตสำหรับการรวบรวมข้อมูล) และยังมีวิดีโอ 76 รายการที่ไม่มีข้อมูลจำนวนยอดดู
🎬 สร้างวิดีโอเกี่ยวกับ OmniRoute ใช่ไหม? เปิด issue หรือ discussion พร้อมแนบลิงก์ — เราจะนำมาแสดงไว้ที่นี่
ทุกอย่างรวมอยู่ในที่เดียว — ติดตามผู้ดูแล พูดคุยกับชุมชน หรือเปิด issue
| ช่องทาง | ที่ไหน / อย่างไร |
|---|---|
| 💼 LinkedIn — ติดตามผู้ดูแลโปรเจกต์ | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — ติดตามข่าวรีลีสและเคล็ดลับ | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| 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 journaling) + LowDB (JSON legacy) — 147 โมดูลโดเมน, 219 การย้ายข้อมูล (migrations) |
| หน่วยความจำ | SQLite FTS5 แบบ full-text + เวกเตอร์ embedding ที่ควอนไทซ์แบบ int8, การลดทอนแบบมีชนิด (typed decay) |
| สคีมา | Zod 4 — การตรวจสอบอินพุต/เอาต์พุตของเครื่องมือ 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 ระดับ |
| ความทนทาน | Circuit breaker, exponential backoff, anti-thundering-herd, การฟื้นฟูตัวเองของ auto-combo |
| การบันทึก日志 | pino — บันทึกแบบ JSON ที่มีโครงสร้างพร้อมบริบทของคำขอ |
| การทดสอบ | Node.js test runner + Vitest — การประกาศการทดสอบแบบคงที่กว่า 56,000 รายการ ในไฟล์ทดสอบที่ติดตามกว่า 7,800 ไฟล์ (unit, integration, E2E, security, ecosystem) |
| แพลตฟอร์ม | เดสก์ท็อป (Electron) · Android (Termux) · PWA (เบราว์เซอร์ใดก็ได้) |
| CI/CD | GitHub Actions — เผยแพร่ npm อัตโนมัติ + Docker Hub เมื่อออกเวอร์ชัน |
| ลิงก์ | เว็บไซต์ · npm · Docker Hub |
| เอกสาร | คำอธิบาย |
|---|---|
| คู่มือผู้ใช้ | ผู้ให้บริการ คอมโบ การผสานรวม CLI และการปรับใช้ |
| คู่มือการตั้งค่า | วิธีติดตั้งทั้งหมด การกำหนดค่าเครื่องมือ CLI การตั้งค่าโปรโตคอล และการปรับแต่งระยะหมดเวลา |
| คู่มือเครื่องมือ CLI | การตั้งค่าแยกตามเครื่องมือสำหรับ Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo และ Copilot |
| โหมดระยะไกล | ควบคุม OmniRoute ระยะไกล (VPS) จาก CLI บนแล็ปท็อปผ่านโทเค็นการเข้าถึงแบบจำกัดขอบเขต |
| การกำหนดค่า Claude Code | เชื่อม Claude Code เข้ากับ OmniRoute (ภายในเครื่อง/ระยะไกล) ด้วย launch และโปรไฟล์แยกตามโมเดล |
| เริ่มต้นอย่างรวดเร็ว | 3 ขั้นตอน: ติดตั้ง → เชื่อมต่อ → กำหนดค่า |
| เอกสาร | คำอธิบาย |
|---|---|
| คู่มือ Docker | การเรียกใช้ Docker, โปรไฟล์ 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 ตัวเลือก: off / lite / standard / aggressive / ultra / RTK / stacked |
| การบีบอัด RTK | การบีบอัดผลลัพธ์คำสั่ง ตัวกรอง ความน่าเชื่อถือ การตรวจสอบ และการกู้คืนผลลัพธ์ดิบ |
| เอนจินการบีบอัด | Caveman, RTK, ไปป์ไลน์แบบซ้อน และส่วนติดต่อ dashboard/API/MCP |
| รูปแบบกฎการบีบอัด | สคีมาชุดกฎ JSON สำหรับตัวกรอง Caveman และ RTK |
| แพ็กภาษาสำหรับการบีบอัด | การตรวจหาภาษาและการสร้างชุดกฎ Caveman |
| คู่มือความยืดหยุ่นของระบบ | วงจรตัดการทำงาน ช่วงพัก คิว การป้องกันคำขอถาโถมพร้อมกัน และการปลอมแปลง TLS |
| เอนจิน Auto-Combo | การให้คะแนนด้วย 16 ปัจจัย ชุดโหมด และการซ่อมแซมตัวเอง |
| คู่มือพร็อกซี | ระบบพร็อกซี 3 ระดับ, มาร์เก็ตเพลส 1proxy และ CRUD สำหรับรีจิสทรี |
| ระดับบริการฟรี | ไดเรกทอรีรวม: พูลแบบเกิดซ้ำที่มีเอกสารกำกับ 34 รายการ / รายการระดับบริการฟรีในแค็ตตาล็อก 484 รายการ |
| แกลเลอรีคุณสมบัติ | เยี่ยมชมแดชบอร์ดแบบภาพพร้อมภาพหน้าจอ |
| เอกสารประกอบโค้ดเบส | แนะนำโค้ดเบสทีละขั้นตอนสำหรับผู้เริ่มต้น |
| เอกสาร | คำอธิบาย |
|---|---|
| เอกสารอ้างอิง 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 | การรองรับ 67 ภาษา เวิร์กโฟลว์การแปล และ RTL |
| รายการตรวจสอบการเผยแพร่ | ขั้นตอนการตรวจสอบความถูกต้องก่อนเผยแพร่ |
| แผนความครอบคลุม | กลยุทธ์ความครอบคลุมของการทดสอบสำหรับการประกาศการทดสอบแบบสแตติกกว่า 56,000 รายการ ในไฟล์ทดสอบที่ติดตามกว่า 7,800 ไฟล์ |
OmniRoute ได้รับการหล่อหลอมโดยชุมชนโอเพนซอร์สที่เปี่ยมด้วยความมุ่งมั่น บุคคลเหล่านี้ได้สร้างผลงานอันโดดเด่นซึ่งส่งผลโดยตรงต่อคุณภาพ ความเสถียร และการเข้าถึงของโปรเจกต์ ขอขอบคุณ
| อันดับ | ผู้มีส่วนร่วม | PR ที่ merge แล้ว | ~บรรทัดที่เปลี่ยนแปลง |
|---|---|---|---|
| 1 | maxmad64bis | 371 | 25,326,561 |
| 2 | HouMinXi | 269 | 13,456,272 |
| 3 | backryun | 210 | 270,562 |
| 4 | oyi77 | 190 | 411,243 |
| 5 | pacocartones | 174 | 78,276 |
| 6 | JxnLexn | 151 | 3,562,936 |
| 6 | KooshaPari | 151 | 5,972,314 |
| 8 | rdself | 145 | 80,663 |
| 9 | RaviTharuma | 123 | 500,065 |
| 10 | herjarsa | 88 | 230,872 |
| 11 | hartmark | 84 | 2,849,554 |
| 12 | jonlwheat2-gif | 67 | 68,548 |
| 13 | artickc | 62 | 43,502 |
| 14 | chirag127 | 52 | 6,661 |
| 15 | xz-dev | 50 | 245,976 |
| 16 | xiaoyaner0201 | 47 | 33,626 |
| 17 | woodsonl | 46 | 809,391 |
| 18 | rqzbeh | 44 | 147,896 |
| 19 | QuangBlue | 43 | 13,112 |
| 20 | MumuTW | 40 | 26,093 |
สำรวจข้อมูลเมื่อ 2026-10-18 15:09:09 UTC โดยใช้ปลายสาขาปัจจุบันของ release/v3.8.52 ที่ 656f01cb43 การสำรวจผ่าน GitHub GraphQL แบบแบ่งหน้าครอบคลุม PR ที่ merge แล้ว 9,191 รายการ ได้แก่ 3,834 รายการจากเจ้าของ repository, 229 รายการจาก Dependabot, 6 รายการจากบอต/แอปอื่น และ PR ภายนอก 5,122 รายการจากผู้มีส่วนร่วมที่ไม่ซ้ำกัน 835 คน “บรรทัดที่เปลี่ยนแปลง” คือจำนวนบรรทัดที่เพิ่ม + ลบตามข้อมูลของ GitHub และรวมไฟล์ที่สร้างขึ้นโดยอัตโนมัติ, lockfile, แค็ตตาล็อก, คำแปล และเอกสารประกอบ ตัวเลขนี้จึงสะท้อนปริมาณการเปลี่ยนแปลง ไม่ใช่ LOC ที่เขียนขึ้นจริง มี PR 49 รายการที่ GitHub รายงาน diff มากกว่า 500,000 บรรทัด (ตัวอย่างเช่น #13399 ซึ่งเป็นการเพิ่ม provider เพียงรายเดียว แต่แสดงไฟล์ที่เปลี่ยนแปลง 2,347 ไฟล์) ส่งผลให้ยอดรวมหลายรายการข้างต้นสูงเกินจริง ผู้ที่มีคะแนนเท่ากันจะได้รับอันดับร่วมกัน
|
Dizzle 🥇 367 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Bob.Hou 🥈 269 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Paijo 🥉 229 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
backryun 🏅 202 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Paco Cartones 🏅 174 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Ravi Tharuma 🏅 126 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
|
Markus Hartung 🏅 114 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Randi 🏅 108 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Jan Leon 🏅 87 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Chris 🏅 70 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
Koosha Paridehpour 🏅 68 คอมมิตที่ระบุแหล่งที่มาจาก GitHub |
ตรวจสอบอีกครั้งเมื่อ 2026-10-18 14:44:45 UTC: คอมมิตที่ระบุแหล่งที่มาจาก GitHub ซึ่งรายงานโดย Contributors API ของรีโพซิทอรีสำหรับสาขาเริ่มต้น release/v3.8.52 API ส่งคืนข้อมูลประจำตัว 849 รายการ (ผู้ใช้ 429 ราย บอต 2 ราย และผู้ไม่ระบุตัวตน 418 ราย) ตารางนี้ไม่รวมผู้ดูแล บอต และข้อมูลประจำตัวแบบไม่ระบุตัวตน และยังคงเก็บอันดับที่เสมอกันไว้ ตารางนี้แตกต่างจากทั้งการจัดอันดับ PR ที่ผสานแล้วด้านบนและการสำรวจสำมะโนเมทาดาทา Git ด้านล่าง
🙏 ฟีเจอร์ การแก้ไขบั๊ก และการปรับปรุงโครงสร้างพื้นฐานจากผู้มีส่วนร่วมเหล่านี้เป็น องค์ประกอบหลัก ที่ทำให้ OmniRoute เชื่อถือได้และเปี่ยมด้วยฟีเจอร์ ทุก pull request ทุกกรณีทดสอบ และทุกไฟล์คำแปล i18n ล้วนมีความสำคัญ โอเพนซอร์สสร้างขึ้นโดยผู้คนเช่นพวกเขา
ขอขอบคุณจากใจจริงแด่ทุกคนที่สนับสนุนเงินทุนให้ OmniRoute จากกระเป๋าของตนเอง — ทุกการสนับสนุนช่วยให้โปรเจกต์ยังคงฟรี เป็นอิสระ และเดินหน้าต่อไปได้
![]() Andrew 💛 ผู้สนับสนุนรายเดือนที่ยังคงสนับสนุนอยู่ |
![]() Vlad I 💛 ผู้สนับสนุนรายเดือนที่ยังคงสนับสนุนอยู่ |
![]() 小妍儿 💛 ผู้สนับสนุนรายเดือนที่ยังคงสนับสนุนอยู่ |
![]() Guilherme Costa 💛 ผู้สนับสนุนแบบครั้งเดียวที่ยังคงมีสถานะใช้งานอยู่ |
![]() Henrique Iurkiv 💛 ผู้สนับสนุนแบบครั้งเดียวที่ยังคงมีสถานะใช้งานอยู่ |
![]() Somesh Ghaturle 💛 ผู้สนับสนุนแบบครั้งเดียวที่ยังคงมีสถานะใช้งานอยู่ |
![]() Kolonie AI 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
![]() Prof. Igor Morais 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
![]() Pixma 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
![]() Paco Cartones 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
![]() longtao 💛 ผู้ที่เคยสนับสนุนแบบครั้งเดียว |
… และผู้สนับสนุนท่านอื่น ๆ ที่ประสงค์จะไม่เปิดเผยตัวตน 💛
ข้อมูลผู้สนับสนุนสาธารณะบน GitHub ได้รับการตรวจสอบความถูกต้องอีกครั้งเมื่อ 2026-10-18 ผ่าน GitHub Sponsors GraphQL API: มีการสนับสนุนแบบสาธารณะ 11 รายการ (ยังมีสถานะใช้งานอยู่ 6 รายการ และในอดีต 5 รายการ) จากทั้งหมด 14 รายการ สถานะ isActive ของ GitHub เป็นตัวกำหนดป้ายกำกับสถานะที่ยังใช้งานอยู่ด้านบน ผู้ที่เคยสนับสนุนแบบครั้งเดียวต่อสาธารณะยังคงได้รับการขอบคุณ และผู้สนับสนุนแบบส่วนตัวยังคงไม่เปิดเผยตัวตน การบริจาคผ่าน Ko-fi, Buy Me a Coffee, Liberapay, PIX และคริปโตไม่ได้แสดงไว้ เนื่องจากไม่มีบันทึกผู้สนับสนุนแบบสาธารณะ
💖 ร่วมเป็นผู้สนับสนุน → — ทุกดอลลาร์ช่วยให้ OmniRoute ยังคงฟรีและเป็นอิสระ
ตรวจสอบเมื่อ 2026-10-18 ที่ปลายสาขา release/v3.8.52 ซึ่งใช้งานอยู่ ณ commit ad160ab2d1 (6,826 commits): ข้อมูลระบุตัวตน Git ของบุคคลที่ปรับให้เป็นมาตรฐานแล้ว 993 รายการ — 707 รายการปรากฏเป็นผู้เขียน commit (รวมถึงผู้ดูแลโครงการ) และ 286 รายการปรากฏเฉพาะในส่วนท้าย Co-authored-by ที่ระบุไว้อย่างชัดเจน การสำรวจนี้ใช้ .mailmap เปรียบเทียบที่อยู่อีเมลโดยไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เชื่อมโยงที่อยู่ GitHub noreply แบบตัวเลขและแบบข้อความธรรมดาเฉพาะเมื่อทั้งคู่เข้ารหัสชื่อผู้ใช้เดียวกัน ไม่รวมข้อมูลระบุตัวตนของบอต/เอเจนต์/บริการ/ตัวแทนชั่วคราว 26 รายการ และไม่รวมที่อยู่อีเมลทั่วไปเข้าด้วยกันเพียงเพราะชื่อที่แสดงตรงกัน การตรวจสอบเมื่อ 2026-08-24 เผยแพร่ตัวเลข 639 รายการ แต่เมื่อนำวิธีนี้ไปรันซ้ำกับฐาน ac02c5b42f ของการตรวจสอบครั้งดังกล่าว จะได้ 619 รายการ ดังนั้นจำนวนที่เพิ่มขึ้นจึงมาจากผู้มีส่วนร่วมรายใหม่ ไม่ใช่จากการใช้วิธีที่ผ่อนปรนกว่าเดิม
- 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-notesOmniRoute ยืนอยู่บนไหล่ของยักษ์ใหญ่ โดยเริ่มต้นจากการ fork 9router และการพอร์ตโปรเจกต์ภาษา Go อย่าง CLIProxyAPI มายัง TypeScript — และจากจุดนั้น ระบบย่อยทุกส่วนด้านล่างล้วนได้รับแรงบันดาลใจจากโปรเจกต์โอเพนซอร์สที่บุกเบิกมาก่อน แต่ละโปรเจกต์มีส่วนหล่อหลอมองค์ประกอบที่เป็นรูปธรรมของ OmniRoute นี่คือคำขอบคุณจากเราถึงทุกโปรเจกต์เหล่านั้น 🙏
⭐ จำนวนดาวได้รับการตรวจสอบจาก REST API ของ GitHub เมื่อวันที่ 18 ตุลาคม 2026 — อย่าลืมไปกดดาวให้โปรเจกต์เหล่านี้ ตัวเลขดังกล่าวเป็นภาพรวม ณ วันที่ระบุอย่างแม่นยำและย่อมเปลี่ยนแปลงไปตามธรรมชาติ
| โปรเจกต์ | ⭐ | สร้างแรงบันดาลใจให้ OmniRoute อย่างไร |
|---|---|---|
| 9router | 31,004 | โปรเจกต์ต้นฉบับที่ fork นี้สร้างขึ้นต่อยอดจากมัน — โดยขยายให้รองรับ API แบบหลายโมดัลและเขียนใหม่ทั้งหมดด้วย TypeScript |
| CLIProxyAPI | 55,591 | อิมพลีเมนเทชันภาษา Go ที่สร้างแรงบันดาลใจให้กับการพอร์ตมายัง JavaScript / TypeScript นี้ |
| LiteLLM | 61,482 | เกตเวย์ AI ซึ่งชุดข้อมูลราคาสาธารณะถูกใช้เป็นข้อมูลให้กับการซิงค์การติดตามต้นทุนของเรา และโมเดลการปรับผู้ให้บริการให้เป็นมาตรฐานของโปรเจกต์นี้ยังเป็นแนวทางให้กับระบบกำหนดเส้นทางของเรา |
| codex-chatgpt-web | 14,526 | ซอร์สภายใต้สัญญาอนุญาต MIT ที่นำมาปรับใช้ในบริดจ์ ChatGPT Web → Codex Responses ที่รวมมากับโปรเจกต์ รวมถึงอะแดปเตอร์สำหรับเซสชันเบราว์เซอร์ การจัดเฟรมการตอบกลับ การใช้งาน และการค้นหาเว็บ |
| free-claude-code | 61,430 | รูปแบบต่าง ๆ ที่พอร์ตมาใช้กับการกู้คืนสตรีม นามแฝงแบบไม่ใช้การคิด การค้นหาเว็บสำรอง ขีดจำกัดแบบหน้าต่างเลื่อน การปกปิดข้อมูลในบันทึก และโฟลว์ตัวเรียกใช้งานที่เสริมความปลอดภัย |
| composer-api | 346 | รูปแบบการเลือกเครื่องมือ ข้อจำกัดเอาต์พุต และการยืนยันการใช้เครื่องมือของ Cursor Composer ซึ่งนำมาปรับใช้ในตัวดำเนินการ Cursor แบบเนทีฟ |
| codex-multi-auth | 553 | รูปแบบการเข้าสู่ระบบใหม่และการหมุนเวียน refresh token ที่พอร์ตมาใช้ในการยืนยันตัวตน OAuth ของ Codex ใหม่ |
| opencode-anthropic-auth | 558 | ค่าเริ่มต้นของการแปลงที่เข้ากันได้กับ Claude Code และพฤติกรรมของส่วนหัวการเรียกเก็บเงิน ซึ่งนำมาทำให้ใช้ได้ทั่วไปในบริดจ์ที่ขับเคลื่อนด้วยการกำหนดค่าของ OmniRoute |
| grok2api-merged | 2 | การแมปโมเดล Grok, ตัวสร้าง Statsig ที่จำลอง TypeError, ค่าเริ่มต้นของคำขอและอุปกรณ์ รวมถึงตัวประมวลผลการตอบกลับ NDJSON ถูกนำมาปรับใช้อย่างมีนัยสำคัญในตัวดำเนินการ Grok Web ของ OmniRoute |
| TQZHR/grok2api | 706 | แหล่งโค้ดทางอ้อมหลักเบื้องหลัง grok2api-merged โดยอิมพลีเมนเทชันด้านโมเดล ส่วนหัว เพย์โหลด Statsig และตัวประมวลผลของโปรเจกต์นี้ยังคงถูกรักษาไว้ในสายที่มาของ Grok Web |
| chenyme/grok2api | 7,819 | ซอร์สพื้นฐานภายใต้สัญญาอนุญาต MIT สำหรับเพย์โหลดและค่าเริ่มต้นของอุปกรณ์ Grok, ตัวสร้าง Statsig และตัวประมวลผล result.response ซึ่งส่งต่อมาผ่าน TQZHR และ grok2api-merged |
| grok2api-pro | 27 | แหล่งที่มาทางอ้อมซึ่ง grok2api-merged ให้เครดิตสำหรับเลเยอร์พร็อกซีพูล OmniRoute ยังคงเก็บประกาศสายที่มาดังกล่าวไว้ แต่ไม่ได้อ้างว่าได้พอร์ตพร็อกซีพูลมาไว้ในตัวดำเนินการ Grok Web ที่มีขอบเขตจำกัด |
| GrokProxy | 51 | พร็อกซี Grok ที่ยืนยันตัวตนด้วยคุกกี้และรูปแบบการสตรีม result.response.token ของโปรเจกต์นี้เป็นแนวทางให้กับการรับส่งข้อมูล Grok Web ของ OmniRoute |
| GrokBridge | 5 | อิมพลีเมนเทชัน Grok Web ดั้งเดิมได้อ้างอิงการออกแบบต้นทางผ่าน HTTP/เบราว์เซอร์ของโปรเจกต์นี้ โดยเส้นทาง HTTP โดยตรงของโปรเจกต์ดังกล่าวมีที่มาจาก GrokProxy ดังนั้นจึงไม่ได้อ้างว่ามีการพอร์ตโค้ดแยกต่างหาก |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| Caveman | 113,396 | โปรเจกต์ไวรัล "ทำไมใช้โทเค็นเยอะ ในเมื่อโทเค็นน้อยก็เอาอยู่" — ปรัชญาการพูดแบบมนุษย์ถ้ำของโปรเจกต์นี้เป็นรากฐานให้โหมดบีบอัดมาตรฐานของเรา รวมถึงกฎตัดคำฟุ่มเฟือย/ย่อความกว่า 30 ข้อ |
| RTK – Rust Token Killer | 83,835 | การบีบอัดเอาต์พุตคำสั่งประสิทธิภาพสูง — เป็นแรงบันดาลใจให้เอนจิน RTK, DSL สำหรับกรอง JSON, การกู้คืนเอาต์พุตดิบ และไปป์ไลน์แบบซ้อน RTK → Caveman ของเรา |
| headroom | 75,741 | การบีบอัดบริบทแบบย้อนคืนได้ (SmartCrusher) — เป็นแรงบันดาลใจให้เอนจิน headroom และรูปแบบเครื่องหมายเรียกคืน ccr ของเรา |
| LLMLingua | 6,757 | งานวิจัยด้านการบีบอัดพรอมป์ (LLMLingua / LLMLingua-2) — เป็นแรงบันดาลใจให้เอนจิน llmlingua แบบอะซิงโครนัส ปลอดภัยต่อโค้ด และปล่อยผ่านเมื่อเกิดข้อผิดพลาดของเรา |
| llmlingua-2-js | 32 | พอร์ต JS/ONNX (MobileBERT / XLM-RoBERTa) ที่ใช้เป็นแบ็กเอนด์เธรดเวิร์กเกอร์สำหรับเอนจิน LLMLingua ของเรา |
| Troglodita | 50 | การบีบอัดโทเค็นภาษาโปรตุเกสบราซิล — เป็นรากฐานให้แพ็กภาษา pt-BR ของเรา ได้แก่ การลดคำซ้ำความหมายและการตัดคำฟุ่มเฟือยที่ปรับแต่งตามไวยากรณ์โปรตุเกสบราซิล |
| ponytail | 166,731 | ทักษะเขียนโค้ดแบบ YAGNI ของ "นักพัฒนาอาวุโสจอมขี้เกียจ" ที่โด่งดังเป็นไวรัล — เป็นแรงบันดาลใจให้รูปแบบเอาต์พุต less-code ของเรา ซึ่งชี้นำให้สร้างการเปลี่ยนแปลงที่เล็กที่สุดแต่ใช้งานได้ เพื่อลดโค้ดที่ _สร้างขึ้น_ (เป็นแกนด้านเอาต์พุตที่คู่ขนานกับร้อยแก้วกระชับของ Caveman) |
| i-have-adhd | 57,628 | รูปแบบการตอบที่เน้นการลงมือทำก่อนและเป็นมิตรต่อผู้มี ADHD ถูกนำมาปรับใช้เป็นรูปแบบเอาต์พุตแบบกระชับของ OmniRoute ในห้าภาษา |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| TOON | 25,509 | สัญกรณ์อ็อบเจกต์ที่เน้นโทเค็น — โมเดลแบบคอลัมน์ที่ประกอบด้วยส่วนหัวและแถวของโปรเจกต์นี้มีอิทธิพลต่อขั้นตอนการย่อตารางของเรา |
| GCF – Graph Compact Format | 59 | รูปแบบกราฟกะทัดรัดและการออกแบบโปรไฟล์ทั่วไปของโปรเจกต์นี้เป็นแนวทางให้การย่อตารางและรูปแบบโคเดก Headroom ของ OmniRoute |
| gcf-typescript | 4 | อิมพลีเมนเทชัน TypeScript ภายใต้สัญญาอนุญาต MIT ที่นำเข้ามาในซอร์สโดยตรงและต่อยอดเป็นโคเดกโปรไฟล์ทั่วไปของ Headroom |
| token-optimizer-mcp | 551 | แคช Brotli/SQLite + ส่วนต่างบริบทต่อเซสชัน — เป็นแรงบันดาลใจให้เอนจิน session-dedup ของเรา |
| token-savior | 1,182 | การย่อเอาต์พุต Bash + โปรไฟล์ MCP — เป็นแรงบันดาลใจให้หลักปฏิบัติในการยุติการบีบอัดของเราและการลดรายการเครื่องมือ MCP |
| token-saver | 154 | การบีบอัดเอาต์พุตที่รับรู้เนื้อหาแยกตามประเภทไฟล์ พร้อมการยุติเมื่อพบความล้มเหลว — ช่วยยืนยันแนวทางการกระจายงานตามประเภทและการข้ามเมื่อได้ประโยชน์ต่ำกว่าเกณฑ์ของเรา |
| token-optimizer | 2,595 | "ค้นหาโทเค็นผี" — รูปแบบการถ่ายโอนข้อมูล + แฮนเดิลที่กู้คืนได้ของโปรเจกต์นี้เป็นแนวทางให้แนวคิดการถ่ายโอนข้อมูลออกของ CCR |
| TokenMizer | 33 | พิมพ์เขียวกราฟเซสชัน + การขจัดบรรทัดซ้ำข้ามเทิร์น ซึ่งเป็นแนวทางให้การออกแบบ session-dedup ของเรา |
| OmniCompress | 3 | JSON แบบคอลัมน์ใน Rust + การเรียกคืนโดยอ้างอิงเนื้อหา + การขจัดข้อมูลซ้ำข้ามข้อความ — ช่วยยืนยันการออกแบบเอนจิน headroom/ccr/session-dedup ของเรา และค่าคงตัวที่เป็นมิตรต่อแคชว่า "รูปแบบที่บีบอัดแล้วไม่ขึ้นกับตำแหน่ง" |
| mcp-compressor | 133 | การบีบอัดสคีมา/คำอธิบายเครื่องมือ MCP — เป็นแนวทางให้การลดจำนวนรายการเครื่องมือ MCP ของเรา |
| RepoMapper | 217 | การจัดอันดับแผนที่รีโพแบบ Aider — เป็นแนวทางให้การสำรวจแผนที่รีโพ / การจัดอันดับการค้นคืนของเรา |
| quiet-shell-mcp | 4 | การลดเอาต์พุตเชลล์ผ่าน MCP แบบประกาศ — ช่วยยืนยันแนวทางการย่อเอาต์พุต bash แบบประกาศของเรา |
| ts-morph | 6,205 | ชุดเครื่องมือ TypeScript Compiler API — เป็นแรงบันดาลใจให้การลบความคิดเห็นด้วยพาร์เซอร์ของเรา ซึ่งยังคงรักษาลิเทอรัลสตริง เทมเพลต และนิพจน์ทั่วไปไว้ |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| Mem0 | 67,385 | เลเยอร์หน่วยความจำแบบสากล — โมเดลพร็อกซีที่ทำหน้าที่เป็นขอบเขตการเขียน/อ่านของโปรเจกต์นี้เป็นต้นแบบให้กับสถาปัตยกรรมหน่วยความจำของเรา |
| Letta (MemGPT) | 25,179 | เอเจนต์แบบมีสถานะพร้อมหน่วยความจำหลายระดับ — เป็นแรงบันดาลใจให้กับโมเดล Context Control & Recovery (CCR) แบบหลายระดับของเรา |
| WFGY | 1,800 | อนุกรมวิธาน ProblemMap ซึ่งครอบคลุมรูปแบบความล้มเหลวที่เกิดซ้ำ 16 รูปแบบของ RAG/LLM — เป็นคำศัพท์ร่วมที่ใช้ในคู่มือการแก้ไขปัญหาของเรา |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| llm-interceptor | 79 | การดักจับ/วิเคราะห์แบบ MITM สำหรับทราฟฟิกระหว่างผู้ช่วยเขียนโค้ด ↔ LLM ช่วยกำหนดข้อกำหนดเบื้องต้นของ Traffic Inspector โมดูลสี่รายการที่เคยต่อยอดมา ได้แก่ การรวม SSE, การทำให้บทสนทนาเป็นมาตรฐาน, การปกปิดข้อมูลลับ และการปรับส่วนหัวให้ปลอดภัย ได้ถูกแทนที่ด้วยการนำไปใช้งานแบบคลีนรูมที่เป็นอิสระโดยอิงตามมาตรฐานโปรโตคอลสาธารณะ ส่วนพื้นผิวการส่งผ่านโฮสต์สองรายการ (passthrough.ts และ _internal/bypass.cjs) ยังคงเป็นการนำไปใช้งานภายใน OmniRoute ที่จัดประเภทแยกต่างหาก และไม่ได้ถูกเขียนใหม่ในการแทนที่ดังกล่าว |
| ProxyBridge | 6,814 | การกำหนดเส้นทางพร็อกซีแบบโปร่งใสแยกตามโปรเซส — เป็นแรงบันดาลใจให้กับการปิดระบบ MITM ที่ปลอดภัยเมื่อเกิดข้อขัดข้อง, ระยะหมดเวลาขณะซ็อกเก็ตไม่มีการใช้งาน, การระบุโปรเซสผ่าน /proc และการดักจับด้วย TPROXY ของเรา |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| models.dev | 7,286 | ฐานข้อมูลแบบเปิดสำหรับข้อมูลจำเพาะ ราคา และความสามารถของโมเดล AI — ซิงค์เข้าสู่แค็ตตาล็อกโมเดลของเราโดยตรง |
| React Flow / xyflow | 38,705 | ไลบรารีกราฟแบบโหนดที่ขับเคลื่อน Compression Studio และ Combo/Routing Studio แบบเรียลไทม์ของเรา |
| LangGraph | 43,443 | การแสดงภาพกราฟเวิร์กโฟลว์แบบสดของ LangGraph Studio เป็นแรงบันดาลใจให้กับมุมมองคาสเคดแบบเรียลไทม์ใน Studios ของเรา |
| Langfuse | 35,990 | โมเดลการสังเกตการณ์แบบ trace → span → generation ของโปรเจกต์นี้เป็นต้นแบบให้กับมุมมองวอเตอร์ฟอลล์ใน Compression Studio ของเรา |
| Kiali | 3,645 | การสังเกตการณ์เซอร์วิสเมช Istio — เป็นแรงบันดาลใจให้กับป้ายสถานะเซอร์กิตเบรกเกอร์และการแสดงเส้นเชื่อมข้อผิดพลาดใน Routing/Combo Studio ของเรา |
| lobe-icons | 2,615 | โลโก้แบรนด์ AI/LLM ที่ใช้แสดงไอคอนผู้ให้บริการทั่วทั้งแดชบอร์ดของเรา |
| flag-icons | 12,473 | จัดเตรียมธง SVG ภายใต้สัญญาอนุญาต MIT ที่ใช้โดยตัวเลือกภาษาใน README |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| awesome-secure-defaults | 722 | รายการไลบรารีที่คัดสรรมาแล้วและมีค่าเริ่มต้นที่ปลอดภัย ซึ่งใช้เป็นแนวทางในการตัดสินใจด้านความปลอดภัยของเรา (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink) |
| โปรเจกต์ | ⭐ | แรงบันดาลใจที่มอบให้ OmniRoute |
|---|---|---|
| ClawRouter | 6,628 | เป็นแรงบันดาลใจให้กับการขจัดคำขอซ้ำ, ระบบสำรองฉุกเฉินที่ไม่มีค่าใช้จ่าย, กลยุทธ์ Auto-Combo แบบเสียบเปลี่ยนได้ และการจำแนกเจตนาแบบหลายภาษา |
| Antigravity-Manager | 32,333 | การรีแมปโมเดลโดยคำนึงถึงบัญชี, การตรวจสอบพาธของไฟล์ปฏิบัติการ และลักษณะการทำงานของป้ายแผนจากโปรเจกต์นี้ เป็นข้อมูลประกอบในการพัฒนารันไทม์ Antigravity ของ OmniRoute |
| vscode-antigravity-cockpit | 4,850 | รูปแบบการนับถอยหลังแบบกะทัดรัดจนถึงเวลารีเซ็ตโควตาของโปรเจกต์นี้ เป็นแรงบันดาลใจให้กับการแสดงขีดจำกัดของผู้ให้บริการใน OmniRoute |
| AionUi | 33,611 | การผสานรวม ACP ของโปรเจกต์นี้เป็นแรงบันดาลใจให้กับการตรวจหาเอเจนต์ CLI ที่ติดตั้งไว้โดยอัตโนมัติของ OmniRoute |
| CodexBar | 22,616 | ระบุส่วนแสดงโควตาของ Grok Build จากนั้น OmniRoute จึงตรวจสอบและแก้ไขรูปแบบข้อมูลจริงบนสายสัญญาณอย่างเป็นอิสระ |
📄
สัญญาอนุญาต MIT - ดูรายละเอียดได้ที่ LICENSE
⬆ กลับขึ้นด้านบน · สร้างด้วย ❤️ เพื่อชุมชน AI โอเพนซอร์ส
OmniRoute v3.8.53 · Node ≥22.22.2 · สัญญาอนุญาต MIT · omniroute.online












