پرش به محتوای اصلی
آخرین اخبار
۲ وایر پاداش مطالعه

قابلیت جذاب Mods در Claude Code؛ آنتروپیک کنترل کامل ایجنت کدنویسی را به توسعه‌دهندگان سپرد

انتشار:۱۰ مهر ۱۴۰۵(۱ ساعت پیش)
۵ دقیقه زمان مطالعه
۰ دیدگاه

شرکت آنتروپیک با معرفی قابلیت جدیدی به نام Mods برای ابزار Claude Code، دست توسعه‌دهندگان را برای شخصی‌سازی عمیق ایجنت هوش مصنوعی خود باز گذاشت. با این ویژگی تازه، برنامه‌نویسان می‌توانند با نوشتن ماژول‌های سبک تایپ‌اسکریپت، رفتار ایجنت را حین اجرای دستورات تغییر دهند و رابط‌های کاربری سفارشی بسازند. این تحول بزرگ، کلود کد را از یک دستیار کدنویسی ساده به پلتفرمی کاملاً انعطاف‌پذیر و ماژولار تبدیل می‌کند.

قابلیت جذاب Mods در Claude Code؛ آنتروپیک کنترل کامل ایجنت کدنویسی را به توسعه‌دهندگان سپرد

در یک نگاه (نکات کلیدی خبر)

خلاصه مهم‌ترین نکات و تحولات این گزارش برای مطالعه سریع

  • آنتروپیک لایه توسعه‌پذیری جدیدی به نام Mods به ابزار محبوب Claude Code اضافه کرده که به توسعه‌دهنده‌ها اجازه می‌دهد با کدهای تایپ‌اسکریپت (TypeScript)، رفتار ایجنت را از درون بازنویسی و شخصی‌سازی کنند.
  • این مودها مثل میدل‌ویر (Middleware) در اکسپرس کار می‌کنند و می‌توانند پرامپت‌ها را تغییر دهند، جلوی دستورات مخرب ترمینال مثل rm -rf را بگیرند و حتی کامپوننت‌های گرافیکی اختصاصی داخل ترمینال بسازند.
  • از نظر امنیتی، مودها دسترسی مستقیم و کامل به سیستم کاربر دارند (بدون Sandboxing)؛ به همین خاطر آنتروپیک برای نسخه‌های شرکتی و تیمی، مکانیزم‌های حفاظتی پیش‌فرضی قرار داده تا جلوی خرابکاری‌های احتمالی را بگیرد.

شرکت آنتروپیک (Anthropic) به‌تازگی یک لایه توسعه‌پذیری جدید و جذاب به نام «مودها» (Mods) را به ابزار Claude Code اضافه کرده است. هر مود در واقع یک ماژول کوچک تایپ‌اسکریپت (TypeScript) است که کار‌های شگفت‌انگیزی انجام می‌دهد؛ از بازنویسی پرامپت‌ها و رهگیری فراخوانی ابزار‌ها گرفته تا رندر کردن کامپوننت‌های رابط کاربری، ثبت دستورات و ابزار‌های جدید و حتی جایگزینی قابلیت‌های پیش‌فرض برنامه. این مودها هم در محیط خط فرمان (CLI) و هم در اپلیکیشن دسکتاپ به زیبایی کار می‌کنند و از طریق همان فرآیند آشنای دستور /plugin نصب و منتشر می‌شوند.

پیش از این، هوک‌های تنظیمی (Settings Hooks) فقط می‌توانستند رویدادها را نظاره کنند و اسکریپت‌های خارجی را فرا بخوانند؛ اما دست‌شان برای تغییر رویدادها، رسم المان‌های بصری یا جایگزینی ویژگی‌های داخلی کاملاً بسته بود. حالا با آمدن مودها تمام این محدودیت‌ها برداشته شده است؛ اکنون توسعه‌دهندگان می‌توانند افزونه‌هایی بسازند که قبل از اجرای دستورات مخرب در شل از کاربر تاییدیه بگیرند، مصرف توکن را به شکل زنده در صفحه نمایش دهند، یا پنل‌های اختصاصی برای بازبینی کد ایجاد کنند.

معماری میدل‌ویر در دل ایجنت هوش مصنوعی

