ard.json

«کاوش منبع عاملی» (ARD) مشخصه‌ای برای فهرست‌بندی منابع عاملی است. مانیفست ard.json منابع عامل‌گرا را در یک دامنه، مانند سرورهای MCP، عامل‌های A2A، و مهارت‌های عامل، توصیف می‌کند تا عامل‌های هوش مصنوعی و ثبت‌ها بتوانند آن‌ها را پیدا کنند.

نحوه عملکرد ممیزی Lighthouse

فرایند کاوش: حسابرسی براساس سازوکارهای کاوش در مشخصات ARD (§5.1) به‌دنبال مانیفست می‌گردد:

  • درحال بررسی دستورالعمل Agentmap: در robots.txt.
  • درحال اسکن کردن HTML برای برچسب‌های <link rel="ard" href="...">.
  • درحال بازرسی برای پاسخ سرایند HTTP Link: <...>; rel="ard".
  • درحال واکشی از نقطه پایانی شناخته‌شده /.well-known/ard.json.

اگر اکتشاف اولیه ناموفق باشد، Lighthouse مسیرهای قدیمی (مانند rel="ai-catalog" یا /.well-known/ai-catalog.json) را بررسی می‌کند. اگرچه محتوای یافت‌شده در اینجا همچنان اعتبارسنجی می‌شود، اما هشداری صادر می‌شود زیرا مشتریان استاندارد ARD ملزم به پشتیبانی از مسیرهای منسوخ‌شده نیستند.

قوانین اعتبارسنجی: درستی‌سنجی بااستفاده از درگاه جاوا اسکریپت ARD v0.91 مجموعه انطباق انجام می‌شود، و معیارهای زیر را آزمایش می‌کند:

خطاهای انطباق و اعتبارسنجی:

  • نحو و طرح‌واره: مانیفست JSON معتبر است و با طرح‌واره مانیفست ARD مطابقت دارد، و هر ورودی با طرح‌واره ورودی ARD مطابقت دارد. Lighthouse مصنوعی را که نقطه ورودی به آن اشاره می‌کند (برای مثال، کارت سرور MCP در url) واکشی یا اعتبارسنجی نمی‌کند.
  • فیلدهای الزامی: مانیفست حاوی آرایه entries است و هر ورودی حاوی identifier، displayName، و type است.
  • نام منبع یکسان لنگرانداخته در دامنه: هر identifier از قالب urn:air:<publisher>:<namespace>:<name> پیروی می‌کند.
  • تعریف مکان: هر ورودی دقیقاً یکی از url یا درون‌خطی data را تعریف می‌کند، هرگز هر دو یا هیچ‌کدام را تعریف نمی‌کند.
  • ساختار مانیفست اعتماد: وقتی trustManifest اضافه می‌شود، شیئی با ویژگی identity است.

هشدارهای روال مطلوب:

  • پُرسمان‌های نمونه: هر ورودی دارای یک آرایه representativeQueries با ۲ تا ۵ پُرسمان نمونه است. ثبت‌ها نمایه جستجوی خود را از این‌ها می‌سازند، بنابراین ورودی بدون آن‌ها در نتایج جستجو ظاهر نخواهد شد. (درصورت وجود، باید آرایه‌ای از رشته‌ها باشد؛ هر چیز دیگری خطا است.)
  • نوع رسانه: type باید نوع رسانه خوش‌ساخت باشد. Lighthouse درباره انواع منسوخ‌شده (برای مثال، application/mcp-server+json به application/mcp-server-card+json)، انواع استاندارد با پارامترهای مفقود یا اضافی، و انواع ناشناخته خارج از application/* هشدار می‌دهد. سفارشی application/* نوع مجاز است.
  • مجموعه‌ها: فیلد collections سطح بالا را پرچم‌گذاری می‌کند. دیگر بخشی از ARD نیست و نادیده گرفته می‌شود؛ درعوض، سلسله‌مراتب مدل در entries است.
  • نقاط پایانی قدیمی: مانیفست‌هایی را پرچم‌گذاری می‌کند که فقط ازطریق مکان‌های قدیمی ai-catalog پیدا می‌شوند.
  • مکان‌های تبلیغ‌شده خراب: هر مکان تبلیغ‌شده‌ای (پیوند Agentmap:، rel="ard"، یا rel="ai-catalog"، یا سرایند Link) را که هنگام پیدا شدن مانیفست در جای دیگری بار نشد پرچم‌گذاری می‌کند.

الزامی نیست:

  • specVersion و دیگر فیلدهای سطح بالای اضافی بر امتیاز تأثیری ندارند.
  • ‫capabilities اختیاری است و امتیازی ندارد. اگر منبع شما ابزارها یا مهارت‌های نام‌گذاری‌شده را افشا می‌کند، آن‌ها را فهرست کنید (برای مثال، ["WeatherTool", "ForecastTool"]) تا دفاتر ثبت بتوانند بدون واکشی کامل آرتیفکت، آن‌ها را فیلتر کنند. اگر گنجانده شود، باید آرایه‌ای از رشته‌ها باشد.

درحال خواندن جدول نتایج

ستون «عنصر» Root را برای مشکلات مربوط به مانیفست به‌طور کلی نشان می‌دهد. برای مشکلات مربوط به ورودی، displayName ورودی را نشان می‌دهد و اگر دردسترس نباشد، به identifier یا Entry #n برمی‌گردد. یک مشکل طرح‌واره ممکن است دو بار ظاهر شود، یک بار در Root و یک بار در ورودی، که با خروجی آزمون رسمی مطابقت دارد.

درک امتیاز

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

  • قبول (۱): مانیفست پیدا شد و هیچ خطا یا هشداری ندارد.
  • امتیاز جزئی (۰٫۹): مانیفست معتبر است اما حداقل یک هشدار رویه بهینه دارد.
  • ناموفق (۰): هرگونه خطای انطباق، مانند JSON بدشکل، نقض طرح‌واره، URN نامعتبر، یا هر دو یا هیچ‌کدام از url/data. اگر مانیفست تبلیغ شده باشد (ازطریق robots.txt، پیوند rel="ard" یا rel="ai-catalog"، یا سرصفحه Link) اما بار نشود، ممیزی ناموفق خواهد بود.
  • نامربوط: هیچ مانیفستی با هیچ روشی پیدا نشد. این کار بر امتیاز Lighthouse شما تأثیری ندارد.

نحوه رفع کردن

برای قبولی در ممیزی، این مراحل اجرایی را دنبال کنید:

  1. مانیفست خود را در /.well-known/ard.json ارائه دهید یا با rel=ard به آن پیوند دهید. اگر از ai-catalog.json یا rel=ai-catalog استفاده می‌کنید، به نام‌های جدید بروید.
  2. هرگونه خطای فهرست‌شده در جدول ممیزی را برطرف کنید تا مانیفست با طرح‌واره ARD مطابقت داشته باشد.
  3. به هر ورودی یک شناسه urn:air:... و دقیقاً یکی از url یا data بدهید.
  4. از نوع رسانه ARD استاندارد در type استفاده کنید، درصورت وجود.
  5. برای دریافت امتیاز کامل، ۲ تا ۵ representativeQueries به هر ورودی اضافه کنید.