
AI Agent Gateway nima?
AI Agent Gateway — AI agentlari va ular murojaat qiladigan tizimlar o‘rtasida ishlaydigan ochiq kodli xizmat. U MCP vosita serverlari va qo‘llab-quvvatlanadigan LLM provayderlari, jumladan Anthropic Claude, AWS Bedrock, OpenAI va Gemini uchun autentifikatsiyalangan hamda kuzatiladigan yagona kirish nuqtasini taqdim etadi.
Har bir agentga vosita hisob ma’lumotlari va provayder sozlamalarini ko‘chirish o‘rniga, autentifikatsiya, maxfiy ma’lumotlar, kirish siyosatlari va so‘rov jurnallarini markazlashgan holda boshqarishingiz mumkin. Gateway bitta binar fayl sifatida tarqatiladi va ichki ma’muriy konsolni o‘z ichiga oladi.
Xizmat uchta tinglovchini taqdim etadi:
- 8080-portdagi MCP qatlami: Agentlardan MCP so‘rovlarini qabul qiladi va ruxsat etilgan amallarni ro‘yxatdan o‘tkazilgan vosita serverlariga yo‘naltiradi.
- 8081-portdagi boshqaruv qatlami: REST API va ma’muriy konsolni joylashtiradi.
- 8082-portdagi LLM qatlami: Qo‘llab-quvvatlanadigan LLM so‘rovlarini proksi orqali uzatadi va foydalanish ma’lumotlarini qayd etadi.
PostgreSQL talab qilinadi. Redis bilan mos sessiyalar ombori ixtiyoriy bo‘lib, MCP qatlamini bir nechta replika bilan ishlatish imkonini beradi; biriktirilgan deploylar Valkey’dan foydalanadi. ClickHouse ixtiyoriy bo‘lib, qo‘shimcha tahlil funksiyalarini ta’minlaydi.
Asosiy imkoniyatlar
- Har bir so‘rov uchun autentifikatsiya: Gateway tomonidan berilgan API kalitlari tenant va rol doirasida cheklanadi.
- Himoyalangan ulagich hisob ma’lumotlari: Hisob ma’lumotlari shifrlangan maxfiy ma’lumotlar omborida saqlanadi va chaqiruvchiga ko‘rsatilmasdan chiquvchi MCP so‘rovlariga kiritiladi.
- Agentga xos vosita siyosatlari: Profillar agent foydalanishi mumkin bo‘lgan vositalarni cheklashi mumkin. Cheklovlar faqat vositalar ro‘yxatlanganda emas, balki
tools/callbajarilganda ham qo‘llanadi. - Promptlar va resurslar: Gateway backend promptlari va resurslarini umumiy nomlar maydoni orqali uzatadi hamda bir xil profil siyosatlarini qo‘llaydi.
- Ko‘nikmalar va buyruqlar: Profillar mahalliy MCP mexanizmlari orqali taqdim etiladigan qayta ishlatiladigan ma’lumotnoma matni va prompt shablonlarini o‘z ichiga olishi mumkin.
- Bir nechta provayderli LLM proksisi: LLM qatlami Anthropic, Bedrock, OpenAI va Gemini’ni qo‘llab-quvvatlaydi hamda token sarfi va taxminiy narxni qayd etadi.
- Markazlashgan kuzatuv: Zarur saqlash tizimi yoqilganda, konsol kirish jurnallari, LLM jurnallari, sessiya vaqt jadvallari va tahlil panelidan foydalanish imkonini beradi.
- Chiquvchi so‘rovlarni himoyalash: Server tomondagi so‘rovlarni qalbakilashtirish xavfini kamaytirish uchun ichki, loopback, link-local va boshqa xususiy manzillarga yo‘naltirishlar sukut bo‘yicha bloklanadi.
Talablar
Eng tezkor sozlash Docker Compose orqali amalga oshiriladi. Boshlashdan oldin quyidagilarni o‘rnating yoki tekshiring:
- Compose plagini mavjud Docker, masalan Docker Desktop, Colima yoki Docker Engine.
- Sog‘liq tekshiruvlari uchun
curlva API javoblarini qayta ishlash uchunjq. 8080,8081va8082portlari bo‘sh bo‘lishi kerak.- Tahlil profilini va uning Adminer xizmatini yoqsangiz,
8090-port. - Kamida 4 GB bo‘sh Docker sig‘imi yoki ClickHouse tahlilini qo‘shganda 8 GB.
macOS va Linux qo‘llab-quvvatlanadi. Windows’dan WSL2 orqali foydalanish mumkin, biroq bu muhit hozircha sinovdan o‘tkazilmagan.
Docker’dan tashqarida yig‘ish uchun repozitoriyga Go 1.27, konsol uchun Node.js 26 va make kerak. Ayrim amaliy misollar qo‘shimcha ravishda npx, Python, kind, kubectl yoki provayder API kalitini talab qiladi.
Gateway’ni o‘rnatish va ishga tushirish
1. Repozitoriy klonlanadi
git clone https://github.com/Tuskira/ai-agent-gateway.git
cd ai-agent-gateway
2. Standart Compose stekini ishga tushiring
docker compose -f deploy/docker-compose.yml up --build -d
Birinchi ishga tushirish biroz vaqt olishi mumkin, chunki Docker kerakli komponentlarni yig‘ishi yoki yuklab olishi va ma’lumotlar bazasini ishga tushirishi kerak.
3. Boshqaruv qatlamini kuting
until curl -sf localhost:8081/api/v1/health >/dev/null; do sleep 1; done
Bu sikl boshqaruv qatlami sog‘liq endpointi muvaffaqiyatli javob qaytarguncha kutadi.
4. Uchala qatlamni tekshiring
curl localhost:8080/health
curl localhost:8081/api/v1/health
curl localhost:8082/health
Muvaffaqiyatli javoblar MCP, boshqaruv va LLM tinglovchilari mavjudligini tasdiqlaydi.
Ma’muriy kirishni ishga tushirish
Yangi deployda konsol foydalanuvchilari ham, API kaliti ham bo‘lmaydi. Standart tenant va administrator API kalitini yaratishdan boshlang:
docker compose -f deploy/docker-compose.yml exec gateway /gateway bootstrap-key
Buyruq API kalitini faqat bir marta chiqaradi. Uni xavfsiz saqlang, chunki boshlang‘ich sozlash jarayoni ulagichlarni ro‘yxatdan o‘tkazish va ma’muriy API amallarini bajarish uchun undan foydalanadi.
Keyin birinchi konsol foydalanuvchisini yarating:
docker compose -f deploy/docker-compose.yml exec gateway /gateway create-user -tenant default -username admin -role admin
Bu buyruq bir martalik vaqtinchalik parolni chiqaradi. http://localhost:8081 manzilini oching, admin sifatida kiring va so‘ralganda vaqtinchalik parolni o‘zgartiring.
Dasturlar odatda API kalitlari orqali autentifikatsiyadan o‘tishi kerak. Konsol favqulodda zaxira usuli sifatida API kalitini ham qabul qiladi.
Asosiy foydalanish: MCP serverini qo‘shish va chaqirish
Gateway atamalarida MCP vosita serveri API’da connector, konsolda esa MCP deb ataladi. Tizimga kirgandan so‘ng, qo‘shish mumkin bo‘lgan tayyor MCP serverlarini ko‘rish uchun MCPs → Catalog bo‘limini oching.
Odatdagi birinchi foydalanish jarayoni quyidagicha:
- Administrator API kalitini yarating va saqlang.
- MCP serverini ulagich sifatida ro‘yxatdan o‘tkazing.
- Ulagichga kerak bo‘lgan barcha hisob ma’lumotlarini sozlang.
- Agent profilini yarating yoki tanlang.
- Ulagich vositalarini ushbu profil uchun mavjud qiling.
- Ruxsat berilgan vositani gateway’ning
8080-portdagi MCP tinglovchisi orqali chaqiring. - Chaqiruvni administrator konsolida tekshiring.
Repository examples/01-quickstart ichida to‘liq bajariladigan qo‘llanmani o‘z ichiga oladi. U stekni ishga tushiradi, barcha uchta qatlamni tekshiradi, administrator kalitini dastlabki sozlaydi, namunaviy MCP serverini ro‘yxatdan o‘tkazadi va uning vositalaridan birini chaqiradi. Ulagichni ro‘yxatdan o‘tkazish va vositani chaqirish so‘rovlarining aniq namunalarini ishga kirish qo‘llanmasidan ko‘ring.
Tashqi hisob ma’lumotlarini talab qilmaydigan barcha misollarni ishga tushirish uchun quyidagidan foydalaning:
make examples-smoke
Agent profillari kirishni qanday nazorat qiladi
Profillar agent uchun mavjud bo‘lgan vositalar, promptlar, resurslar, ko‘nikmalar va buyruqlarni belgilaydi. Vositalarga qo‘yilgan cheklovlar agent tools/callni chaqirganda tekshiriladi, shuning uchun vositani tools/listdan yashirish yagona himoya qatlami emas.
Siyosatni kuchliroq nazorat qilish uchun API kalitini profilga bog‘lang. Bunday bog‘lanish bo‘lmasa, chaqiruvchi o‘zi xohlagan profilni X-Agent-Profile-Name sarlavhasi orqali ko‘rsatishi mumkin. Kalitni profilga bog‘lash chaqiruvchining boshqa profilni erkin tanlashiga yo‘l qo‘ymaydi.
Bir nechta MCP serveri promptlar yoki resurslarni taqdim etsa, gateway ularni umumiy nomlar maydonida saqlaydi. Promptlar ulagich nomi bilan malakalanadi, resurslar esa gateway boshqaradigan URI’lardan foydalanadi. Xuddi shu profil qoidalari agent qaysi yozuvlardan foydalana olishini belgilaydi.
LLM proksisidan foydalanish
LLM qatlami qo‘llab-quvvatlanadigan model provayderlariga markazlashtirilgan yo‘lni taqdim etadi: Anthropic, AWS Bedrock, OpenAI va Gemini. Bu agent ilovalariga model trafigini vositalar uchun ishlatiladigan xuddi shu nazorat qilinadigan sirt orqali yuborish imkonini beradi.
Har bir proksi orqali amalga oshirilgan chaqiruv uchun gateway tokenlardan foydalanishni qayd etishi va taxminiy xarajatni hisoblab chiqishi mumkin. Provayderni sozlash, o‘zingizning kalitingizdan foydalanish, Bedrock hisob ma’lumotlari rejimlari, yo‘nalishlar, qayd etish sozlamalari va xarajatlar bilan bog‘liq xatti-harakatlar LLM qatlami qo‘llanmasida hujjatlashtirilgan.
Mijozni sozlashdan oldin tinglovchini tekshirish uchun health endpointidan foydalaning:
curl localhost:8082/health
Analitikani yoqish
Standart joylashtirish ClickHouse’siz LLM jurnallarini qo‘llab-quvvatlaydi. Overview paneli, Access Logs, Session Timeline va ClickHouse asosidagi analitikani qo‘shish uchun Compose’ni analytics profili bilan ishga tushiring:
GATEWAY_SINKS_CLICKHOUSE_ENABLED=true docker compose -f deploy/docker-compose.yml --profile analytics up --build -d
Bu konfiguratsiya ko‘proq mahalliy resurslarni talab qiladi va 8090-portdan foydalanishi mumkin.
Maxfiy so‘rov tanalarini himoyalash
Namoyish steki LLM so‘rovi va javobi tanalarini PostgreSQL’da saqlaydi, har biri 1 MiB bilan cheklangan. Analytics profili bilan u LLM va MCP so‘rovi hamda javobi tanalarini ClickHouse’da ham saqlaydi, shunda ular konsolda ko‘rsatilishi mumkin. Bu tanalar konteyner jurnallariga chiqarilmaydi.
Agar promptlar, model javoblari yoki vosita ma’lumotlarida maxfiy axborot bo‘lishi mumkin bo‘lsa, tana saqlashni butunlay o‘chiring:
GATEWAY_LLM_PROXY_CAPTURE_STORE_BODIES=false GATEWAY_CAPTURE_STORE_BODIES=false docker compose -f deploy/docker-compose.yml up --build -d
Capture funksiyalaridan ishlab chiqarish ma’lumotlari bilan foydalanishdan oldin kuzatuvchanlik hujjatlarini ko‘rib chiqing.
Mahalliy yoki xususiy MCP serverlariga xavfsiz ulanish
Gateway loopback, xususiy, link-local va boshqa ichki manzillarga yo‘llarni sukut bo‘yicha bloklaydi. Shuningdek, bulut metama’lumotlari manzili 169.254.169.254ni doimiy ravishda bloklaydi. Ushbu siyosat ulagich, katalog yozuvi yoki model nishoni xost yoki tarmoqdagi maxfiy xizmatlarga yashirincha murojaat qilishining oldini oladi.
Agar xost nomi yaratilgan paytda faqat bloklangan manzillarga yechilsa, gateway uni 400 egress_blocked xatosi bilan rad etadi. Hali yechilmayotgan xost nomi qabul qilinishi mumkin, ammo gateway ulanishga uringanda u yana tekshiriladi.
Binary faylni to‘g‘ridan-to‘g‘ri ishga tushirish
make run bilan ishga tushirganda, MCP serveri ayni mashinada ishlayotgan bo‘lsa, loopback’ga ruxsatni aniq ko‘rsating:
GATEWAY_EGRESS_ALLOWED_CIDRS=127.0.0.0/8,::1/128 make run
Taqdim etilgan Compose stekidan foydalanish
Birga kiritilgan Compose konfiguratsiyasi allaqachon host.docker.internal va loopback CIDR’lariga ruxsat beradi. Shu sababli noutbukda ishlayotgan serverga host.docker.internal orqali murojaat qilish mumkin. Umumiy muhitlarda bu ruxsatlarni zarur bo‘lmasa olib tashlang.
Kubernetes yoki xususiy tarmoqlardan foydalanish
Klaster ichidagi Kubernetes xizmatiga ruxsat berish uchun faqat chaqirilayotgan DNS nomini ko‘rsating, masalan:
GATEWAY_EGRESS_ALLOWED_HOSTS=my-mcp-server.my-ns.svc
Buning o‘rniga tegishli pod yoki xizmat CIDR’iga ruxsat berishingiz mumkin. Faqat VPN orqali yoki xususiy tarmoqda ishlaydigan serverlar uchun barcha xususiy manzil diapazonlarini yoqish o‘rniga aniq xost nomi yoki tor CIDR qo‘shing.
Tashqi chiqish ruxsatnomalari ro‘yxatini imkon qadar tor saqlang. Dastlabki testni osonlashtirish uchungina himoyani o‘chirib qo‘ymang.
Ilg‘or operatsion maslahatlar
- Insonlar va dasturlar kirishini ajrating: Administratorlar uchun konsol hisoblaridan, agentlar va avtomatlashtirish uchun esa gateway tomonidan beriladigan API kalitlaridan foydalaning.
- Kalitlarni profillarga bog‘lang: Profilga bog‘langan kalit chaqiruvchilarga so‘rov sarlavhasi orqali profil tanlashga ruxsat berishdan ko‘ra kuchliroq kafolatlar beradi.
- Hisob ma’lumotlarini gateway’da saqlang: Agentlar asosiy maxfiy ma’lumotlarni olmasligi uchun connector hisob ma’lumotlarini markazlashgan holda sozlang.
- Connector hisob ma’lumotlarini almashtirib turing: Har bir agentni alohida yangilash o‘rniga connector va hisob ma’lumotlarini boshqarish funksiyalaridan foydalaning.
- Ma’lumotlarni yozib olishni boshqaring: Maxfiy promptlar yoki vosita natijalarini qayta ishlashdan oldin so‘rov va javob tanasi saqlanishi kerak yoki kerak emasligini belgilang.
- Bir nechta replika uchun reja tuzing: MCP qatlamini bir replikadan ko‘proqqa kengaytirishda ixtiyoriy Redis-protokolli sessiyalar omborini sozlang.
- Tor egress qoidalaridan foydalaning: Keng xususiy diapazonlar o‘rniga alohida hostlar yoki CIDR’larni ruxsat etilganlar ro‘yxatiga kiriting.
- Tayyor misollarni ko‘rib chiqing: Alohida misollar qo‘shimcha ssenariylarni qamrab oladi va zarur vositalar yoki vendor kalitlarini o‘z README fayllarida ko‘rsatadi.
- O‘zgarishlarga tayyor bo‘ling: Loyiha 1.0 dan oldingi alfa dasturiy ta’minot bo‘lgani sababli, API va konfiguratsiya kichik versiyalar orasida o‘zgarishi mumkin.
Docker’dan tashqarida qurish
Mahalliy ishlab chiqish uchun Go 1.27, Node.js 26 va make ni o‘rnating. Repozitoriy make build va make run ish jarayonlarini taqdim etadi. Ixtiyoriy ishlab chiqish va reliz vositalariga golangci-lint, govulncheck va goreleaser kiradi.
Ishlab chiqish qoidalari, test buyruqlari, pull request bo‘yicha yo‘riqnomalar hamda store, sink va providerlar uchun kengaytirish nuqtalari haqida hissa qo‘shish qo‘llanmasidan qarang.
Xulosa
AI Agent Gateway autentifikatsiyadan o‘tgan endpointlar orqali MCP vositalari va bir nechta LLM providerlariga kirishni markazlashtiradi. Uning profilni majburiy qo‘llash, hisob ma’lumotlarini kiritish, chiquvchi tarmoqni boshqarish va kuzatuv funksiyalari siyosat hamda maxfiy ma’lumotlarni alohida agent konfiguratsiyalaridan tashqarida saqlashga yordam beradi.
Docker Compose quickstart qo‘llanmasidan boshlang, yaratilgan administrator kalitini saqlang, konsol foydalanuvchisini yarating va birinchi connector ish jarayonini yakunlang. Shundan so‘ng profilga bog‘langan API kalitlarini qo‘shing, provider kirishini sozlang, mos tana yozuvi siyosatini tanlang va ClickHouse analitikasini faqat qo‘shimcha ko‘rinuvchanlik zarur bo‘lganda yoqing.