از نظر فنی، هر مود یک تابع به نام register(on, options) خروجی می‌دهد که کنترل‌کننده‌های مختلف را به رویدادهای کلیدی سیستم متصل می‌کند؛ رویدادهایی مثل tool.call، prompt.submit، turn.start، turn.complete، session.start، command.run و ui.render. هر هندلر یک آبجکت API، دیتای رویداد (Payload) و یک تابع next دریافت می‌کند. اگر قبلاً با فریم‌ورک‌هایی مثل Express در نود جی‌اس کار کرده باشید، این جریان کنترل کاملاً برایتان آشنا خواهد بود و درست مانند یک میدل‌ویر (Middleware) عمل می‌کند:

  • مشاهده و نظارت (Observe): فراخوانی await next(e) و سپس بررسی نتیجه خروجی.
  • بازنویسی دیتا (Rewrite): فراخوانی next({ ...e, command: safer }) برای تغییر داده‌هایی که به هندلرهای بعدی فرستاده می‌شوند.
  • قطع جریان یا اتصال کوتاه (Short-circuit): برگرداندن { deny: "..." } بدون صدا زدن تابع next برای مسدودسازی آنی عملیات.

وقتی چند مود مختلف بخواهند یک رویداد مشترک را مدیریت کنند، Claude Code آنها را دقیقاً به ترتیب بارگذاری اجرا می‌کند. یعنی اولین هندلر، زودتر از همه رویداد ورودی را دریافت می‌کند و نتیجه نهایی را هم دیرتر از همه می‌بیند؛ این ویژگی فوق‌العاده باعث می‌شود مدیران سیستم بتوانند یک مود امنیتی را بالا‌تر از بقیه قرار دهند تا تمام افزونه‌های دیگر را تحت نظارت بگیرد.

در ساختار قدیمی هوک‌ها، برای هر رویداد یک پردازش جداگانه اجرا می‌شد و داده‌های JSON از طریق ورودی/خروجی استاندارد (stdin/stdout) جابه‌جا می‌شدند. اما مودهای جدید فقط یک‌بار در طول نشست کاری بارگذاری می‌شوند و در حافظه باقی می‌مانند؛ بنابراین می‌توانند وضعیت (State) برنامه را حفظ کنند، تغییرات رابط کاربری را زیر نظر بگیرند، دستورات اسلش اختصاصی بسازند و ابزار‌های تازه‌ای در اختیار مدل بگذارند تا هوش مصنوعی بتواند آنها را فراخوانی کند.

سه الگوی طراحی بسیار کاربردی

آنتروپیک در راهنمای شروع کار خود، سه نمونه پیاده‌سازی مرجع ارائه کرده که قدرت واقعی این APIها را به رخ می‌کشد:

  • نمایشگر مصرف توکن (Token Weather): این افزونه بعد از هر نوبت پرامپت، متد $.session.usage() را می‌خواند و یک نوار وضعیت بالای خط فرمان رسم می‌کند. این مود تنها با حدود ۸۰ خط کد، میزان پر شدن پنجره زمینه (Context Window)، تعداد توکن‌ها، نمودار خطی ۱۲ نوبت اخیر و تغییرات نسبت به دور قبلی را به زیبایی نمایش می‌دهد.
  • محافظ دستورات خطرناک (Blast Radius): این مود دستورات Bash را رهگیری کرده و دستورات حساسی مثل rm -rf یا git reset --hard را شناسایی می‌کند. سپس ابتدا اجرای آزمایشی (Dry-run) را با $.process.run انجام می‌دهد و یک پنل جانبی باز می‌کند تا کاربر با دکمه‌های تایید (Proceed) یا انصراف (Cancel) تصمیم‌گیری کند.
  • سینمای بازپخش تغییرات (Replay Theater): این ابزار تمام فراخوانی‌های ویرایش و نوشتن کد را در طول کار ضبط می‌کند. سپس با اجرای دستور اختصاصی /replay، تفاوت‌های کد (Diffها) را یکی‌یکی در یک پنل متصل به ترمینال جلوی چشمان شما بازپخش می‌کند.

نکته فنی جالب اینکه داده‌های مربوط به نشست باید در $.state ذخیره شوند؛ چرا که با قابلیت بارگذاری مجدد زنده (Hot Reloading)، ماژول دوباره راه‌اندازی شده، تابع register مجدداً اجرا می‌شود و رویداد session.start دوباره شلیک می‌گردد. خواندن دیتا از $.state درون یک هوک رندر، اشتراک واکنشی (Subscription) ایجاد می‌کند و باعث می‌شود هرگونه نوشتن بعدی، بدون نیاز به پاکسازی دستی، رابط کاربری را خودکار دوباره رسم کند.

خود کلود کد می‌تواند اسکلت اولیه مودها را بنویسد!

یکی از هیجان‌انگیزترین بخش‌های ماجرا اینجاست که خود Claude Code می‌تواند بر اساس توضیحات زبان طبیعی شما، کد یک مود را تولید کرده و آن را به صورت زنده (Hot Reload) به سشن کاری فعلی تزریق کند. توسعه‌دهندگان فقط کافیست رفتار مدنظرشان را توصیف کنند، تاییدیه بارگذاری مجدد را بدهند و سپس با دستورات بعدی مانند تغییر آستانه‌ها یا اضافه کردن تخمین هزینه، افزونه خود را دقیق‌تر کنند.

در هر بار لود شدن مود، تایپ‌های فعلی سیستم در مسیر .claude-plugin/types/ پلاگین ذخیره می‌شوند؛ بنابراین ادیتورها و کامپایلر تایپ‌اسکریپت (tsc) دقیقاً تعاریفی را می‌بینند که با نسخه نصب‌شده Claude Code همخوانی کامل دارد.

  • دستور claude plugin validate مشخص می‌کند یک ماژول چه رویدادهایی را هندل می‌کند، چه متدهایی از $ را فرا می‌خواند و چه کلیدهایی را در وضعیت (State) می‌خواند یا تغییر می‌دهد.
  • دستور claude plugin test فایل‌های تستی *.test.ts را روی ران‌تایم Claude Code اجرا می‌کند. هوک‌های تست بعد از هوک‌های مود اجرا می‌شوند تا بتوان پاسخ‌های مراحل بعدی را به راحتی ماک (Stub) کرد.

انتقال قابلیت‌های اصلی به دل پلاگین‌ها

جالب است بدانید آنتروپیک حتی برخی از امکانات پیش‌فرض و هسته‌ای Claude Code را هم به صورت مود پیاده‌سازی کرده است. برای نمونه، قابلیت محبوب /diff حالا می‌تواند از طریق منوی /plugin غیرفعال شود یا با پیاده‌سازی دلخواه شما جایگزین گردد. پشتیبانی از فایل AGENTS.md نیز از همین سازوکار استفاده می‌کند و سورس‌کد آن در پوشه mods/ ریپازیتوری Claude Code در دسترس قرار دارد.

خارج کردن قابلیت‌ها از هسته اصلی برنامه به توسعه‌دهندگان آزادی عمل بی‌نظیری می‌دهد تا رفتار ابزار را کاملاً شخصی‌سازی کنند و در عین حال تنها کامپوننت‌هایی را بارگذاری نمایند که واقعاً به آنها نیاز دارند.

مسائل امنیتی؛ دسترسی کامل مودها به سیستم عامل

البته باید به یک نکته حساس هم توجه داشت: مودها درست با همان سطح دسترسی سیستم‌عاملی Claude Code اجرا می‌شوند. هیچ جعبه شنی (Sandbox) یا ایزولاسیونی در کار نیست؛ بنابراین باید با همان حساسیتی که به برنامه‌های محلی دسکتاپ نگاه می‌کنید، این افزونه‌ها را هم بررسی کنید. هر مود می‌تواند فایل‌ها را بخواند، پروسه‌های جدیدی استارت بزند و به تمام اطلاعاتی که از دل ایجنت ردوبدل می‌شود دسترسی داشته باشد.

پروژه نمونه Blast Radius به خوبی محدودیت‌های هشدارهای مشورتی را نشان می‌دهد. از آنجا که این ابزار فقط متن دستور را تحلیل می‌کند، ترفندهایی مثل ساخت Alias، اسکریپت‌های واسط و جایگزینی دستورات شل نظیر $(...) می‌توانند آن را دور بزنند. به همین دلیل اگر محدودیتی خط قرمز شماست، باید آن را از طریق قوانین سفت‌وسخت دسترسی (Permission Rules) خود کلود کد یا سطح سیستم‌عامل اعمال کنید.

برای شرکت‌ها و اشتراک‌های سازمانی (Team و Enterprise)، کلود کد به صورت پیش‌فرض یک مود سیستمی به نام sec-default را قبل از تمام افزونه‌های دیگر بارگذاری می‌کند. این لایه امنیتی مانع از آن می‌شود که اکستنشن‌ها بتوانند قوانینی نظیر ممنوعیت دسترسی‌ها را دور بزنند. مدیران سیستم می‌توانند مودهای اختصاصی خود را در اولویت اول بارگذاری قرار دهند و در عین حال از لیست‌های سفید و سیاه مارکت‌پلیس پلاگین‌ها هم بهره ببرند.

توسعه‌دهندگان چه چیز‌هایی می‌توانند با این قابلیت بسازند؟

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

  • یک هندلر prompt.submit برای تزریق خودکار استانداردها و اصول کدنویسی تیم به تمام پرامپت‌ها.
  • یک گارد امنیتی tool.call که قبل از اجرای دستورات حساسی مثل تغییرات در کلاستر پروداکشن با kubectl یا اجرای terraform apply از برنامه‌نویس تایید نهایی بخواهد.
  • طراحی پنل اختصاصی CI/CD که وضعیت بیلدها و استقرارها (Deployments) را به شکل زنده در کنار صفحه به‌روز کند.
  • یک مود حسابرسی و لاگینگ (Audit) که به عنوان اولین افزونه لود شده و تمام رفتارهای اکستنشن‌های بعدی را ثبت کند.
  • ابزار پایش هزینه یا محدودیت نرخ استفاده (Rate Limit) با استفاده مستقیم از $.session.usage().

نحوه نصب و انتشار مودها

قابلیت مودها بدون دریافت هیچ هزینه اضافی در هر دو نسخه خط فرمان (CLI) و اپلیکیشن دسکتاپ Claude Code فعال است. برای نصب افزونه‌های موجود می‌توانید از دستور /plugin استفاده کنید یا دایرکتوری رسمی کلود را مرور نمایید. توسعه‌دهندگان نیز می‌توانند پلاگین‌های ساخته‌شده خود را از طریق مخازن گیت‌هاب دارای فایل marketplace.json به اشتراک بگذارند. همچنین ریپازیتوری آزمایشی (Playground) رسمی آنتروپیک نمونه‌های آماده و جذابی را برای شروع پروژه‌های جدید در اختیار همه گذاشته است.

دیدگاه ها و گفتگوی تخصصی

نظرات خود را با جامعه مخاطبان وایر ای آی در میان بگذارید

۰ دیدگاه

هنوز دیدگاهی برای این مطلب ثبت نشده است

اولین نفری باشید که دیدگاه، تحلیل یا دیدگاه خود را درباره این موضوع با دیگران به اشتراک می گذارد.

مطالب مرتبط و پیشنهادی

معرفی پروژه متن‌باز OpenDots توسط CopilotKit؛ ساخت همکاران هوش مصنوعی همیشه‌بیدار با دسترسی به وب، اسلک و صدا
آخرین اخبار

معرفی پروژه متن‌باز OpenDots توسط CopilotKit؛ ساخت همکاران هوش مصنوعی همیشه‌بیدار با دسترسی به وب، اسلک و صدا

تیم CopilotKit با انتشار قالب متن‌باز OpenDots، ساخت همکاران هوش مصنوعی همیشه‌بیدار را برای برنامه‌نویسان راحت‌تر از همیشه کرده است. این ابزار به ایجنت‌ها اجازه می‌دهد به وب، اسلک و حتی مکالمات صوتی دسترسی داشته باشند و در محیط‌هایی کاملاً ایزوله کار‌های تیمی را جلو ببرند.

۲ دقیقه مطالعه
۰
۱۰ مهر
۹ دستور «اسلش» شگفت‌انگیز در چت‌جی‌پی‌تی برای گرفتن بهترین پاسخ‌ها
آخرین اخبار

۹ دستور «اسلش» شگفت‌انگیز در چت‌جی‌پی‌تی برای گرفتن بهترین پاسخ‌ها

اگر از پرحرفی یا پاسخ‌های کلیشه‌ای چت‌جی‌پی‌تی کلافه شده‌اید، با اضافه کردن چند دستور ساده با علامت اسلش (/) می‌توانید خروجی هوش مصنوعی را متحول کنید. در این راهنما با ۹ دستور کاربردی آشنا می‌شوید که کیفیت پاسخ‌های مدل‌های زبانی را به اوج می‌رسانند.

۷ دقیقه مطالعه
۰
۱۰ مهر
شاهکار آزمایشگاه کیوتای؛ بازآموزی مدل صوتی PocketTTS با روش جدید و نرخ خطای فوق‌العاده ۰.۹ درصد!
آخرین اخبار

شاهکار آزمایشگاه کیوتای؛ بازآموزی مدل صوتی PocketTTS با روش جدید و نرخ خطای فوق‌العاده ۰.۹ درصد!

آزمایشگاه فرانسوی کیوتای با بازآموزی مدل صوتی کم‌حجم PocketTTS از طریق روش خلاقانه Drifting، موفق شد پیچیدگی‌های محاسباتی سنگین را کنار بگذارد و به نرخ خطای خارق‌العاده ۰.۹۰ درصد برسد. این مدل ۱۰۰ میلیون پارامتری به طور کامل روی CPU اجرا می‌شود، از شبیه‌سازی صدا و استریم زنده پشتیبانی می‌کند و با حفظ کیفیت چشمگیر، فرایند آموزش مدل‌های گفتاری را بسیار ساده‌تر و بهینه‌تر کرده است.

۴ دقیقه مطالعه
۰
۱۰ مهر