پرش به محتوای اصلی
پرش به محتوای مقاله

درون معماری Polypore برای واگذاری کنترل ابزارهای دیباگ به عامل‌ها

·۲۷ خرداد ۱۴۰۵۵ دقیقه مطالعه
IDE مدولار طراحی‌شده برای کدنویسی عامل‌محور
IDE مدولار طراحی‌شده برای کدنویسی عامل‌محور
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تغییر پارادایم از AI به عنوان «کمک‌کننده» به AI به عنوان «شهروند اول» محیط IDE؛ جایی که UI برای مدل طراحی شده است، نه برای انسان.

اگر در حال حاضر گردش‌های کاری مبتنی بر عامل (Agentic Workflows) می‌سازید، احتمالاً بزرگ‌ترین گلوگاه شما محیط برنامه‌نویسی است که هوش مصنوعی را تنها به شکل یک پنجرهٔ چت در حاشیه می‌بیند. Polypore که در ۱۷ ژوئن ۲۰۲۶ منتشر شد، این معادله را تغییر داد و کل محیط را بر پایهٔ این فرض طراحی کرد که عامل، بازیگر اصلی است، نه یک دستیار.

بسیاری از ویرایشگرهای مدرن، ابزارهای متنی قدیمی هستند که هوش مصنوعی به آن‌ها «چسبانده» شده است. پولی‌پور در زمانی عرضه شد که الگوهای سازمان‌دهی مدل‌ها سریع‌تر از چرخه‌های انتشار نرم‌افزارهای سنتی تغییر می‌کنند. برای حل این مشکل، توسعه‌دهندگان سیستمی ماژولار ساختند که در آن هر سطح، یک پنل ایزوله و قابل‌جابه‌جایی است؛ بنابراین IDE می‌تواند به همان سرعتِ مدل‌های محرکش تکامل یابد.

زمینه و فلسفه اصلی

Polypore به گونه‌ای طراحی شده که هم مستقل از زبان برنامه‌نویسی و هم مستقل از سیستم‌عامل باشد. این ابزار از ذهنیت «اول ویرایشگر» فاصله گرفته است؛ در عوض، چیدمان، سیستم حافظه، ابزارهای دیباگ و سرور MCP همگی برای عامل ساخته شده‌اند.

هر سطح از رابط کاربری، یک پنل ایزوله (Sandboxed) است که پشت یک قرارداد مشترک قرار دارد. این بدان معناست که هر بخشی از IDE را می‌توان بدون دست زدن به هسته، تعویض کرد، گسترش داد یا حذف کرد. این محیط هیچ‌گونه تله‌متری (جمع‌آوری داده‌های کاربر) ندارد و تحت لایسنس MIT منتشر شده است.

طبق مستندات گیت‌هاب این پروژه، هسته‌ی سیستم یک Sidecar مبتنی بر Node است که از پروتکل MCP (پروتکل مدل-سیاق) استفاده می‌کند. این ساختار به عامل‌هایی مانند Claude Code اجازه می‌دهد تا به طور خودکار سرور را از فایل .mcp.json شناسایی کرده و بیش از ۲۲ ابزار تخصصی را در چندین فضای نام (Namespace) مختلف اجرا کنند.

جزئیات قابلیت‌های عامل

بر اساس مستندات فنی، قابلیت‌های کلیدی ارائه شده به عامل عبارتند از:

  • polypore.debug: شروع جلسات، تعیین نقاط توقف (Breakpoints)، پیمایش کد (Stepping) و ثبت لاگ‌های کنسول، DOM یا شبکه.
  • polypore.memory: خواندن و نوشتن در پایگاه دانش پروژه با استفاده از لینک‌های ویکی [[wikilinks]] و مدیریت موجودی‌های سیاق (Context Inventories) و اسناد تحویل (Handoff Documents).
  • polypore.secrets: ارسال درخواست‌های HTTP واسطه‌ای، به گونه‌ای که عامل هرگز متن ساده‌ی رمزها را نمی‌بیند.
  • polypore.verify: تعریف و اجرای مجموعه‌های تأیید (Verification Suites) برای تضمین کیفیت کد.
  • polypore.tasks: ایجاد و به‌روزرسانی وظایفی که در لحظه در IDE قابل مشاهده‌اند.
  • polypore.phase: گزارش مرحله‌ی فعلی گردش کار به رابط کاربری زنده.
  • polypore.skills: خواندن کتابخانه‌ی مهارت‌های فعال.
  • polypore.format: اجرای مستقیم فرمت‌کننده‌ها در ویرایشگر.

اکوسیستم پنل‌ها

کاربران می‌توانند از طریق دکمه‌ی تب + به هشت پنل اصلی دسترسی داشته باشند:

  • claude & codex: ترمینال‌های CLI با قابلیت اجرای سریع از طریق دستورات اسلش (Slash-commands).
  • preview: خروجی زنده برای مرورگرها، CLIها یا سرورهای توسعه.
  • editor: ویرایشگر Monaco که دارای تشخیص خطاهای (Diagnostics) هر پروژه است.
  • diff-stack: مقایسه‌های تغییرات (Diffs) در کنار هم با یک فید تاریخچه قابل پیمایش.
  • terminal: یک ترمینال pty مستقل.
  • debug: بخش اختصاصی برای اجراهای تأییدیه و تشخیص خطا.
  • memory: پایگاه دانش پروژه.
  • agent: بوم کاری برای Formation، مهارت‌ها، مدیریت MCP و رمزها.

