اگر امروز از چندین ویرایشگر هوش مصنوعی روی مک استفاده میکنید، احتمالاً متوجه شدهاید که فضای SSD شما با سرعتی غیرعادی در حال اتمام است. این بار مقصر اصلی Xcode نیست، بلکه حافظههای پنهان (Caches) عاملهای کدنویسی هستند که گیگابایتها فضای دیسک را میبلعند. در حالی که ابزارهای پاکسازی عمومی روی تاریخچه مرورگر یا عکسهای تکراری تمرکز میکنند، یک ابزار ۴ مگابایتی به نام DevCleaner را هدف قرار داده است: «ذخیرههای خصوصی» ابزارهای ساخت و رابطهای مدل زبانی بزرگ (LLM) — که شبیه کتابخانهداری است که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد. این ابزار روی این فرضیه شرط بسته است که بزرگترین تهدید برای فضای دیسک یک توسعهدهنده در سال ۲۰۲۶، نه Xcode، بلکه حافظههای پنهان مخفی عاملهای کدنویسی هوش مصنوعی است.
بسیاری از توسعهدهندگان مک با استرس پر شدن SSD آشنا هستند. برای سالها، مقصران قابل پیشبینی بودند: DerivedData در Xcode، حافظههای Gradle و تکرار بیپایان پوشههای node_modules. با این حال، ظهور ابزارهای کدنویسی عاملمحور (Agentic)، لایهای جدید از دادههای حجیم را معرفی کرده است که پاککنندههای سنتی بهسادگی آنها را شناسایی نمیکنند.
طبق گزارش صفحه محصول، DevCleaner توسط دیوید تربا (David Tereba)، توسعهدهندهای مستقل مستقر در پراگ ساخته شده است. این برنامه در ۱۶ ژوئن ۲۰۲۶ در Product Hunt عرضه شد و در روز اول رتبه ۱۲ را کسب کرد. اگرچه این یک شروع قابل توجه است، اما داستان واقعی در سرعت بهروزرسانیهای پس از آن نهفته است. تربا تنها در عرض دو ماه، چهار نسخه اصلی را منتشر کرد تا ردپای خاص عصر جدید هوش مصنوعی را پوشش دهد.
DevCleaner یک شرطبندی تکمحصولی نیست. این برنامه، ابزار میانی در یک مجموعه سه ابزاری است که تربا برای چرخه عمر توسعهدهندگان مستقل میسازد: Planelo برای ثبت و اولویتبندی ایدههای پروژه، DevCleaner برای مرحله ساخت (Build)، و TesterBuddy برای جمعآوری بازخوردهای بتا از TestFlight و گوگل پلی. هیچکدام از این ابزارها توسط سرمایهگذاران خطرپذیر (VC) تامین مالی نشدهاند؛ آنها ابزارهای کوچک و خودگردانی (Bootstrapped) هستند که مستقیماً به توسعهدهندگان فروخته میشوند.
بحران فضای دیسک در عصر هوش مصنوعی
بین نسخههای ۱.۸.۰ (منتشر شده در ۱۴ جولای) و ۱.۹.۰، این برنامه اسکنرهایی را برای طیف گستردهای از ابزارهای هوش مصنوعی اضافه کرد. این لیست شامل حافظههای پنهان Claude (نسخه دسکتاپ و Claude Code)، Cursor، OpenAI Codex CLI، Cline، Windsurf و Antigravity است.
علاوه بر متادادههای ساده، این ابزار وزنهای مدلهای دانلود شده از Ollama و LM Studio را نیز اسکن میکند. این مدلهای محلی بهراحتی میتوانند دهها گیگابایت فضا اشغال کنند. برای مثال، یک مدل ۷۰ میلیارد پارامتری کوانتیده (Quantized) میتواند دهها گیگابایت حجم داشته باشد و برای دانلود مجدد آن به پهنای باند قابل توجهی نیاز است؛ بنابراین اینها نوع متفاوتی از «زباله» هستند و با یک فایل موقت ساخت (Build file) تفاوت دارند.
این گسترش سریع، یک روند لحظهای را آشکار میکند: ابزارهای کدنویسی عاملمحور در حال تبدیل شدن به یکی از بزرگترین منابع اشغال فضای دیسک در ماشینهای کاری هستند. DevCleaner خود را بهعنوان اولین پاککنندهای معرفی میکند که تفاوت بین یک حافظه Gradle و یک مدل محلی ۴۰ گیگابایتی را میفهمد.
مدل ریسکمحور برای حذف دادهها
DevCleaner بهعنوان یک اسکنر به همراه مدل ریسک عمل میکند و ۲۳ اکوسیستم توسعه را پوشش میدهد. برای جلوگیری از خرابی سیستم، هر مورد شناسایی شده را در سه سطح ریسک متمایز دستهبندی میکند:
- ایمن (Safe - بهطور پیشفرض حذف میشوند): حافظههای خالصی که در ساخت بعدی بهطور خودکار بازسازی میشوند. نمونههایی مانند DerivedData، حافظههای Gradle و حافظههای pip. هزینه اعلام شده برای حذف اینها «فقط یک بار کامپایل کندتر» است و هیچ چیز دیگر.
- هشدار (Warning - تصمیم با شماست، هرگز پیشانتخاب نمیشوند): مواردی که بهکندی بازسازی میشوند یا ممکن است هنوز به آنها نیاز داشته باشید. این دسته شامل شبیهسازهای قدیمی iOS، فایلهای .xcarchives و دستگاههای مجازی اندروید (AVDs) است.
- خطرناک (Danger - دست نزنید): SDKهای حیاتی و نمادهای دستگاه (Device Symbols). حذف اینها میتواند کل محیط توسعه را بههم بریزد. نمونههایی مانند اجزای Android SDK و فایلهای iOS Device Support. برنامه حجم اینها را نشان میدهد، دو بار تایید میگیرد و هرگز بهتنهایی به آنها دست نمیزند.
خواب مصنوعی پروژهها (Project Hibernation)
یکی از متمایزترین قابلیتهای معرفی شده در نسخه ۱.۶، «خواب مصنوعی» یا Project Hibernation است. بهجای اینکه کاربر مجبور شود بین نگه داشتن یک پروژه قدیمی (که باعث اشغال تدریجی دیسک میشود) یا حذف کامل آن (که منجر به از دست رفتن دادهها میشود) یکی را انتخاب کند، قابلیت Hibernation پروژه را در یک فایل فشرده واحد آرشیو میکند.
این ابزار زبالههای بازسازیپذیر مانند node_modules و پوشههای build را حذف کرده و در عین حال فایلهای ضروری lockfiles را حفظ میکند. برای تضمین امنیت، ابزار یک قابلیت «بازگردانی آزمایشی» (Dry-run restore) ارائه میدهد که آرشیو را تایید کرده و دقیقاً پیشنمایش میکند که چه دادهای در کجا قرار میگیرد، پیش از آنکه هر دادهای روی دیسک نوشته شود. این یک safeguard حیاتی برای توسعهدهندگانی است که میترسند پروژهای را به دلیل یک آرشیو خراب از دست بدهند.
این ویژگی دقیقاً یک نقطه درد (Pain point) خاص توسعهدهندگان را هدف قرار داده است: پروژههای جانبی که هشت ماه است به آنها دست نزدهاید. این قابلیت مسیری میانی بین حذف کامل و اشغال دائمی دیسک فراهم میکند، هرچند کاربران تشویق میشوند ابتدا آن را روی پروژههای کماهمیت امتحان کنند تا رفتار آن با monorepoهای پیچیده یا symlinkها تایید شود.
پوشش گسترده اکوسیستمها
دامنه شناسایی DevCleaner بسیار فراتر از هوش مصنوعی است و شامل شناسگرهایی برای موارد زیر است:
- موبایل و IDEها:
- Xcode (شامل DerivedData، حافظه SPM، شبیهسازها، آرشیوها و پشتیبانی از دستگاه)
- Android Studio (حافظههای Gradle، AVDها و توزیعهای wrapper)
- IDEهای JetBrains (ایندکسها، حافظههای کامپایل و لاگها)
- Flutter
- زبانها و مدیریت بسته:
- Node.js (شامل npm, Yarn, pnpm, Bun, node-gyp)
- Python (حافظههای pip و uv wheel، محیطهای مجازی قدیمی)
- Rust (رجیستری cargo و git checkouts)
- Go, Maven, و Composer
- زیرساخت و ابزارها:
- Docker (حافظه ساخت، تصاویر معلق/dangling و کانتینرهای متوقف شده)
- Homebrew, CocoaPods, و Unity
- چارچوبهای تست:
- حافظههای تست مرورگر برای Playwright, Electron, Cypress, و Puppeteer
- اسنپشاتهای شبیهساز اندروید و یک مدیریت کامل دستگاههای شبیهساز
مکانیسم ایجاد حجم اضافی
باید بهطور عینی بررسی کنیم که چرا این حافظهها متورم میشوند. DerivedData در Xcode رشد میکند زیرا هر مدل ساخت (Build variant) و هر هدف شبیهساز، زیرشاخه مخصوص به خود را میسازد؛ توسعهدهندگانی که یک سال است به این پوشه دست نزدهاند، اغلب دهها گیگابایت فضای هدر رفته پیدا میکنند.
حافظه ساخت داکر (Docker build cache) بهطور عمدی سخاوتمندانه طراحی شده تا سرعت ساختهای آینده را افزایش دهد، که اغلب منجر به ایجاد یک فایل docker.raw میشود که پیش از آنکه کاربر دستور docker system prune را یاد بگیرد، ۸۰ گیگابایت فضا را میبلعد.
تکرار node_modules قدیمیترین متخلف است. برخلاف قرارداد site-packages مشترک در پایتون، مدل هر-پروژه در Node به این معناست که یک کتابخانه یکسان، مانند lodash، دهها بار در سراسر ماشین ذخیره میشود. قابلیتهای «پروژههای شبح» (Ghost Projects) و «آرتیفکتهای پروژه» در DevCleaner بهطور خاص این پوشههای فراموششده و دایرکتوریهای .venv یا node_modules مرتبط با آنها را نمایان میکنند.
معماری و اعتماد
از نظر معماری، این برنامه بهعنوان یک اسکنر پسزمینه عمل میکند که جدولی از مسیرهای شناختهشده حافظه را میپیماید. اگرچه متنباز نیست، اما از الگوهای استانداردی شبیه به پروژه متنباز k-angama/macOS-dev-cache-cleaner استفاده میکند که از قانون مشابه «فایل نشانگر به دایرکتوری تولید شده» (مثلاً تطبیق package.json با node_modules) بهره میبرد.
امنیت دغدغه اصلی هر ابزاری است که مجوز حذف دارد. DevCleaner از یک «لیست سیاه سخت» (Hard deny-list) برای اعتبارنامهها و فایلهای نشست (Session) استفاده میکند و قبل از تلاش برای پاکسازی حافظه یک ابزار، بررسی میکند که آیا آن ابزار در حال حاضر در حال اجرا است یا خیر. با این حال، چون هیچ مخزن کد عمومی برای بازبینی (Audit) وجود ندارد، کاربران باید به ادعاهای سازنده در مورد این لیست سیاه اعتماد کنند.
برای توسعهدهندگانی که معمولاً هر diff را قبل از ادغام یک وابستگی میخوانند، این عدم شفافیت یک شکاف است. رویکرد توصیه شده این است که بهجای فعال کردن فوری Auto Clean، با انتخاب دستی دستهها شروع کنند.
قیمتگذاری و دسترسی
قابلیتهای اصلی — شامل اسکن، Quick Clean، شناسایی پروژههای شبح و بازیابی پروژههای خوابیده — رایگان است و نیازی به حساب کاربری ندارد. برای کاربران حرفهای، نسخه Pro با پرداخت یکباره ۲۹ دلاری (قابل فعالسازی روی حداکثر ۳ مک) یا اشتراک سالانه ۱۹.۹۹ دلاری در دسترس است.
این ساختار قیمتگذاری یک حرکت عمدی علیه «خستگی از اشتراک» (Subscription fatigue) رایج در ابزارهای توسعه سال ۲۰۲۶ است، بهطوری که قیمت لایسنس مادامالعمر کمتر از ۱.۵ سال هزینه اشتراک است. برنامه بسیار سبک (۴ مگابایت) است و در نوار منو (Menu bar) با یک نشان (Badge) که فضای قابل بازیابی را نشان میدهد مستقر میشود و نیازی به آیکون در Dock ندارد.
تحلیل رقابتی
در مقایسه با ابزارهای عمومی مانند CleanMyMac، برنامه DevCleaner در تخصص برنده است. یک پاککننده عمومی با دیسک بهعنوان مجموعهای از آشغالهای تفکیکنشده برخورد میکند؛ اما DevCleaner میداند که ~/Library/Developer/Xcode/DerivedData برای حذف امن است، در حالی که ~/Library/Developer/Xcode/DeviceSupport نیست.
در مقایسه با ابزارهای بصری مانند DaisyDisk یا OmniDiskSweeper، این برنامه بهجای ارائه صرفاً یک نقشه از اندازه فایلها، درباره «امنیت حذف» قضاوت میکند. در مقایسه با macOS-dev-cache-cleaner متنباز، گستردگی بسیار بیشتری (ابزارهای AI) و قابلیت منحصربهفرد Project Hibernation را ارائه میدهد، هرچند فاقد شفافیت یک فایل Swift قابل خواندن برای جداول مسیرهای خود است.
محدودیتها و ریسکها
چند نکته وجود دارد که در صفحه معرفی برجسته نشده است:
- قفل پلتفرم: فقط برای macOS است و مهندسان ویندوز و لینوکس را حذف میکند.
- ابهام در هوش مصنوعی: صفحه محصول صراحتاً بیان نمیکند که آیا وزنهای Ollama/LM Studio در دسته «ایمن» هستند یا «هشدار». اگر بهدلیل قابلیت دانلود مجدد، «ایمن» تلقی شوند، برای کاربرانی با اینترنت کند یک ریسک است.
- تایید اجتماعی: امتیاز ۵ ستاره برنامه بر اساس نمونه کوچکی از مجموع ۱۳ رای است. نقلقولهای روز اول در Product Hunt نیز به همین ترتیب محدود هستند.
- عامل ریسک تکنفره (Bus-Factor): بهعنوان یک پروژه که توسط یک نفر مدیریت میشود و او سه محصول را اداره میکند، پشتیبانی بلندمدت یک موضوع قابل تامل است.
- لنگرهای بازاریابی: ادعای «۲۳.۷ گیگابایت آرتیفکتهای ساخت» در صفحه فرود، یک عدد بازاریابی است و نه یک میانگین اندازهگیری شده بهطور مستقل.
کاربردهای عملی
توسعهدهندگان میتوانند از DevCleaner در چندین سناریوی خاص استفاده کنند:
- ایجاد فضای خالی پیش از بهروزرسانی: بازیابی فضا قبل از یک بهروزرسانی بزرگ Xcode/Android SDK یا دانلود یک مدل محلی حجیم.
- حسابرسی ردپای AI: اندازهگیری هزینه مجموع اجرای چندین ویرایشگر عاملمحور (Cursor, Windsurf, Claude Code) در کنار استنتاج محلی.
- بهداشت پروژه: آرشیو کردن پروژههای جانبی از طریق Project Hibernation بهجای رها کردن
node_modulesبرای پوسیدن ابدی. - نگهداری روتین: اجرای Quick Clean بهصورت ماهانه بهعنوان یک عادت، مشابه اجرای
brew cleanup.
برای توسعهدهنده مک که با چندین عامل هوش مصنوعی و SDKهای سنگین سر و کار دارد، DevCleaner راهی برای کمیسازی آسیبهای مجموع به دیسک ارائه میدهد. این ابزار، کار خستهکننده بازبینی دستی دایرکتوریها را به یک فرآیند ساختاریافته و ریسکمحور تبدیل میکند و تغییر جهت از آرتیفکتهای ساخت کلاسیک به عصر جدید وزنهای مدلهای محلی را ردیابی میکند.
گام بعدی شما
- اگر از مدلهای محلی (Ollama) استفاده میکنید، ابتدا حجم وزنهای مدل را بررسی کنید و سپس از پاکسازی خودکار استفاده کنید.
- پروژههای جانبی قدیمی خود را با قابلیت Project Hibernation آرشیو کنید تا فضای SSD آزاد شود.
- برای شروع، بهجای Auto Clean، دستههای Safe را بهصورت دستی پاک کنید تا با رفتار ابزار آشنا شوید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو