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

FLASH: ادغام مدل‌های زبانی محلی در ترمینال سیستم با دسترسی مستقیم به مرورگر

·۴ شهریور ۱۴۰۵۸ دقیقه مطالعه۵ بازدید
کاربر روی لینکی در وب‌سایت کلیک می‌کند و ترمینال هوش مصنوعی با پرامپت از پیش بارگذاری‌شده باز می‌شود.
کاربر روی لینکی در وب‌سایت کلیک می‌کند و ترمینال هوش مصنوعی با پرامپت از پیش بارگذاری‌شده باز می‌شود.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

ایجاد یک پل مستقیم بین مرورگر و ترمینال محلی از طریق URI Handler؛ به طوری که یک لینک وب می‌تواند مستقیماً یک عامل AI را برای اجرای دستورات سیستمی فعال کند.

تصور کنید با وارد کردن یک لینک ساده در نوار آدرس مرورگر، ترمینال سیستم شما باز شود و یک عامل هوش مصنوعی بلافاصله شروع به اجرای دستورات پیچیده روی فایل‌هایتان کند. برای مثال، وارد کردن عبارت flash://?prompt=Introduce+yourself+and+explain+what+makes+you+different در مرورگر، فوراً یک ترمینال را باز کرده و یک AI را به کار می‌اندازد. این دقیقاً همان چیزی است که FLASH ارائه می‌دهد؛ ابزاری که مرز میان وب و خط فرمان را از بین می‌برد.

طبق گزارشی که در ۲۶ اوت ۲۰۲۶ در وب‌سایت dev.to منتشر شد، این ابزار از یک هندلر اختصاصی با پروتکل flash:// استفاده می‌کند تا محتوای وب را مستقیماً به اجرای محلی متصل کند. این یعنی یک لینک در مرورگر می‌تواند به طور آنی یک AI محلی را برای اجرای یک پرامپت خاص فعال کند و دیگر نیازی نیست پرامپت‌ها را از مرورگر کپی کرده و در ترمینال جای‌گذاری کنید. این رویکرد یادآور قابلیت اتصال مستقیم به URL در مدل Claude است که امکان تعامل مستقیم‌تر میان مدل‌های زبانی و محیط‌های وب را فراهم کرده بود.

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

ادغام عمیق با سیستم

FLASH به عنوان یک پوسته واقعی عمل می‌کند و دسترسی مستقیم به سیستم‌عامل زیربنایی دارد. کاربران می‌توانند از سه حالت مختلف برای هدایت مدل استفاده کنند:

  • زبان انگلیسی ساده: توصیف هدف در قالب جملات معمولی. اگر مدل برای رسیدن به جواب نیاز به خواندن یک فایل، اجرای یک دستور، بررسی یک تصویر یا جست‌وجوی وب داشته باشد، خودش ابزار مناسب را انتخاب و به کار می‌گیرد.
  • دستورات اسلش (Slash Commands): مجموعه‌ای از دستورات صریح که هنگام تایپ پیشنهاد می‌شوند. دستورات کلیدی عبارتند از:
    • /help یا /?: نمایش پیام راهنمای فعلی.
    • /model: نمایش یا تغییر مدل فعال به صورت زنده.
    • /auto: فعال یا غیرفعال کردن حالت خودکار (Autonomous).
    • /set و /unset: تنظیم یا حذف متغیرهای محیطی بدون نیاز به ری‌استارت کردن برنامه.
    • /refresh: بارگذاری مجدد تنظیمات از روی دیسک.
    • /clear: پاک کردن تاریخچه گفتگو.
    • /image: ارسال صریح یک تصویر به مدل.
    • /bye: خروج از برنامه.
  • پیشوند ! (Pass-through): برای زمانی که کاربر نمی‌خواهد AI دخالت کند. دستوراتی مثل !git status یا !npm run dev مستقیماً به یک کانال ترمینال واقعی ارسال می‌شوند و نه یک شبیه‌ساز. این امر تضمین می‌کند که پرامپت‌های تعاملی و ویرایشگرها به طور عادی کار کنند. نکته حیاتی این است که رمزهای عبور تایپ شده در دستورات با پیشوند ! مستقیماً به لایه ورودی ماسک‌شده ترمینال می‌روند؛ آن‌ها برای FLASH نامرئی هستند، ثبت نمی‌شوند و هرگز به مدل نمی‌رسند.