افزونه‌های شخص ثالث در iframeهای ایزوله و با قرارداد HostRpcServer میزبانی می‌شوند. توسعه‌دهندگان می‌توانند یک افزونه را در مسیر .polypore/plugins/<id>/ قرار دهند تا در نوار پنل‌ها ظاهر شود.

از نظر فنی، این پشته برای عملکرد بالا ساخته شده است؛ از Tauri 2 و Rust برای پوسته، React 18، Vite و Monaco برای رندرینگ و ویرایشگر، و SQLite از طریق rusqlite برای ذخیره‌سازی استفاده می‌کند. پوسته همچنین نظارت بر فایل‌ها را از طریق notify و یک پروتکل سفارشی plugin:// مدیریت می‌کند.

یکی از حیاتی‌ترین ویژگی‌های امنیتی، «کارگزار رمزها» (Secret Broker) است. رمزها در Keyring سیستم‌عامل (از طریق crate keyring) ذخیره می‌شوند. وقتی Polypore یک عامل را فعال می‌کند، رمزهای ثبت‌شده را از محیط حذف کرده و آن‌ها را با نشانگرهای POLYPORE_SECRET_HANDLE_<KEY> جایگزین می‌کند. طبق گزارش توسعه‌دهندگان، وقتی عامل دستور polypore.secrets.use را صدا می‌زند، پولی‌پور مقدار واقعی را تزریق کرده و در مسیر بازگشت آن را ماسک می‌کند تا مدل هرگز رمز خام را نبیند.

برای کسانی که حلقه توسعه را خودکار می‌کنند، مهارت‌های «Polyflow» تعبیه شده است. این‌ها ۱۵ دستور سریع (Slash Commands) هستند — از جمله /polyflow-tdd برای توسعه‌محور-آزمون، /polyflow-improve-architecture برای بهبود معماری، /polyflow-brainstorming برای ایده‌پردازی، /polyflow-writing-plans برای نوشتن برنامه‌ها، /polyflow-executing-plans برای اجرای برنامه‌ها و /polyflow-prd برای مستندات نیازمندی‌ها — که کل چرخه از طراحی تا تضمین کیفیت را پوشش می‌دهند.

این تغییر معماری به این معناست که IDE دیگر فقط جایی برای نوشتن کد نیست، بلکه یک «زمان اجرا» (Runtime) برای عامل‌هاست. با جداسازی پنل‌های UI از هسته از طریق یک قرارداد مشترک، توسعه‌دهندگان می‌توانند مدل تعامل را بدون بازسازی کل ویرایشگر تغییر دهند.

برای شروع، به Node 20+ و Rust پایدار نیاز دارید. کاربران لینوکس علاوه بر این‌ها به libwebkit2gtk-4.1-dev، libgtk-3-dev، libayatana-appindicator3-dev و librsvg-dev نیاز دارند. نسخه‌های AppImage، deb و rpm برای لینوکس، و نسخه‌های dmg برای مک و msi یا exe برای ویندوز در صفحه انتشار در دسترس هستند. توجه داشته باشید که AppImageهای لینوکس به FUSE (نسخه fuse2 در آرچ) نیاز دارند و باید از طریق chmod +x قابل اجرا شوند.

گام بعدی شما

  • اگر از Claude Code استفاده می‌کنید، سرور MCP پولی‌پور را نصب کنید تا مدل دسترسی مستقیم به ابزارهای دیباگ سیستم شما داشته باشد.
  • دستورات /polyflow را برای تبدیل ایده‌های خام به PRD و سپس کد، در یک چرخه بسته امتحان کنید.
  • ساختار .polypore/plugins/ را بررسی کنید تا متوجه شوید چگونه می‌توانید ابزارهای اختصاصی خود را به صورت ایزوله به محیط اضافه کنید.

اما تأثیر این مدلِ «Runtime-first» بر آینده‌ی ابزارهای Low-code حتی تکان‌دهنده‌تر است — به تحلیل ما درباره‌ی ادغام مدل‌های استدلالی در محیط‌های بصری مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با تکیه بر استاندارد MCP، اعتبار توسعه‌ی عامل‌محور را از حد حدس و گمان به کنترل دقیق عملیاتی می‌برد. نتیجه‌ی آن، کاهش نرخ خطای کدنویسی در پروژه‌های بزرگ است که پیش از این به دلیل نبود دید سیستمی در مدل‌ها رخ می‌داد.

تأثیر برای ایران

برنامه‌نویسان ایرانی می‌توانند با نصب نسخه‌های دسکتاپ این ابزار و اتصال به مدل‌های بازمتن از طریق MCP، محیط‌های توسعه‌ی خودکار را بدون وابستگی کامل به اشتراک‌های گران‌قیمت ابری آزمایش کنند.

·نگاه ما
تحریریه دات‌هوش

جابه جایی مرکز ثقل از «رابط کاربری انسان» به «رابط کاربری ماشین» در IDEها، پایان دوران افزونه‌های ساده است. Polypore با تبدیل محیط توسعه به یک مجموعه‌ای از ابزارهای قابل فراخوانی، در واقع یک سیستم‌عامل کوچک برای مدل‌های زبانی خلق کرده است. این تغییر باعث می‌شود محدودیت پنجره متنی با دسترسی مستقیم به وضعیت (State) محیطی جایگزین شود.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.