agent-device: چشم و دستِ ایجنت روی اپ موبایل
خلاصهٔ کاملتر
کالاستک ابزار agent-device رو منتشر کرده: یه CLI اتوماسیون دستگاه که به ایجنتهای کدنویس اجازه میده اپ واقعی رو باز کنن، رابط کاربری فعلی رو بخونن، با المانهای قابلدیدن تعامل کنن و شواهد دیباگ جمع کنن. توی توضیحات پروژه اومده که این ابزار دست و چشمِ ایجنته، نه مغزش: تصمیم دربارهٔ قدم بعدی با خود ایجنت یا هارنس QA میمونه.
مشکلی که حل میکنه اینه که ایجنت معمولاً فقط دربارهٔ کد استدلال میکنه و نمیدونه واقعاً روی دستگاه چی اتفاق افتاده. agent-device بهجای اسکرینشات خام، اسنپشاتهای ساختیافته از درخت دسترسیپذیری میده که کمتوکنان، و به هر المان یه رفرنس مثل @e1 و @e2 میده که مستقیم قابل استفادهست.
حلقهٔ پایه سادهست: اپ رو باز کن، اسنپشات بگیر، روی رفرنسها عمل کن و در صورت نیاز شاهد ذخیره کن.
agent-device open SampleApp --platform ios
agent-device snapshot -i
# @e2 [button] "Sign In"
agent-device screenshot ./artifacts/settings.pngبعد از اسکرول یا عوض شدن صفحه باید اسنپشات تازه گرفت، چون رفرنسها فقط برای آخرین اسنپشات معتبرن. چون منبع اسنپشات درخت دسترسیپذیریه، کیفیت لیبلها، نقشها و تستآیدیهای اپ مستقیم روی قابلاتکا بودن اجرای ایجنت اثر میذاره — نکتهای که بهطور غیرمستقیم به نفع اپهای در دسترستره.
دامنهٔ پشتیبانی گستردهست: iOS و اندروید، tvOS و اندروید تیوی، مکاواس و لینوکس دسکتاپ، و اپهای ساختهشده با Expo و Flutter و React Native. پشت صحنه از XCTest برای iOS، از ADB بههمراه یه هلپر اسنپشات برای اندروید و از AT-SPI برای دسکتاپ لینوکس استفاده میشه. پشتیبانی حداقلی از وب هم با تکیه بر agent-browser ورسل انجام میشه.
جدا از تعامل، ابزار روی جمعآوری شواهد تمرکز داره: اسکرینشات، ویدیو، لاگ، ترِیس، ترافیک شبکه، نمونههای کارایی، کانتکست کرش و پروفایل رندر React. کاوشهای مفید رو هم میشه به اسکریپتهای قابلبازپخش ضبط کرد تا توی CI بهعنوان چک e2e تکرار بشن، یا خروجی YAML سازگار با Maestro گرفت.
تیم سازنده تفاوتش با Appium و Detox و Maestro رو اینطور توضیح میده که اونها فریمورکهای کلاسیک اتوماسیونان، ولی agent-device برای ایجنتی بهینه شده که باید وضعیت اپ رو بازرسی کنه، معنایی تعامل کنه و شاهد بذاره. پروژه MITه، روی npm منتشر شده و طبق README تیمهایی مثل Shopify و Expensify هم ازش استفاده میکنن. برای اجرا حداقل Node.js 22 لازمه و بخش وب به Node 24 نیاز داره.
نکات کلیدی:
- یه CLI که ایجنت رو به اپ واقعی روی iOS، اندروید، تیوی و دسکتاپ وصل میکنه
- اسنپشات ساختیافتهٔ کمتوکن با رفرنسهای معنایی بهجای اسکرینشات خام
- کیفیت درخت دسترسیپذیری اپ مستقیم روی موفقیت ایجنت اثر میذاره
- جمعآوری شواهد: ویدیو، لاگ، ترِیس شبکه، کانتکست کرش و پروفایل React
- تبدیل کاوش به اسکریپت قابلتکرار برای CI یا خروجی Maestro
- لایسنس MIT، منتشرشده روی npm، نیازمند Node.js 22 به بالا