بر روی لینکی در وب‌سایت کلیک کنید. هوش مصنوعی ترمینال من با پرامپت از پیش بارگذاری‌شده باز می‌شود.

آگاهی بصری و رندرینگ مرورگر

برخلاف ابزارهایی که صرفاً کد HTML را واکشی می‌کنند، FLASH با استفاده از Playwright صفحات وب را واقعاً رندر می‌کند. مدل فقط کد منبع را نمی‌خواند، بلکه از یک مرورگر واقعی با اندازه ویوپورتی (Viewport) که توسط کاربر انتخاب شده استفاده می‌کند، سپس اسکرین‌شاتی می‌گیرد و آن را به صورت پیکسل تحلیل می‌کند.

برای مثال، کاربر می‌تواند دستور دهد: «از localhost:3000 در عرض موبایل اسکرین‌شات بگیر و بگو چه چیزی خراب است». مدل یک اسکرین‌شات ۳۹۰x۸۴۴ می‌گیرد و می‌تواند خطاهای بصری خاص را شناسایی کند؛ مثلاً منوی ناوبری که جمع می‌شود اما هرگز باز نمی‌شود، یا المان‌هایی که ۴۰ پیکسل از لبه راست بیرون زده‌اند و باعث ایجاد نوار اسکرول افقی شده‌اند. این «حلقه بصری» باعث می‌شود AI خروجی رندر شده واقعی را تأیید کند، نه اینکه بر اساس کدی که خودش نوشته خیال‌بافی کند.

پردازش تصویر و دسترسی به دیسک

فراتر از مرورگر، FLASH می‌تواند هر تصویری را در دیسک محلی ببیند. کاربران می‌توانند به سادگی نام یک فایل را در جمله بیاورند، مانند «به mockup.png نگاه کن و سایتی بساز که شبیه آن باشد» یا «این اسکرین‌شات کرش است: error-report.png. واقعاً دارم به چه چیزی نگاه می‌کنم؟».

  • خوانش در سطح پیکسل: مدل پیکسل‌های واقعی را می‌خواند. متن‌های خطا و برچسب‌ها به صورت تحت‌اللفظی و کاراکتر به کاراکتر خوانده می‌شوند.
  • گزارش‌دهی صادقانه: اگر ناحیه‌ای از تصویر بیش از حد تار یا بریده باشد، مدل به جای توهم (Hallucination) — شبیه به دوستی که خاطره‌ای را اشتباه تعریف می‌کند تا جای خالی اطلاعاتش را پر کند — صراحتاً اعلام می‌کند که قادر به خواندن آن بخش نیست.
  • مدیریت صریح تصاویر: دستور /image <path> <prompt> قابلیت تکمیل خودکار مسیر فایل را دارد که برای فرمت‌های PNG، JPG، JPEG، WEBP، GIF و BMP فیلتر شده است و برای مسیرهایی که دارای فاصله (Space) هستند، به طور خودکار کوتیشن می‌گذارد.

مدیریت خودکار وابستگی‌ها

یکی از متمایزترین مکانیزم‌های FLASH در مواجهه با خطاهاست. وقتی دستوری به دلیل نبود یک پیش‌نیاز (Dependency) شکست می‌خورد، عامل (Agent) — شبیه به کارمندی که به جای گزارش مشکل، خودش سریعاً ابزار لازم را تهیه می‌کند — صرفاً خطا را به کاربر گزارش نمی‌دهد. در عوض، پیام خطا را می‌خواند، راه حل را شناسایی کرده و دستور نصب را خودش اجرا می‌کند. این قابلیت اتوماسیون در عیب‌یابی، شباهت زیادی به سیستم‌های دستیار تحلیل خطا مانند OpenClaw دارد که برای تسهیل فرآیند دیباگینگ طراحی شده‌اند.

در یک مورد مستند شده، وقتی درخواست اسکرین‌شات با خطای Playwright is installed but its Chromium is not مواجه شد، FLASH از کاربر کمک نخواست. مدل خطا را خواند، اعلام کرد که در حال نصب Chromium برای Playwright است، دستور Bash(playwright install chromium) را اجرا کرد و سپس به طور خودکار درخواست اصلی اسکرین‌شات را ادامه داد. این فلسفه طراحی، وابستگی‌های گم‌شده را به عنوان یک گام در مسیر می‌بیند، نه یک بن‌بست.

معماری محلی-محور (Local-First)

حریم خصوصی و حاکمیت داده‌ها در مرکز طراحی این ابزار قرار دارد. در حالی که بسیاری از ابزارها ادعای «محلی بودن» دارند، اما اغلب دستورات شل را محلی اجرا کرده در حالی که مدل «متفکر» روی یک سرور راه دور است. FLASH تضمین می‌کند که هم ابزارها و هم مدل روی سخت‌افزار کاربر اجرا شوند. داده‌های شما هرگز از سیستم خارج نمی‌شوند مگر اینکه صراحتاً دستور دهید.

  • پشتیبانی از مدل‌ها: مدل پرچم‌دار این پروژه، Flash Onyx 2 بر پایه Gemma 4 است که در نسخه‌های ۱۲ و ۳۱ میلیارد پارامتری با پنجره متنی (Context Window) — شبیه به میز کاری که جا برای چند ورق دارد، نه برای کل کتابخانه — ۳۲ هزار توکنی عرضه شده و از هر دو ورودی متن و تصویر پشتیبانی می‌کند.
  • استنتاج (Inference): این ابزار با Ollama یکپارچه شده است. متغیر محیطی OLLAMA_HOST تعیین می‌کند که هوش مدل کجا باشد: اگر تنظیم نشده باشد یا http://localhost:11434 باشد، اجرا محلی است، و اگر یک IP راه دور (مثلاً http://192.168.1.50:11434) باشد، از یک سرور خانگی یا کلاستر استفاده می‌کند.
  • پایداری: ابزار با به خاطر سپردن استک‌ها و قراردادهای کاربر در جلسات مختلف، مشکل «حافظه ماهی قرمز» را حل کرده است. کاربران می‌توانند از آن بخواهند چیزی را به خاطر بسپارد، از طریق جست‌وجوی کلیدواژه آن را بازیابی کند یا بخواهند آن را فراموش کند. در طول یک جلسه، کوتاه کردن خودکار تاریخچه (History Trimming) از خطاهای مربوط به ظرفیت کانتکست در جلسات کاری طولانی جلوگیری می‌کند.
  • تنظیمات: تغییرات اعمال شده از طریق /set مستقیماً در فایل ~/.flash.env ذخیره می‌شوند تا در اجراهای بعدی باقی بمانند. کاربران همچنین می‌توانند از یک فایل متنی مطابق با docs/CONFIGURATION.md استفاده کنند.

تجربه کاربری و رابط کاربری

FLASH برای اینکه «زنده» به نظر برسد و نه یک اسکریپت ایستا، قابلیت‌های بهبود کیفیت زندگی (QoL) متعددی دارد:

  • خروجی جریانی (Streaming): پاسخ‌های نهایی به صورت توکن به توکن نمایش داده می‌شوند تا کاربر با عدم قطعیتِ یک آیکون لودینگ مواجه نشود.
  • فرمت‌بندی غنی: ترمینال از رندرینگ واقعی Markdown پشتیبانی می‌کند و از نمایش ستاره‌های خام یا دیواره‌ای از متن‌های یکدست جلوگیری می‌کند.
  • تولید سند: زمانی که متن ترمینال کافی نباشد، ابزار می‌تواند فایل‌های واقعی DOCX و PDF تولید کند.
  • نکات تعاملی: در زمان بیکاری، نکاتی کاربردی به صورت حرف به حرف نمایش داده می‌شوند که دستورات و پرامپت‌های نمونه را به صورت چرخشی معرفی می‌کنند.

حالت خودکار و ایمنی

با فعال کردن /auto دیگر نیازی به تایید کاربر برای اجرای دستورات شل نیست. برای جلوگیری از توقف عامل، FLASH شامل یک لایه اجرای خودآگاه است که وقتی عامل دستوری را اجرا می‌کند، ورودی را به طور خودکار قطع می‌کند تا مدل برای همیشه منتظر پرامپتی نماند که نمی‌تواند ببیند.

با این حال، توسعه‌دهندگان هشدار می‌دهند که حالت خودکار واقعاً ریسک‌پذیر است. این حالت فقط باید در دایرکتوری‌های مورد اعتماد و روی ماشین‌هایی استفاده شود که کاربر با دسترسی کامل AI به شل راحت است. برای کمک به کاربرانی که پشت میز نیستند، FLASH در لحظه پایان یافتن یک تسک طولانی یا نیاز به ورودی، اعلان‌های ویندوزی (Windows Notifications) می‌فرستد، حتی اگر پنجره برنامه مینیمایز شده باشد.

نصب و نگهداری

نصب این ابزار به گونه‌ای طراحی شده که در کمتر از یک دقیقه انجام شود. در macOS و لینوکس، نصب از طریق دستور curl -fsSL https://flashproject.dev/install.sh | bash و در ویندوز از طریق irm https://flashproject.dev/install.ps1 | iex انجام می‌شود. نصب‌کننده مخزن را کلون کرده، با pipx نصب می‌کند و هندلر URL flash:// را ثبت می‌نماید. برای کسانی که می‌خواهند ابزار را حذف کنند، یک دستور تک‌مرحله‌ای حذف نصب وجود دارد که هیچ اثری از خود باقی نمی‌گذارد.

تحلیل: تغییر در رابط میان AI و توسعه‌دهنده

برای یک توسعه‌دهنده عمل‌گرا، FLASH نشان‌دهنده تغییر رویکرد از «AI به عنوان مشاور» به «AI به عنوان اپراتور» است. با ادغام مدل در شل و دادن چشم‌های بصری از طریق Playwright، این ابزار کارهای دستی مربوط به تنظیم محیط و تایید بصری را حذف می‌کند. این ابزار بر اساس «حس و حال» (Vibe-coded) ساخته نشده است؛ هر تغییر قبل از انتشار توسط انسان بررسی می‌شود تا پایداری آن تضمین گردد.

این رویکرد، سلطه AIهای ادغام شده در IDE را به چالش می‌کشد. در حالی که افزونه‌های VS Code قدرتمند هستند، اما همچنان محدود به سندباکس IDE هستند. ابزاری که در ترمینال زندگی می‌کند و می‌تواند توسط یک هندلر URL فعال شود، گردش کاری سیال‌تر ایجاد می‌کند که در آن کل سیستم‌عامل به بوم نقاشی AI تبدیل می‌شود.

گام بعدی شما

  • نصب ابزار از طریق اسکریپت‌های رسمی در flashproject.dev برای تجربه ادغام ترمینال و مرورگر.
  • بررسی قابلیت‌های مدل Flash Onyx 2 در گیت‌هاب برای مقایسه مدل‌های ۳۱ میلیارد پارامتری محلی با جایگزین‌های ابری.
  • تست دستور /auto در یک محیط ایزوله (Sandbox) برای مشاهده قدرت مدیریت خودکار وابستگی‌ها.

اما داستان سخت‌افزاری اجرای مدل‌های ۳۱ میلیارد پارامتری روی سیستم‌های خانگی حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی بهینه‌سازی‌های کوانتش در Ollama مراجعه کنید.

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

این ابزار با حذف وابستگی به سرورهای ابری و ادغام مستقیم در سیستم‌عامل، استانداردهای حریم خصوصی و سرعت گردش کار توسعه‌دهندگان را جابه‌جا می‌کند. اعتبار این رویکرد در استفاده از مدل‌های وزن‌باز (Open Weights) است که کنترل کامل را به کاربر بازمی‌گرداند.

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

به دلیل محلی بودن کامل و استفاده از Ollama، این ابزار هیچ محدودیتی برای توسعه‌دهندگان ایرانی ندارد و جایگزینی ایده‌آل برای دستیارهای ابری است که دسترسی‌شان محدود است.

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

تغییر پارادایم از «AI به عنوان مشاور» به «AI به عنوان اپراتور»، خطرناک اما ضروری است. FLASH با دادن چشم (Playwright) و دست (Shell) به مدل، لایه واسط انسانی را حذف می‌کند. این رویکرد نشان می‌دهد که آینده ابزارهای توسعه، نه در افزونه‌های محدود به IDE، بلکه در ابزارهایی است که کل سیستم‌عامل را به بوم نقاشی خود تبدیل می‌کنند.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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