---
read_when:
    - امکان مشاهده و کنترل دسکتاپ Mac توسط عامل Gateway
    - فعال‌سازی، مجوزها یا ایمنی برای استفاده از رایانه
    - گسترش فرمان Node به نام `computer.act` یا اجراکنندگان آن
summary: کنترل دسکتاپ مبتنی بر عامل در یک Node جفت‌شده macOS، از طریق ابزار رایانه و فرمان Node به‌نام `computer.act`
title: استفاده از رایانه
x-i18n:
    generated_at: "2026-07-12T10:20:03Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 2457d15a59857ffd9c7b160ea4ebed85c8372754abfc7bf75faafc963ecb6547
    source_path: nodes/computer-use.md
    workflow: 16
---

قابلیت استفاده از رایانه به عامل Gateway امکان می‌دهد دسکتاپ جفت‌شدهٔ **macOS** را ببیند و کنترل کند: این قابلیت با فرمان موجود Node به نام `screen.snapshot` نماگرفت می‌گیرد و از طریق یک فرمان خطرناک واحد Node، یعنی `computer.act`، اشاره‌گر و صفحه‌کلید را کنترل می‌کند. مجموعهٔ کنش‌ها از کنش‌های اصلی استفاده از رایانهٔ Anthropic پیروی می‌کند؛ بزرگ‌نمایی اختیاری `computer_20251124` ارائه نمی‌شود. یک مدل دارای قابلیت بینایی، آن را از طریق ابزار داخلی عامل `computer` کنترل می‌کند.

عامل یک فرمان یکسان، یعنی `computer.act`، صادر می‌کند و نمی‌تواند تشخیص دهد که Node چگونه آن را اجرا می‌کند. یک Node مبتنی بر macOS، فرمان `computer.act` را درون همان فرایند و با سرویس‌های تعبیه‌شدهٔ Peekaboo به‌همراه سازوکارهای محدود CoreGraphics اجرا می‌کند (مجوزهای صحیح TCC و بدون فرایند اضافی). پلتفرم‌های دیگر می‌توانند در آینده همان فرمان را بدون تغییر قرارداد سمت عامل اجرا کنند.

## الزامات

- یک Node جفت‌شدهٔ **macOS** (برنامهٔ OpenClaw برای macOS که در حالت Node اجرا می‌شود).
- فعال بودن تنظیم **Allow Computer Control** در برنامهٔ macOS (پیش‌فرض: غیرفعال).
- اعطای مجوز **Accessibility** در macOS به OpenClaw (برای تزریق ورودی اشاره‌گر/صفحه‌کلید) و مجوز **Screen Recording** (برای `screen.snapshot`).
- مسلح بودن فرمان `computer.act` در Gateway (این فرمان خطرناک است و به‌طور پیش‌فرض خلع‌سلاح است).
- یک مدل عامل دارای قابلیت بینایی.
- خط‌مشی ابزاری که `computer` را ارائه کند. نمایهٔ پیش‌فرض `coding` چنین نمی‌کند. `computer` را به `tools.alsoAllow` اضافه کنید؛ عامل‌های سندباکس‌شده همچنین باید آن را در `tools.sandbox.tools.alsoAllow` داشته باشند.

## ابزار عامل `computer`

ابزار داخلی `computer` در هر فراخوانی یک کنش می‌پذیرد. مختصات، پیکسل‌های صحیح نامنفی در جدیدترین نماگرفت هستند؛ Node آن‌ها را به نقاط نمایشگر نگاشت می‌کند. کنش‌های مختصاتی باید `frameId` نتیجهٔ نماگرفت را بازتاب دهند و `screenIndex` صریح باید با آن فریم مطابقت داشته باشد. OpenClaw همچنین شناسهٔ نمایشگر صادرشده توسط Node را از نماگرفت به کنش منتقل می‌کند تا در صورت اتصال مجدد نمایشگر یا تغییر هندسه، عملیات به‌صورت بسته شکست بخورد و همان شاخص را بی‌سروصدا دوباره هدف نگیرد. این بررسی‌ها توکن‌های حدس‌زده‌شده و توکن‌های متعلق به فریم یا نمایشگر تحویل‌شدهٔ دیگری را رد می‌کنند. توکن تضمین‌کنندهٔ تازگی نیست: برنامه‌ها می‌توانند پس از ثبت تصویر، پیکسل‌های همان نمایشگر را تغییر دهند؛ بنابراین هرگاه ممکن است صحنه تغییر کرده باشد، نماگرفت تازه‌ای بگیرید.

- خواندن: `screenshot`.
- اشاره‌گر: `left_click`، `right_click`، `middle_click`، `double_click`، `triple_click`، `mouse_move`، `left_click_drag` (با `startCoordinate`)، `left_mouse_down`، `left_mouse_up`.
- پیمایش: `scroll` با `scrollDirection` (`up|down|left|right`) و `scrollAmount` (تعداد تیک‌های چرخ).
- صفحه‌کلید: `type` (متن)، `key` (ترکیبی مانند `cmd+shift+t` یا `Return`)، `hold_key` (ترکیب `text` که به‌مدت `duration` ثانیه نگه داشته می‌شود).
- زمان‌بندی: `wait` (`duration` ثانیه).

کلیدهای اصلاح‌گر در کنش‌های کلیک و پیمایش از طریق فیلد `text` منتقل می‌شوند (`shift`، `ctrl`، `alt`، `cmd`). پس از هر کنش ورودی، ابزار یک نماگرفت تازه برمی‌گرداند تا مدل بتواند نتیجه را مشاهده کند. اگر بیش از یک Node دارای قابلیت کنترل رایانه متصل است، `node` را صریحاً ارسال کنید.

نماگرفت‌ها **فقط برای مدل** نگه داشته می‌شوند: آن‌ها هرگز به‌طور خودکار به کانال گفت‌وگو تحویل داده نمی‌شوند. تمام محتوای روی صفحه را ورودی غیرقابل‌اعتماد در نظر بگیرید؛ ابزار به مدل هشدار می‌دهد از دستورهای روی صفحه که با درخواست کاربر تعارض دارند پیروی نکند.

## فرمان Node به نام `computer.act`

`computer.act` فرمان واحد Node است که ابزار ورودی را از طریق آن هدایت می‌کند (`node.invoke` با `command: "computer.act"`). این فرمان:

- **به‌طور پیش‌فرض خطرناک است**: در فهرست داخلی فرمان‌های خطرناک Node قرار دارد و تا زمانی که صریحاً مسلح نشود، از فهرست مجاز زمان اجرا کنار گذاشته می‌شود. یک Node مبتنی بر macOS همچنان می‌تواند هنگام جفت‌سازی آن را اعلام کند تا این سطح فقط یک‌بار تأیید شود.
- در حال حاضر **فقط مخصوص macOS است**: تنها Node مبتنی بر macOS که **Allow Computer Control** در آن فعال باشد، این فرمان را اعلام می‌کند.

عملیات خواندن دوباره از `screen.snapshot` استفاده می‌کنند؛ مسیر ثبت تصویر دومی وجود ندارد. برای فرمان ثبت تصویر مشترک، به [Nodeهای دوربین و صفحه‌نمایش](/fa/nodes/camera) مراجعه کنید.

## فعال‌سازی و مسلح‌سازی

1. در برنامهٔ macOS، **Settings → Allow Computer Control** را فعال کنید. سپس **Settings → Permissions** را باز کنید و در تنظیمات سیستم macOS، مجوزهای **Accessibility** و **Screen Recording** را اعطا کنید.
2. به‌روزرسانی جفت‌سازی را در Gateway تأیید کنید (افزودن یک فرمان جدید، جفت‌سازی مجدد را اجباری می‌کند).
3. ابزار را در اختیار عامل دارای قابلیت بینایی قرار دهید. برای نمایهٔ پیش‌فرض `coding`:

   ```json5
   {
     tools: {
       alsoAllow: ["computer"],
       // عامل‌های سندباکس‌شده به این دروازهٔ دوم نیز نیاز دارند:
       sandbox: { tools: { alsoAllow: ["computer"] } },
     },
   }
   ```

4. `computer.act` را برای یک بازهٔ محدود مسلح کنید. Plugin به نام `phone-control` یک گروه `computer` ارائه می‌کند:

   ```text
   /phone arm computer 30m
   /phone status
   /phone disarm
   ```

   مسلح‌سازی به `operator.admin` (یا مالک) نیاز دارد و به‌طور خودکار منقضی می‌شود. گروه قدیمی `/phone arm all` عمداً کنترل دسکتاپ را شامل نمی‌شود؛ از گروه صریح `computer` استفاده کنید. مسلح‌سازی فقط تعیین می‌کند Gateway مجاز به فراخوانی چه چیزی است؛ برنامهٔ macOS همچنان تنظیم **Allow Computer Control** و مجوزهای سیستم‌عامل را اعمال می‌کند.

برای مجوزدهی دائمی، `computer.act` را به `gateway.nodes.allowCommands` اضافه کنید **و آن را از** `gateway.nodes.denyCommands` **حذف کنید**؛ فهرست منع اولویت دارد. مجوزدهی دائمی به‌طور خودکار منقضی نمی‌شود. مدخل‌هایی که پیش از `/phone arm` وجود داشته‌اند، پس از `/phone disarm` باقی می‌مانند؛ یک مجوز موقت را هنگام مسلح بودن به مجوز دائمی تبدیل نکنید.

مجوزدهی عمداً میان فعال‌سازی و استفاده تفکیک شده است. مسلح‌سازی یا
پیکربندی دائمی `computer.act` به اختیار مدیریتی نیاز دارد.
پس از مسلح شدن، یک گردانندهٔ احراز هویت‌شده با `operator.write` می‌تواند
تا زمان انقضای مجوز یا خلع‌سلاح شدن، `computer.act` را از طریق `node.invoke`
فراخوانی کند؛ برای هر کنش، بررسی مدیریتی جداگانه‌ای وجود ندارد. تأیید Nodeای که
`computer.act` را اعلام می‌کند فقط آن سطح را ثبت می‌کند تا بعداً بتوان آن را مسلح کرد و
به‌تنهایی فراخوانی را فعال نمی‌کند.

## ایمنی

- پیش از مجوزدهی، همهٔ لایه‌ها (خط‌مشی ابزار، خط‌مشی فرمان Gateway، تنظیم macOS، Accessibility و Screen Recording) باید موافق باشند. پس از مسلح‌سازی، کنش‌ها تا زمان انقضا یا اجرای `/phone disarm` بدون تأیید جداگانه برای هر کنش اجرا می‌شوند.
- ورودی متن، هر بار یک گرافیم ارسال می‌شود. لغو، قطع اتصال، مکث، غیرفعال‌سازی یا جایگزینی نقطهٔ پایانی، آن را پیش از گرافیم بعدی متوقف می‌کند و اجازه نمی‌دهد ادامهٔ قدیمی اجرا شود.
- نماگرفت‌ها فقط برای مدل هستند و هرگز به‌طور خودکار به گفت‌وگو ارسال نمی‌شوند (موضوع [#44759](https://github.com/openclaw/openclaw/issues/44759)).
- محتوای صفحه را غیرقابل‌اعتماد در نظر بگیرید؛ ممکن است حاوی تزریق پرامپت باشد.

## ارتباط با دیگر مسیرهای کنترل دسکتاپ

این مسیر هدایت‌شده توسط عامل است. برای آگاهی از ارتباط آن با میزبان PeekabooBridge، قابلیت استفاده از رایانهٔ Codex و MCP مستقیم `cua-driver`، به [پل Peekaboo](/fa/platforms/mac/peekaboo) مراجعه کنید.
