معرفی Respan: گیتوی هوش مصنوعی متنباز و مبتنی بر Rust با معماری پلاگینمحور — Launch HN: Respan (YC W24) – Open-source Rust AI gateway built around plugins
خلاصه
پروژه Respan یک گیتوی هوش مصنوعی متنباز و نوشته شده با زبان Rust است که با الهام از Nginx، ساختاری بسیار سبک و کاملاً پلاگینمحور دارد. این ابزار به توسعهدهندگان اجازه میدهد بدون دستکاری هسته، قابلیتها، ارائهدهندگان و پروتکلهای مختلف را به سیستم اضافه کنند.
توسعهدهندگان اپلیکیشنهای هوش مصنوعی معمولاً برای مدیریت درخواستها، تغییر ارائهدهندگان (مانند OpenAI و Anthropic) و افزودن قابلیتهایی مثل پایش امنیت و Fallback از گیتویهای مختلفی استفاده میکنند. تیم سازنده Respan (از پذیرفتهشدگان YC W24) پس از سالها کار با ابزارهایی مانند LiteLLM و مواجهه با حجم بالای کدهای سفارشی و مشکلات بهروزرسانی، تصمیم گرفتند راهکار متفاوتی را از ابتدا با زبان Rust پیادهسازی کنند.
معماری هسته کوچک و پلاگینمحور
بسیاری از گیتویهای موجود تلاش میکنند تمام ویژگیها، پروتکلها و ارائهدهندگان را به صورت پکیجشده در دل خود جای دهند. این مسئله توسعه قابلیتهای جدید را دشوار میکند. در مقابل، Respan با الهام از Nginx رویکردی متفاوت دارد:
- هسته بسیار کوچک: هسته مرکزی تنها مسئولیت مدیریت و توزیع رویدادها را بر عهده دارد.
- همهچیز یک پلاگین است: ارائهدهندگان (مانند OpenAI یا Gemini)، پروتکلها (مثل MCP و صوت لحظهای)، مودالیتیها (تصویر و ویدیو) و قابلیتهای امنیتی و حفاظتی (مثل پنهانسازی اطلاعات شخصی یا PII) همگی به عنوان پلاگین پیادهسازی میشوند.
- توسعهپذیری ساده: به گفته تیم سازنده، نوشتن یک پلاگین جدید برای یک ارائهدهنده بسیار ساده است و کدهای مربوط به ویژگیهای خاص هر سرویس مجزا نگه داشته میشوند.
جزئیات فنی و نحوه کارکرد گیتوی
این گیتوی درخواستهای HTTP یا وبسوکت را دریافت کرده و به جریانی دوطرفه از رویدادهای تایپشده تبدیل میکند. هسته مرکزی، پلاگینها را به ترتیب ثبتنام اجرا میکند تا ارائهدهنده را انتخاب کنند، استریمها را فیلتر کنند یا درخواست را تغییر دهند. اگر کلاینت و ارائهدهنده از یک فرمت یکسان استفاده کنند و تغییری لازم نباشد، بایتها و فیلدهای اختصاصی پروتکل بدون تغییر عبور داده میشوند. در غیر این صورت، تبدیل از طریق ساختارهای داده مشترک برای پیامها، ابزارها و استریمها صورت میگیرد.
نگاه جامعه توسعهدهندگان در Hacker News
در بحثهای شکلگرفته پیرامون این پروژه در هکرنیوز، توسعهدهندگان پرسشهای مهمی را مطرح کردند:
- مدل پلاگین در Rust: یکی از کاربران درباره ماهیت کامپایلی یا مفسری بودن مدل پلاگینها در Rust پرسید.
- امنیت زنجیره تامین و پیچیدگی: کاربری دیگر با اشاره به تجربیات منفی از اکوسیستمهای پلاگینمحور نامتمرکز، این سؤال را مطرح کرد که چرا معماری پلاگینمحور به جای یک محصول یکپارچه و استاندارد ارائهشده توسط یک تیم متمرکز ترجیح داده میشود و ابراز نگرانی کرد که این مدل میتواند ریسکهای امنیتی زنجیره تأمین (Supply Chain) را افزایش دهد.
این پروژه تحت مجوزهای متنباز MIT یا Apache-2.0 منتشر شده است و توسعهدهندگان میتوانند آن را به صورت محلی اجرا کنند یا برای استفاده از نسخه میزبانیشده و قابلیتهای مانیتورینگ آن اقدام نمایند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مطلب اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل