تصور کنید میخواهید از یک مدل هوش مصنوعی روی سیستم خود استفاده کنید، اما به جای چت کردن، ساعتها درگیر نصب داکر، تنظیم محیطهای مجازی پایتون و رفع خطاهای ترمینال میشوید. این وضعیت دقیقاً همان دبری که PolyUI قصد حذف آن را دارد.
PolyUI که در ۶ ژوئیه ۲۰۲۶ با مجوز MIT منتشر شد، تجربهی اجرای مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — را از یک «پروژهی مهندسی شده» به یک «اپلیکیشن دسکتاپ» تغییر داد. طبق مستندات رسمی این پروژه، هدف اصلی PolyUI حذف اصطکاک فنی برای کاربرانی است که حریم خصوصی را ترجیح میدهند اما تخصص برنامهنویسی ندارند.
همانطور که در تحلیلهای پیشین ما دربارهی میزبانی شخصی (Self-hosting) اشاره کردیم، مشکل اصلی همواره دسترسی به سختافزار نبود، بلکه پیچیدگی لایههای نرمافزاری بود. PolyUI این مشکل را با استفاده از Tauri v2 حل کرده است تا یک رابط کاربری مدرن با React را به یک هستهی پردازشی سریع با زبان Rust متصل کند. به گزارش وبسایت dev.to، این برنامه بر فلسفهی «اول محلی» (local-first) استوار است؛ به این معنا که هیچ دادهای بدون اجازه کاربر از دستگاه خارج نمیشود.
معماری فنی و سازوکارها
برای حفظ سرعت و قابلیت تست، PolyUI از ساختاری تفکیکشده استفاده میکند:
- رابط کاربری: استفاده از Zustand برای مدیریت وضعیتها در دستههای مجزا (احراز هویت، چت و مدلها).
- ذخیرهسازی: پیادهسازی SQLite از طریق لایهی tauri-plugin-sql برای مدیریت دادهها.
- جریان داده: هستهی Rust رویدادهای تایپشدهای مثل
chat-chunkرا ارسال میکند که با استفاده ازrequestAnimationFrameدستهبندی میشوند تا از فشار بیش از حد به React برای بازرند کردن هر توکن (Token) — تکههای کوچکی از متن، مثل برشهای یک کیک طولانی — جلوگیری شود. - بک-اند: بهرهگیری از یک حلقهی فراخوانی ابزار (tool-calling loop) که اجازه میدهد منطق برنامه حتی بدون باز بودن پنجرهی uygulama تست شود. این رویکرد برای مدیریت ابزارها، یادآور معماری Polypore در واگذاری کنترل ابزارهای دیباگ به عاملها است که بر تعامل هوشمند با محیط توسعه تمرکز دارد.
قابلیتهای فعلی
این ابزار امکان گفتگو با چندین مدل را بهطور همزمان (side-by-side) فراهم میکند و از نمایش کامل Markdown و فرمولهای LaTeX پشتیبانی میکند. این قابلیت مدیریت همزمان چتها، مکمل رویکردهایی نظیر مدل درختی گفتگو در Branch Agent است که برای سازماندهی نسخههای مختلف گفتگو طراحی شده است. طبق اعلام سازندگان، کاربران میتوانند مدلهای Ollama را مستقیماً از داخل محیط برنامه نصب کنند. همچنین حالت «مهمان» برای چتهای موقتی تعبیه شده که هیچ اثری روی دیسک سخت باقی نمیگذارد.
این معماری باعث میشود تجربه کاربر از «پیکربندی یک سرور» به «اجرای یک برنامه» تغییر کند. در واقع PolyUI مدلهای محلی را به محصولاتی در سطح مصرفکننده تبدیل میکند.
گام بعدی شما
- اگر به حریم خصوصی دادهها اهمیت میدهید، مخزن GitHub پروژه monolabsdev/poly-ui را بررسی کنید.
- مدلهای سبکوزن Ollama را برای تست سرعت پاسخدهی در PolyUI امتحان کنید.
- برای بهینهسازی مصرف رم، مدلهای کوانتیده شده را در این کلاینت اجرا کنید.
اما برای درک بهتر اینکه چرا زبان Rust در این ابزارها کلیدی است، به بررسی ما دربارهی بهینهسازیهای حافظه در استنتاج مدلها مراجعه کنید.




گفتگو