Nodes and media
حضور فعال رایانهای
حضور فعال رایانه به Gateway اعلام میکند که کدام Node متصل macOS جدیدترین
ورودی فیزیکی ماوس یا صفحهکلید را دریافت کرده است. OpenClaw از این سیگنال استفاده میکند تا
یک Mac را بهعنوان active علامتگذاری کند، یک راهنمای پایدار برای Node فعال در اختیار عامل قرار دهد و
هشدارهای اتصال Node را به رایانهای هدایت کند که بهاحتمال زیاد در کنار آن حضور دارید.
این مورد از حضور سیستم، که فهرست زنده
کلاینتهای Gateway است، و نیز از بیکنهای ماندگار node.presence.alive جداست؛ این بیکنها
آخرین زمان بیدارشدن یک Node موبایل را بدون متصل در نظر گرفتن آن ثبت میکنند.
الزامات
- برنامه macOS متعلق به OpenClaw جفتسازی شده و در حالت Node متصل است.
- مجوز Accessibility به برنامه امضاشده OpenClaw اعطا شده است.
- برای هشدارهای اتصال، مجوز Notifications نیز اعطا شده و
Node مک،
system.notifyرا ارائه میکند.
گزارش فعالیت در حال حاضر توسط Node بومی macOS پیادهسازی شده است. میزبانهای Node در iOS، Android، watchOS و بدون رابط گرافیکی میتوانند وضعیت آخرین مشاهده اتصال یا فعالیت پسزمینه را گزارش کنند، اما برای عنوان رایانه فعال رقابت نمیکنند.
بررسی رایانه فعال
-
در برنامه macOS، Settings -> Permissions را باز کنید و در تنظیمات سیستم macOS، مجوز Accessibility را اعطا کنید.
-
تأیید کنید که Node مک متصل است:
bash openclaw nodes status --connected -
ماوس را حرکت دهید یا کلیدی را روی آن Mac فشار دهید، سپس اجرا کنید:
bash openclaw nodes statusopenclaw nodes describe --node <node-id-or-name>
تازهترین Mac واجد شرایط با active علامتگذاری میشود. خروجی وضعیت، مدتزمان گذشته از آخرین ورودی
آن را نشان میدهد؛ describe مقادیر active، lastActiveAtMs و presenceUpdatedAtMs را ارائه میکند.
فعالیت عمداً تجمیع میشود، بنابراین پس از یک گزارش اخیر، ممکن است نمایش ورودی دیگری
تا حدود 15 ثانیه طول بکشد.
تبدیل فعالیت به حضور
گزارشگر macOS هر دو ثانیه ساعت بیکاری سیستم HID را نمونهبرداری میکند. این گزارشگر هنگامی که اتصال Node آماده میشود یکبار گزارش میدهد، سپس فعالیت فیزیکی جدیدتر را حداکثر هر 15 ثانیه یکبار گزارش میکند. در زمان بیکاری، هر سه دقیقه یک پیام زندهنگهدار میفرستد. مدت بیکاری به 30 روز محدود میشود تا یک نمونه بسیار قدیمی نتواند به جلو جابهجا شود و بهاشتباه جدیدترین رایانه محسوب شود.
Gateway تنها زمانی فعالیت را میپذیرد که همه شرایط زیر برقرار باشند:
- رویداد به اتصال احراز هویتشده فعلی برای شناسه آن Node تعلق داشته باشد؛
- Node دارای مجوز مؤثر
accessibility: trueباشد؛ - بار داده حاوی مقدار صحیح و محدودشده
idleSecondsباشد.
Gateway مقدار idleSeconds را از زمان مشاهده خودش کم میکند تا
lastActiveAtMs را بهدست آورد. هرگز به برچسب زمانی ساعت دیواری ارائهشده توسط Node اعتماد نمیکند. در میان
Macهای متصل و واجد شرایط، جدیدترین lastActiveAtMs برنده میشود؛ در صورت تساوی، جدیدترین
بهروزرسانی حضور ملاک قرار میگیرد.
حضور، محلیِ فرایند و وابسته به اتصال است. قطع اتصال نشست فعلی، جایگزینی آن با نشستی دیگر که از همان شناسه Node استفاده میکند، یا لغو Accessibility، وضعیت فعالیت آن Node را پاک میکند و Mac فعال را دوباره محاسبه میکند.
حریم خصوصی و زمینه مدل
OpenClaw مدت بیکاری را ارسال میکند، نه محتوای ورودی را. مقادیر کلیدها، مختصات ماوس، نام برنامهها، عنوان پنجرهها یا رویدادهای خام ورودی را ارسال نمیکند. گزارشگر macOS وضعیت سختافزاری HID را میخواند، بنابراین رویدادهای مصنوعی کنترل رایانه باعث نمیشوند یک Mac خودکار، رایانهای به نظر برسد که بهصورت فیزیکی از آن استفاده کردهاید.
فعالیت پیوسته، رویدادهای سیستمی قابلمشاهده برای مدل ایجاد نمیکند. خط پویای زمان اجرا فقط شامل شناسه احراز هویتشده Node است:
active_node=<node-id>برچسبهای زمانی دقیق و نامهای نمایشی تحت کنترل Node برای جلوگیری از
تزریق پرامپت و نوسان کش، خارج از پرامپت باقی میمانند. هنگامی که عامل به جزئیات فعلی نیاز دارد،
ابزار nodes میتواند بهجای آن node.list یا node.describe را بخواند.
نحوه هدایت هشدارهای اتصال
پس از تکمیل دستدهی Gateway توسط یک Node، OpenClaw بهمدت 750 میلیثانیه صبر میکند تا Mac در حال اتصال بتواند نخستین نمونه فعالیت خود را ارسال کند. سپس Mac متصل و دارای قابلیت اعلان با تازهترین فعالیت را امتحان میکند.
- اگر تحویل اصلی موفق باشد، هیچ Mac دیگری هشدار را دریافت نمیکند.
- اگر هیچ Mac فعالی در دسترس نباشد یا تحویل اصلی شکست بخورد، OpenClaw پنج
ثانیه صبر میکند و همه Macهای متصل باقیمانده را که
system.notifyارائه میکنند، امتحان میکند. - هشدار اتصال مجدد برای همان Node تا پنج دقیقه پس از یک تلاش واقعی تحویل سرکوب میشود تا نوسان اتصال مجدد باعث ایجاد طوفان اعلان نشود.
هشدارها به اتصالهای دقیق Node وابستهاند. یک نشست منبع قطعشده یا جایگزینشده نمیتواند هشدار زمانبندیشده قدیمی را تکمیل کند و اتصال مقصد جایگزین همچنان میتواند در تحویل جایگزین مشارکت کند.
عیبیابی
| نشانه | بررسی |
|---|---|
هیچ ردیفی با active علامتگذاری نشده است |
تأیید کنید یک Node بومی macOS متصل است و openclaw nodes describe --node <id> مقدار permissions.accessibility: true را نشان میدهد. |
| Mac اشتباه همچنان فعال میماند | بهصورت فیزیکی از آن Mac استفاده کنید، تا پایان بازه تجمیع صبر کنید، سپس openclaw nodes status را دوباره اجرا کنید. کنشهای مصنوعی کنترل رایانه محاسبه نمیشوند. |
| داده آخرین ورودی ناپدید میشود | بررسی کنید آیا اتصال Mac قطع شده، نشست Node آن جایگزین شده یا Accessibility لغو شده است. هر یک از این شرایط عمداً فعالیت را پاک میکند. |
| هشدار روی چند Mac ظاهر میشود | تحویل اصلی در دسترس نبوده یا شکست خورده است، بنابراین تحویل جایگزین با تأخیر اجرا شده است. بررسی کنید Mac فعال متصل است، اعلانها را مجاز میداند و system.notify را ارائه میکند. |
| عامل به Mac فعال اشاره نمیکند | پس از تغییر فعالیت، یک نوبت جدید آغاز کنید. راهنمای زمان اجرا پایدار و فشرده است؛ برای فراداده دقیق فعلی از ابزار nodes استفاده کنید. |
برای بازیابی TCC، به مجوزهای macOS مراجعه کنید. برای خرابیهای اتصال و فرمان Node، به عیبیابی Node مراجعه کنید.