استقرار Maxiful در سازمان شما
یادداشتی برای تیمهای فناوری اطلاعات که Maxiful را روی رایانههای Windows و Mac راهاندازی میکنند: روی هر کدام چطور نصب میشود، چطور آن را با Intune، Jamf Pro یا نصب بیصدا توزیع کنید، چه چیزهایی روی رایانه میگذارد و اجرا میکند، میزبانهای شبکهای که باید مجاز شوند، ابزارهای امنیتی آن را چطور میبینند، تنظیماتی که میتوانید بهصورت متمرکز تعیین کنید، و چطور بهروز و حذف میشود.
بررسیشده با Maxiful 0.9.60 برای Windows و Mac. هر جا این دو با هم فرق دارند، هر بخش یک قسمت برای Windows و یک قسمت برای Mac دارد.
نحوهٔ نصب
در هر دو پلتفرم، Maxiful یک اپ دسکتاپ است که هر فرد برای خودش راهاندازی میکند. در اولین اجرا، محیط اجرای دستیارها را برای همان فرد راهاندازی میکند: OpenClaw، محیط اجرای متنباز عاملها، روی نسخهای از Node.js که Maxiful برای همان فرد نصب میکند. یک فرایند پسزمینه از این محیط اجرا، یعنی درگاه (gateway)، دستیارها را اجرا میکند و هر بار که آن فرد وارد رایانه میشود دوباره شروع به کار میکند.
روی Windows
برای هر فرد، بدون دسترسی مدیر سیستم. نصبکننده، یعنی Maxiful-x64-setup.exe، با حساب فردی که وارد Windows شده اجرا میشود و در %LOCALAPPDATA%\Maxiful همان فرد نصب میشود. در فهرست اپهای نصبشدهٔ همان فرد میآید، پس هر کسی که روی یک رایانه از Maxiful استفاده میکند نصب مخصوص خودش را دارد.
Windows 10 یا جدیدتر، ۶۴ بیتی. پنجرهٔ Maxiful با Microsoft Edge WebView2 نمایش داده میشود. اگر WebView2 Runtime نصب نباشد، نصبکننده نصبکنندهٔ رسمی WebView2 مایکروسافت را از go.microsoft.com دانلود میکند و آن را بیصدا اجرا میکند.
روی Mac
یک اپ در /Applications، با راهاندازی جداگانه برای هر فرد. Maxiful برای Mac بهصورت یک دیسک ایمیج، Maxiful-arm64.dmg، عرضه میشود که Maxiful.app درون آن است؛ با Apple Developer ID امضا شده و تأییدشده (notarized) توسط Apple است (جزئیات امضا در Mac: Intune و Jamf Pro آمده است). وقتی در /Applications کپی شود، چه توسط یک فرد و چه توسط سامانهٔ مدیریت دستگاههای شما، برای همهٔ افراد آن Mac یک اپ است؛ هر کسی که آن را باز کند وارد حسابش میشود و نصب مخصوص خودش را میگیرد و دستیارها و دادههایش در پوشهٔ خانگی خودش میماند.
macOS 13 یا جدیدتر، روی Apple silicon یا Intel. اپ یک نسخهٔ واحد برای هر دو است.
Windows: نصب بیصدا
Maxiful-x64-setup.exe /S
| سوییچ | کاری که انجام میدهد |
|---|---|
/S | بیصدا: بدون پنجرهٔ نصبکننده و بدون هیچ سؤالی از سوی نصبکننده. یک میانبر در منوی Start و روی دسکتاپ اضافه میکند. |
/P | غیرتعاملی: یک نوار پیشرفت و بدون سؤال. بهروزرسانیهای خود Maxiful به همین شکل اجرا میشوند. |
/NS | بدون میانبر در منوی Start و روی دسکتاپ. |
/R | پس از پایان نصب، Maxiful را باز میکند (همراه با /S یا /P). |
/DEFENDER=managed | سیاست Defender خودتان پوشههای کاری Maxiful (در ادامه) را اضافه میکند، پس نصب دربارهٔ آنها از Windows درخواستی نمیکند. |
/DEFENDER=off | میخواهید Defender این پوشهها را اسکن کند، پس نصب از Windows نمیخواهد که Defender از آنها بگذرد. |
کدهای خروج. ۰ یعنی نصب کامل شد و هر کد دیگری یعنی کامل نشد. کد ۲ میتواند بیش از یک علت داشته باشد؛ یکی این است که نرمافزار دیگری یکی از فایلهای Maxiful را ۳۰ ثانیه در حال استفاده نگه داشته باشد، که در این حالت هیچ چیزی تغییر نکرده است. نصبکننده پیش از نوشتن، Maxiful در حال اجرای همان فرد را میبندد.
روی نسخهٔ نصبشده. اجرای نصبکنندهٔ جدیدتر به همین شکل، اپ را در جای خودش بهروز میکند و دستیارها و دادههای فرد سر جایشان میمانند. این را در ۴ آبان ۱۴۰۵ (۲۶ اکتبر ۲۰۲۶) روی رایانهٔ آزمایشی Windows خودمان، از 0.9.54 به نسخهٔ امضاشدهٔ 0.9.58، اندازهگیری کردیم.
پوشههای Microsoft Defender
پوشههای کاری خود Maxiful هر بار که تیم شروع به کار میکند هزاران فایل را تغییر میدهند، به همین دلیل Maxiful از Windows میخواهد که Microsoft Defender از چهار تا از آنها بگذرد. بدون سوییچ /DEFENDER، نصب پس از نوشتن فایلهایش این درخواست را میکند: Windows برای آن درخواست مجوز خودش را نشان میدهد و برای فردی که دسترسی مدیر سیستم ندارد، ورود یک مدیر سیستم را میخواهد. اگر کسی پاسخ ندهد، Windows پس از حدود دو دقیقه خودش درخواست را میبندد و نصب باز هم کامل میشود. Maxiful در اجرای بعدی یک بار دیگر میپرسد و دومین درخواست بیپاسخ، «نه» به حساب میآید و دیگر پرسیده نمیشود.
با /DEFENDER=managed یا /DEFENDER=off (دقیقاً همین کلمات)، هیچ نصب، بهروزرسانی یا اجرایی از Windows درخواستی نمیکند و تنظیمات Maxiful نشان میدهد که واحد فناوری اطلاعات شما Microsoft Defender را روی این رایانه مدیریت میکند. وقتی این پوشهها اسکن شوند، همه چیز کار میکند ولی تیم کندتر شروع به کار میکند. فرد همچنان میتواند بعداً خودش این استثناها را در تنظیمات Maxiful، زیر Defender از پوشههای کاری Maxiful بگذرد، فعال کند که مانند بالا از Windows درخواست میکند.
| پوشهای که از Defender خواسته میشود از آن بگذرد |
|---|
%LOCALAPPDATA%\Lanoko\node-v24.21.0\node_modules\openclaw |
%LOCALAPPDATA%\Lanoko\node-v24.21.0\openclaw-compile-cache |
%USERPROFILE%\.openclaw-*\tmp\plugin-captures |
%USERPROFILE%\.openclaw-*\agents\*\agent |
Windows: Microsoft Intune (اپ Win32)
نصب بیصدا و بهروزرسانی روی نسخهٔ نصبشده را روی رایانهٔ آزمایشی Windows خودمان اندازهگیری کردیم. این دستورالعمل از مستندات Microsoft دربارهٔ اپهای Win32 پیروی میکند و در یک محیط Intune اجرا نشده است؛ اگر در محیط شما رفتار دیگری دارد، به ما در [email protected] خبر دهید.
- یک پوشهٔ بسته بسازید که
Maxiful-x64-setup.exeرا، دانلودشده از حساب Maxiful شما و بررسیشده با SHA-256 آن، و یک فایلuninstall.cmdرا در خود داشته باشد، چون Intune متغیرهای محیطی را در فرمان حذف باز نمیکند:@echo off "%LOCALAPPDATA%\Maxiful\uninstall.exe" /S _?=%LOCALAPPDATA%\Maxiful set rc=%ERRORLEVEL% del /q "%LOCALAPPDATA%\Maxiful\uninstall.exe" rmdir "%LOCALAPPDATA%\Maxiful" exit /b %rc%_?=باعث میشود حذفکننده در همان محل اجرا شود و پیش از ادامهٔ اسکریپت کارش تمام شود؛ دو خط بعدی خود حذفکننده و پوشهٔ خالی را پاک میکنند. برای حذف دستیارها و دادههای فرد هم، بهجای آن در خط اول/S /REMOVEALL _?=%LOCALAPPDATA%\Maxifulبنویسید (به حذف نگاه کنید). - فایل .intunewin را بسازید با Win32 Content Prep Tool مایکروسافت:
IntuneWinAppUtil.exe -c C:\maxiful-package -s Maxiful-x64-setup.exe -o C:\maxiful-intunewin -q - Program: فرمان نصب
Maxiful-x64-setup.exe /S /DEFENDER=managedاگر سیاست Defender شما چهار پوشهٔ بالا را اضافه میکند، یاMaxiful-x64-setup.exe /S /DEFENDER=offتا اسکن شوند؛ فرمان حذفuninstall.cmd؛ رفتار نصب User؛ رفتار راهاندازی دوبارهٔ دستگاه No specific action؛ کدهای بازگشت پیشفرض. - Requirements: ۶۴ بیتی، Windows 10 یا جدیدتر.
- Detection rule: File، مسیر
%LOCALAPPDATA%\Maxiful، فایلMaxiful.exe، روش File or folder exists. - Assignment: Required یا Available، برای گروههای کاربری.
Intune انتظار نصبی را دارد که هیچ سؤالی نپرسد. با سوییچ /DEFENDER، نصب Maxiful هیچ سؤالی نمیپرسد؛ بدون آن، درخواست Defender در Windows تنها سؤالی است که ممکن است پیش بیاید. پیش از اختصاص گسترده، اولین اجرا را بخوانید.
Mac: Microsoft Intune و Jamf Pro
سامانهٔ مدیریت دستگاههای شما Maxiful.app تأییدشده (notarized) را از همان دیسک ایمیجی که افراد دانلود میکنند در /Applications نصب میکند. اینها مقادیری هستند که میخواهد.
| برای MDM شما | مقدار |
|---|---|
| شناسهٔ بسته (Bundle identifier) | ai.maxiful.desktop |
| شناسهٔ تیم (Team ID) | 467H9AXX55 |
| امضای اپ | Developer ID Application: Polytrader ltd (467H9AXX55)، تأییدشده (notarized) توسط Apple. |
| الزام کد آن (code requirement) | identifier "ai.maxiful.desktop" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "467H9AXX55" |
| نسخه | CFBundleShortVersionString در /Applications/Maxiful.app/Contents/Info.plist: نسخهٔ Maxiful. |
| محل نصب | /Applications/Maxiful.app |
| دامنهٔ ترجیحات مدیریتشده | ai.maxiful.desktop، همان شناسهٔ بسته. کلیدهای آن در تنظیمات مدیریتشده آمده است. |
Microsoft Intune (macOS app (DMG))
- Apps، All Apps، Create؛ پلتفرم macOS، نوع macOS app (DMG)؛ فایل
Maxiful-arm64.dmgرا انتخاب کنید که از حساب Maxiful شما دانلود و با SHA-256 آن بررسی شده است. Macها به عامل مدیریت Intune برای macOS نیاز دارند. - App information: یک لوگو اضافه کنید تا اپ در Company Portal با آیکونش نمایش داده شود. Requirements: Minimum Operating System macOS 13.
- Detection rules: Included apps
ai.maxiful.desktopو نسخهٔ آن. Ignore app version را No بگذارید تا هر نسخهای که بارگذاری میکنید نصب شود.AutoUpdateرا هم ۰ بگذارید (به تنظیمات مدیریتشده نگاه کنید): هر نسخه را از طریق Intune نصب میکنید و Maxiful خودش دنبال هیچ نسخهای نمیگردد. - Assignments: Required (نصب در
/Applications)، Available در Company Portal، یا Uninstall.
Intune برای بهروزرسانی یا حذف یک اپ DMG به دسترسی کامل به دیسک نیاز دارد و روی macOS 13 و جدیدتر، هنگام اختصاص اپ، آن را درخواست میکند. برای عرضهٔ نسخهٔ جدید، دیسک ایمیج آن را در همان اپ بارگذاری کنید: اختصاصهای Required خودشان بهروز میشوند و در Available هر فرد در Company Portal گزینهٔ Reinstall را انتخاب میکند.
Jamf Pro
Jamf Pro بستهها را از نقاط توزیع خودش توزیع میکند. با Jamf Composer بستهای بسازید که /Applications/Maxiful.app را در خود داشته باشد:
- روی یک Mac،
Maxiful.appرا از دیسک ایمیج در/Applicationsکپی کنید. در Composer،/Applications/Maxiful.appرا از Finder به فهرست Sources بکشید تا جایش در/Applicationsحفظ شود، و از همین منبع یک بسته بسازید. - بسته را به یک نقطهٔ توزیع و به Jamf Pro اضافه کنید.
- در Computers، Policies یک سیاست جدید بسازید. در General، رویداد آغازگر و دفعات اجرای آن را تعیین کنید؛ در بخش Packages، بسته را با عمل Install اضافه کنید و نقطهٔ توزیع را انتخاب کنید.
- در زبانهٔ Scope رایانهها را انتخاب کنید؛ یا سیاست را در Self Service در دسترس قرار دهید.
- برای هر نسخهٔ جدید، بستهاش را به همین شکل بسازید و با یک سیاست توزیع کنید، و
AutoUpdateرا ۰ بگذارید (به تنظیمات مدیریتشده نگاه کنید) تا Maxiful خودش دنبال هیچ نسخهای نگردد.
این مراحل از مستندات Microsoft و Jamf پیروی میکنند و در یک محیط Intune یا Jamf اجرا نشدهاند؛ اگر در محیط شما رفتار دیگری دارند، به ما در [email protected] خبر دهید.
مورد ورود (login item) درگاه
درگاه دستیارها بهصورت LaunchAgent مخصوص هر فرد اجرا میشود، با برچسب ai.openclaw.<name>. روی macOS 13 یا جدیدتر، یک بخش Service Management (موارد ورود مدیریتشده یا managed login items) با نوع قاعدهٔ Label prefix و مقدار ai.openclaw. آن را خودکار تأیید میکند.
اولین اجرا: کاری که هر فرد انجام میدهد
یک نصب بیصدا، یا نسخهای که MDM شما در /Applications میگذارد، Maxiful را آمادهٔ باز شدن میکند. اولین اجرا این مراحل را از هر فرد میخواهد، چه روی Windows و چه روی Mac؛ واحد فناوری اطلاعات نمیتواند آنها را بهجای فرد انجام دهد.
- هر فرد با نشانی ایمیل خودش وارد میشود: Maxiful یک لینک ورود ایمیل میکند و این لینک اپ را باز میکند. اگر مالک فضای کاری برای دامنهٔ ایمیل سازمان شما ورود یکپارچه (SSO) را راهاندازی کرده باشد، فرد میتواند بهجای آن ادامه با حساب کاری را انتخاب کند که صفحهٔ ورود ارائهدهندهٔ هویت شما (Microsoft Entra ID، Google Workspace، Okta، یک ارائهدهندهٔ دیگر OpenID Connect یا یک ارائهدهندهٔ SAML 2.0) را در مرورگرش باز میکند؛ وقتی Enforce single sign-on روشن باشد، لینک ایمیلی هم کار را به ارائهدهندهٔ شما میسپارد.
- کسی که یک فضای کاری جدید راهاندازی میکند، کد راهاندازی را از حساب Maxiful خودش وارد میکند. هر کد روی اولین رایانهای که از آن استفاده کند کار میکند.
- همکاری که به یک فضای کاری دعوت شده، بهجای آن به همان فضای کاری میپیوندد؛ همینطور فردی از دامنههای تأییدشدهٔ شما که از طریق ارائهدهندهٔ شما وارد میشود، وقتی گزینهٔ Add people to my workspace when they sign in مالک روشن باشد. هر دستگاه جدید یک همکار منتظر میماند تا مالک فضای کاری در صفحهٔ تیم، زیر افراد، اجازهٔ ورودش را بدهد.
سپس راهاندازی، Node.js و محیط اجرا را برای همان فرد نصب میکند و تیم را به کار میاندازد. برای این کار به میزبانهای شبکهای که در ادامه آمدهاند نیاز دارد.
روی Mac: مجوزهایی که macOS میخواهد
Maxiful فقط وقتی یک قابلیت برای اولین بار به مجوزی نیاز داشته باشد آن را از macOS میخواهد و macOS پرسش خودش را نشان میدهد:
- Notifications، اولین باری که Maxiful اعلانی برای نمایش داشته باشد، مثلاً پاسخی که وقتی پنجرهاش در پسزمینه است میرسد.
- Microphone و Speech Recognition، اولین باری که فرد پیامی را دیکته میکند یا با یک دستیار حرف میزند.
- Accessibility، Screen Recording و Input Monitoring، وقتی مالک برای اولین بار به دستیارها اجازه میدهد از رایانه استفاده کنند.
تیم کجا اجرا میشود، و رایانهٔ همیشهروشن
تیم روی رایانهٔ مالک اجرا میشود: دستیارها، حافظه و گفتگوهایشان در نصب مالک روی همان رایانه است و همکاران از دستگاههای خودشان به آن وصل میشوند. دفتری که میخواهد تیم شبانهروز پاسخ دهد، نصب مالک را روی رایانهای اجرا میکند که همیشه روشن میماند:
- یک Mac که حساب macOS مالک در آن وارد شده باشد. درگاه همان LaunchAgent مخصوص این حساب است و با ورود به حساب شروع به کار میکند، پس پس از هر راهاندازی دوباره، دوباره وارد حساب شوید یا ورود خودکار را روشن کنید، که macOS تا وقتی FileVault روشن است آن را ارائه نمیدهد.
- یک رایانهٔ Windows که خودش وارد حساب Windows مالک میشود (ورود خودکار Windows). Maxiful با ورود به حساب، درگاه را شروع میکند؛ اجرا هنگام راهاندازی سیستم به نصبی با دسترسی مدیر سیستم نیاز دارد که Maxiful هرگز آن را اجرا نمیکند.
مدلهای هوش مصنوعی حساب در هر لحظه فقط روی یک رایانه پاسخ میدهند. اگر مالک روی لپتاپ هم از Maxiful استفاده کند و آنجا استفاده از Maxiful در اینجا را انتخاب کند، دستیارهای رایانهٔ همیشهروشن تا وقتی مالک دوباره همین گزینه را روی آن رایانه انتخاب کند پاسخ نمیدهند.
برای اینکه هر بهروزرسانی را خودتان روی آن رایانه نصب کنید، AutoUpdate را ۰ بگذارید (به تنظیمات مدیریتشده نگاه کنید). پشتیبانهای Maxiful آرشیوهایی هستند که روی همان رایانه، در پوشهٔ خانگی مالک زیر <name>-shared/backups مینویسد؛ آنها را با ابزارهای پشتیبانگیری خودتان به بیرون از رایانه کپی کنید.
آنچه روی رایانه میگذارد
<name> در ادامه، نام کوتاه خود نصب است.
روی Windows
| کجا | چه چیزی |
|---|---|
%LOCALAPPDATA%\Maxiful | خود اپ: Maxiful.exe، gateway-launcher.exe (هر فرمان دستیار را در سندباکس خودش اجرا میکند) و uninstall.exe. |
%LOCALAPPDATA%\ai.maxiful.desktop | دادههای خود اپ: دادههای WebView2، گزارشها (logs\Maxiful.log، logs\installer.log) و سابقهٔ پرسش Defender. |
%LOCALAPPDATA%\Lanoko | Node.js 24.21.0 همراه با محیط اجرای OpenClaw نصبشده در آن، و کش npm. این پوشه نام قبلی Maxiful را دارد. |
%USERPROFILE%\.openclaw-<name> | خود نصب: پیکربندی محیط اجرا، دستیارها، فضاهای کاری و حافظهشان، اطلاعات محرمانهٔ نصب و مرورگر مخصوص دستیارها. |
%USERPROFILE%\.stomme | سوابق خود Maxiful برای هر نصب، مانند افزونهها و تصمیمهای مالک. |
%USERPROFILE%\.lanoko-sandbox\<name> | توضیحی بهصورت متن ساده از مرز سندباکس درگاه. |
| رجیستری | HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Maxiful (ورودی اپهای نصبشده) و HKCU\Software\maxiful\Maxiful (پوشهٔ نصب). |
| اجرا هنگام ورود | یک وظیفهٔ زمانبندیشده برای درگاه، چه وظیفهٔ خود محیط اجرا (OpenClaw Gateway (<name>)) و چه وظیفهٔ خود Maxiful (ai.openclaw.gateway-<name>)، یا اگر Windows اجازهٔ ساخت وظیفه را ندهد، فایل OpenClaw Gateway (<name>).vbs در پوشهٔ راهاندازی (Startup) فرد. اگر درگاه با وظیفهٔ زمانبندیشدهٔ خود محیط اجرا اجرا شود، Maxiful یک وظیفهٔ زمانبندیشدهٔ دیگر هم اضافه میکند، Maxiful team keeper (<name>)، که هر دو دقیقه یک بار وضعیت تیم را بررسی میکند. با اسکریپت پوشهٔ راهاندازی چنین وظیفهای ساخته نمیشود. هر کدام از اینها درگاه را هنگام ورود فرد به سیستم و با حساب همان فرد اجرا میکند. هیچکدام درگاه را پیش از ورود کسی به سیستم اجرا نمیکند. محیط اجرا از Windows وظیفهای با ورود S4U و راهاندازِ هنگام روشن شدن سیستم میخواهد. Windows چنین وظیفهای را فقط در نصب با دسترسی مدیر ثبت میکند، ولی Maxiful هیچوقت نصب را با این دسترسی اجرا نمیکند. در نتیجه Windows درخواست را رد میکند و محیط اجرا از اسکریپت پوشهٔ راهاندازی استفاده میکند، یا وظیفهای را که نسخهٔ قبلی ثبت کرده بدون تغییر نگه میدارد. این وظیفه هنگام ورود فرد اجرا میشود. دستور schtasks /query /tn "OpenClaw Gateway (<name>)" /xml وظیفهٔ هر رایانه را نشان میدهد. |
فرایندها در Windows
| فرایند | چیست |
|---|---|
Maxiful.exe | خود اپ، با امضای دیجیتال (پایینتر را ببینید). پنجرهٔ آن در msedgewebview2.exe متعلق به Microsoft اجرا میشود. |
node.exe | از %LOCALAPPDATA%\Lanoko\node-v24.21.0: درگاه OpenClaw و دستورهای خود محیط اجرا. این نسخهٔ ساخت خود Maxiful از Node.js 24.21.0 است که اصلاحیهای برای سندباکسهای Windows دارد. پیش از استفاده، با یک SHA-256 که در خود اپ ثابت شده بررسی میشود. |
gateway-launcher.exe | از پوشهٔ اپ: هر دستور دستیار را داخل سندباکس همان دستیار اجرا میکند. |
chrome.exe | از %USERPROFILE%\.openclaw-<name>\browser\chromium\chrome-win64: مرورگر اختصاصی دستیارها، نسخهای از Chrome for Testing که از سرور دانلود Playwright گرفته میشود و با یک SHA-256 ثابتشده بررسی میشود. هیچوقت مرورگر خود فرد را باز نمیکند. |
cmd.exe, wscript.exe | اجرای درگاه: فایل gateway.cmd. این فایل یا با وظیفهٔ زمانبندیشدهٔ درگاه اجرا میشود، از طریق gateway.vbs در پوشهٔ نصب (وظیفهای از نسخهٔ قبلی) یا بهطور مستقیم، یا با OpenClaw Gateway (<name>).vbs از پوشهٔ راهاندازی (Startup) فرد. |
دستورهایی که دستیارها اجرا میکنند (پوسته، PowerShell، اسکریپتها) بهصورت فرایند فرزند درگاه اجرا میشوند و بهطور پیشفرض هر کدام در سندباکس همان دستیار. درگاه روی 127.0.0.1 و پورتی از ۱۸۸۰۰ به بالا گوش میدهد (۱۸۸۰۰ برای اولین نصب). Maxiful.exe هم روی چند پورت حلقهٔ بازگشت (loopback) دیگر گوش میدهد. روی رایانهٔ آزمایشی ما هیچ بخشی از Maxiful روی نشانی دیگری گوش نمیداد.
روی Mac
| کجا | چه چیزی |
|---|---|
/Applications/Maxiful.app | خود اپ، یک نسخهٔ مشترک برای همهٔ افراد روی Mac. |
~/Library/Application Support/Lanoko | Node.js 24.21.0 همراه با محیط اجرای OpenClaw که داخل آن نصب شده، حافظهٔ نهان npm، و پوشهٔ کاری درگاه. نام این پوشه از نام قبلی Maxiful گرفته شده است. |
~/.openclaw-<name> | خود نصب: پیکربندی محیط اجرا، دستیارها، فضاهای کاری و حافظهٔ آنها، اطلاعات محرمانهٔ نصب، و مرورگر اختصاصی دستیارها. |
~/.stomme | سوابق خود Maxiful برای هر نصب، مثل افزونهها و تصمیمهای مالک. |
~/.lanoko-sandbox/<name> | پروفایل سندباکس macOS برای درگاه، یعنی gateway.sb، که درگاه با آن اجرا میشود. |
~/Library/LaunchAgents/ai.openclaw.<name>.plist | عامل راهاندازی (LaunchAgent) درگاه: درگاه را هنگام ورود فرد به سیستم و با حساب همان فرد اجرا میکند، و اگر متوقف شود دوباره اجرایش میکند. |
~/Library/Logs/ai.maxiful.desktop/desktop.noindex | گزارش اپ، Maxiful.log. |
~/Library/Logs/Lanoko/gateway.noindex | گزارشهای درگاه. |
| زنجیرهٔ کلید (Keychain) | کلید دستگاه درگاه، Maxiful Gateway Device Key، در زنجیرهٔ کلید فرد. |
فرایندها روی Mac
| فرایند | چیست |
|---|---|
Maxiful | خود اپ، از /Applications/Maxiful.app، با امضای دیجیتال و تأییدشده (notarized) (Mac: Intune و Jamf Pro را ببینید). |
node | از ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node: درگاه OpenClaw و دستورهای خود محیط اجرا. سرویس launchd آن را اجرا میکند، بهطور پیشفرض از طریق /usr/bin/sandbox-exec و با پروفایل بالا. این همان Node.js 24.21.0 رسمی برای macOS از nodejs.org است و پیش از استفاده با یک SHA-256 که در خود اپ ثابت شده بررسی میشود. |
Google Chrome for Testing | از ~/.openclaw-<name>/browser/chromium: مرورگر اختصاصی دستیارها، نسخهای از Chrome for Testing که از سرور دانلود Playwright گرفته میشود و با یک SHA-256 ثابتشده بررسی میشود. هیچوقت مرورگر خود فرد را باز نمیکند. |
دستورهایی که دستیارها اجرا میکنند فرایند فرزند درگاه هستند و بهطور پیشفرض هر کدام در سندباکس همان دستیار اجرا میشوند. درگاه، مثل Windows، روی 127.0.0.1 و پورتی از ۱۸۸۰۰ به بالا گوش میدهد.
میزبانهای شبکهای که باید مجاز شوند
همهٔ اتصالها از رایانه به بیرون و روی HTTPS برقرار میشوند (رله از WSS هم استفاده میکند). هیچ چیزی از سمت ما نمیتواند به رایانه اتصال برقرار کند.
برای راهاندازی و استفادهٔ روزانه
| میزبان | کاربرد |
|---|---|
maxiful.ai | ورود به حساب، از جمله شروع و بازگشت ورود با حساب کاری، حساب کاربری، فید بهروزرسانی، فروشگاه افزونهها و عیبیابی راهاندازی. |
lanoko.ai | کدهای راهاندازی، دسترسی به مدلها هنگام راهاندازی، ایمیل خوشامد و عضویت همکاران. |
proxy.stomme.ai | همه فراخوانیهای مدلهای ابری، و اپهایی که از بخش اپهای کاری بیشتر وصل شدهاند. |
stomme-model-proxy.stomme-ai.workers.dev | فهرست مدلها. |
or-key-worker.stomme-ai.workers.dev | سهمیهٔ پلن. |
mc-cdn.lanoko.ai, mc-cdn.stomme.ai, mc-cdn.maxiful.ai | فهرست افزونهها و خود افزونهها، نسخهٔ ساخت Maxiful از Node.js برای Windows، مدل محلی جستجو در حافظه و مدلهای صوتی. |
nodejs.org | Node.js، هنگام راهاندازی. |
registry.npmjs.org | محیط اجرای OpenClaw، هنگام راهاندازی و وقتی یک بهروزرسانی محیط اجرای جدیدتری همراه دارد. |
cdn.playwright.dev | مرورگر دستیارها، هنگام راهاندازی. |
فقط هنگام استفاده از یک قابلیت
| میزبان | کاربرد |
|---|---|
relay.maxiful.ai | رله (WSS): برای گوشی جفتشده و دستگاههای همکاران. |
relay.lanoko.ai | همان رله با نام قبلیاش، برای نصبها و گوشیهایی که پیش از ۳۰ مهر ۱۴۰۵ (۲۲ اکتبر ۲۰۲۶) جفت شدهاند. |
ingress.lanoko.ai | پلتفرمهای گفتگو که پیام را با وبهوک تحویل میدهند، مثل Teams و Google Chat. |
teamtailor.maxiful.ai | اتصال Teamtailor. |
openrouter.ai | جستجو در حافظه، روی رایانهای که نمیتواند نمایهٔ جستجوی محلی را اجرا کند. |
github.com, huggingface.co | منابع جایگزین برای موتور و مدل محلی جستجو در حافظه، وقتی سرور دانلود ما پاسخ نمیدهد. github.com ابزاری را هم که اتصال Google Workspace از آن استفاده میکند ارائه میدهد. |
clawhub.ai | فهرست پلاگینهای محیط اجرا. |
connect.composio.dev, backend.composio.dev | فقط برای کارت اختیاری Composio در صفحهٔ یکپارچهسازیهای ما. |
go.microsoft.com | در Windows، برای WebView2 Runtime، فقط وقتی نصب نشده باشد. |
| سرویسهای متصل | هر سرویسی که فرد وصل میکند (Google، Microsoft 365، Slack و غیره)، روی نشانیهای خود همان سرویس. |
ابزارهای امنیتی آن را چطور میبینند
در Windows
امضاکننده. همه نصبکنندههایی که منتشر میکنیم با گواهی صادرشده برای PolyTrader Ltd امضا شدهاند (در فیلد Subject گواهی CN=Polytrader LTD نوشته شده)، شرکتی که پیش از Maxiful AB ناشر Maxiful بود. فایل Maxiful.exe که نصب میشود هم با همین گواهی امضا شده است. امضای هر فایل را با Get-AuthenticodeSignature بخوانید و فایل دانلودشده را با چکسام صفحهٔ راهاندازیتان مقایسه کنید (روشش در راهنما آمده است).
بخشهای بدون امضا. فایل node.exe محیط اجرا و chrome.exe دستیارها امضای Authenticode ندارند. Maxiful هر کدام را پیش از استفاده با یک SHA-256 ثابتشده بررسی میکند. فهرست مجاز برای اینها بر اساس مسیر تعریف میشود.
چه چیزهایی را در فهرست مجاز بگذارید: فرایندهای %LOCALAPPDATA%\Maxiful\Maxiful.exe (امضاشده) و gateway-launcher.exe، %LOCALAPPDATA%\Lanoko\node-v24.21.0\node.exe و %USERPROFILE%\.openclaw-*\browser\chromium\chrome-win64\chrome.exe؛ چهار پوشهٔ Defender که بالاتر آمد؛ و میزبانهای شبکهای که بالاتر آمد.
روی Mac
امضاکننده. فایل Maxiful.app با Developer ID تیم 467H9AXX55 امضا شده و تأییدشده (notarized) توسط Apple است، پس Gatekeeper بدون نیاز به استثنا آن را باز میکند. فهرست مجاز میتواند آن را با الزام امضای کد (code requirement) مشخص کند (در بخش Mac: Intune و Jamf Pro). امضای آن را با codesign -dvv /Applications/Maxiful.app بخوانید.
بخشهای محیط اجرا. فایل node درگاه همان Node.js رسمی برای macOS است و مرورگر دستیارها Chrome for Testing متعلق به Google. Maxiful هر کدام را دانلود میکند و پیش از استفاده با یک SHA-256 ثابتشده بررسی میکند. فهرست مجاز برای اینها بر اساس مسیر تعریف میشود.
چه چیزهایی را در فهرست مجاز بگذارید: /Applications/Maxiful.app (تیم 467H9AXX55)، ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node و مرورگر زیر ~/.openclaw-*/browser/chromium؛ و میزبانهای شبکهای که بالاتر آمد.
در هر دو
رفتار. یک فرایند Node.js مخصوص هر فرد هنگام ورود به سیستم اجرا میشود، فراخوانیهای HTTPS رو به بیرون انجام میدهد، برای دستیارها دستور اجرا میکند و در هر اجرا فایلهای پلاگینهایش را کپی میکند. به همین دلیل فایلهای زیادی در پوشهٔ نصب مینویسد.
CrowdStrike. شرکت CrowdStrike یک بستهٔ محتوایی با نام "Search & Removal" برای OpenClaw در Falcon for IT منتشر کرده است. این بسته دنبال فرایندهای در حال اجرای OpenClaw، نصبهای سراسری npm، فایلهای اجرایی OpenClaw در مسیرهای رایج، سرویسها، و پوشههای وضعیت و پیکربندی در پوشههای خانگی میگردد. گردش کار حذف آن سرویسها و فرایندها را متوقف میکند، بستههای npm را حذف میکند، پوشههای نصب و پیکربندی را پاک میکند، و ثبت سرویسها، از جمله وظایف زمانبندیشده و فایلهای plist مربوط به launchd، را حذف میکند. درگاه Maxiful یک فرایند در حال اجرای OpenClaw است و وضعیت آن در Windows در %USERPROFILE%\.openclaw-<name> و روی Mac در ~/.openclaw-<name> قرار دارد، پس ممکن است این بسته آن را پیدا کند. اگر بخش حذف آن روی رایانهای با Maxiful اجرا شود، ممکن است تیم را متوقف کند و پیکربندی و حافظهٔ دستیارها را پاک کند. از بخش جستجوی آن برای دیدن جاهایی که Maxiful اجرا میشود استفاده کنید، ولی بخش حذف را روی رایانههایی که سازمان شما در آنها از Maxiful استفاده میکند اجرا نکنید.
تصمیم دربارهٔ فهرست مجاز با تیم امنیت شماست. این فرایندها برای دستیارها دستور اجرا میکنند، بهطور پیشفرض داخل سندباکس هر دستیار و با تأییدهایی که در صفحهٔ امنیت ما توضیح داده شده است.
تنظیمات مدیریتشده
Maxiful از نسخهٔ 0.9.60 تنظیمات مدیریتشده را در Windows و روی Mac میخواند. نسخههای قبلی آنها را نمیخوانند.
واحد فناوری اطلاعات میتواند چند تنظیم Maxiful را بهصورت متمرکز تعیین کند: در Windows با Group Policy یا Intune، و روی Mac با یک نمایهٔ پیکربندی (configuration profile) از Jamf، Intune یا هر ابزار مدیریت دستگاه دیگر. Maxiful هر بار که از این تنظیمات استفاده میکند آنها را میخواند. تغییر در یکی از سوییچهای مالک دفعهٔ بعد که Maxiful اجرا شود به دستیارها میرسد و تا آن موقع تنظیمات Maxiful این را نشان میدهد. تنظیمی که سازمان شما تعیین کرده در تنظیمات Maxiful با عنوان تنظیمشده توسط سازمان شما نشان داده میشود و آنجا قابل تغییر نیست. تنظیمات Maxiful همهٔ مواردی را که تعیین کردهاید در بالای بخش دسترسی فهرست میکند. اگر هیچ سیاستی تعیین نشده باشد، Maxiful مثل رایانهای کار میکند که هیچ واحد فناوری اطلاعاتی آن را مدیریت نمیکند.
| نام | مقدار | کارکرد |
|---|---|---|
Workspace | متن | Maxiful روی این رایانه فقط فضای کاری با این شناسه را باز میکند. مالک فضای کاری این شناسه را در تنظیمات Maxiful، بالای بخش دسترسی، با عنوان شناسه این فضای کاری پیدا میکند. کسی که عضو این فضای کاری نیست میبیند که سازمان شما این را تعیین کرده و با دعوتنامه به فضای کاری میپیوندد. فضای کاری خود او و هر فضای کاری دیگری روی آن رایانه باز نمیشود. |
AutoUpdate | ۰ یا ۱ | ۰: Maxiful دنبال بهروزرسانی نمیگردد، آن را دانلود یا نصب نمیکند، در تنظیماتش میگوید که سازمان شما بهروزرسانیها را نصب میکند، و هر نصبکنندهٔ جدید را خودتان توزیع میکنید (بخش بهروزرسانیها را ببینید). ۱: Maxiful خودش را بهروز میکند، مثل حالتی که سیاستی تعیین نشده باشد. |
OwnerSwitches | هر کدام ۰ یا ۱ | یکی از سوییچهای مالک در جدول زیر، با نام خودش: ۰ خاموش، ۱ روشن، فارغ از انتخاب مالک. سوییچی که تعیین نکنید در اختیار مالک میماند. وقتی مقداری را بردارید، انتخاب خود مالک برمیگردد، یا اگر مالک هیچوقت انتخابی نکرده باشد، تنظیم پیشفرض Maxiful. این تغییر هم، مثل مقداری که تعیین میکنید، دفعهٔ بعد که Maxiful اجرا شود به دستیارها میرسد. |
سوییچهای مالک
| نام | سوییچ در Maxiful | کجاست |
|---|---|---|
terminal | باز کردن ترمینال روی این کامپیوتر | دسترسی (فقط Mac) |
private-network | دستیارها صفحههای این کامپیوتر و شبکهام را باز کنند | دسترسی |
pane-reach | پنلهای دستیارها کد اجرا کنند و به بیرون از Maxiful دسترسی داشته باشند | دسترسی |
claude-code-background | Claude Code بتواند دستورهای طولانی را در پسزمینه در حال اجرا نگه دارد | دسترسی |
session-reach | دستیارها میتوانند همه گفتگوهای این کامپیوتر را بگردند (تا از کارهای گذشته یاد بگیرند) | دسترسی |
model-costs | نمایش هزینهٔ مدلها به دلار | پیشرفته |
next-prompt | پیام بعدیام را پیشنهاد بده | پیشرفته |
checkin-whole-conversation | سرکشیها کل گفتگو را بخوانند | پیشرفته |
voice-notes | تبدیل پیامهای صوتی به متن | صدا و صوت |
Maxiful علاوه بر عدد، متنهای 0، 1، true و false را هم بهعنوان ۰ یا ۱ میخواند. مقداری که نتواند بخواند، مثل متن دیگری به جای ۰ یا ۱، نوع دیگری از رجیستری (REG_QWORD، REG_EXPAND_SZ، REG_BINARY)، یا نامی زیر OwnerSwitches که آن را نمیشناسد، اعمال نمیشود و تنظیمات Maxiful آن را زیر تنظیمشده توسط سازمان شما نام میبرد. در Windows این قاعده برای همهٔ مقدارهای زیر کلید سیاست و زیرکلید آن، چه زیر HKLM و چه زیر HKCU، صدق میکند.
در Windows
Maxiful اول HKLM\SOFTWARE\Policies\Maxiful و بعد HKCU\SOFTWARE\Policies\Maxiful را میخواند. مقداری که زیر HKLM باشد بر همان مقدار زیر HKCU اولویت دارد. مقدار Workspace از نوع REG_SZ و AutoUpdate از نوع REG_DWORD است. هر سوییچ مالک یک REG_DWORD زیر زیرکلید OwnerSwitches است، با همان نامی که در جدول آمده. این جفت فایل ADMX و ADML دقیقاً همین مقدارها را مینویسد: آنها را با نامهای maxiful.admx و en-US\maxiful.adml در مخزن تعریفهای سیاست خود ذخیره کنید، یا در Intune بهعنوان الگوهای اداری وارداتی وارد کنید.
maxiful.admx
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="maxiful" namespace="Maxiful.Policies" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<supportedOn>
<definitions>
<definition name="SUPPORTED_Maxiful" displayName="$(string.SUPPORTED_Maxiful)" />
</definitions>
</supportedOn>
<categories>
<category name="Maxiful" displayName="$(string.Maxiful)" />
<category name="OwnerSwitches" displayName="$(string.OwnerSwitches)">
<parentCategory ref="Maxiful" />
</category>
</categories>
<policies>
<policy name="Workspace" class="Both" displayName="$(string.Workspace)" explainText="$(string.Workspace_Explain)" presentation="$(presentation.Workspace)" key="SOFTWARE\Policies\Maxiful">
<parentCategory ref="Maxiful" />
<supportedOn ref="SUPPORTED_Maxiful" />
<elements>
<text id="Workspace" valueName="Workspace" maxLength="128" required="true" />
</elements>
</policy>
<policy name="AutoUpdate" class="Both" displayName="$(string.AutoUpdate)" explainText="$(string.AutoUpdate_Explain)" key="SOFTWARE\Policies\Maxiful" valueName="AutoUpdate">
<parentCategory ref="Maxiful" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_PrivateNetwork" class="Both" displayName="$(string.OwnerSwitch_PrivateNetwork)" explainText="$(string.OwnerSwitch_PrivateNetwork_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="private-network">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_PaneReach" class="Both" displayName="$(string.OwnerSwitch_PaneReach)" explainText="$(string.OwnerSwitch_PaneReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="pane-reach">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_ClaudeCodeBackground" class="Both" displayName="$(string.OwnerSwitch_ClaudeCodeBackground)" explainText="$(string.OwnerSwitch_ClaudeCodeBackground_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="claude-code-background">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_SessionReach" class="Both" displayName="$(string.OwnerSwitch_SessionReach)" explainText="$(string.OwnerSwitch_SessionReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="session-reach">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_ModelCosts" class="Both" displayName="$(string.OwnerSwitch_ModelCosts)" explainText="$(string.OwnerSwitch_ModelCosts_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="model-costs">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_NextPrompt" class="Both" displayName="$(string.OwnerSwitch_NextPrompt)" explainText="$(string.OwnerSwitch_NextPrompt_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="next-prompt">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_CheckinWholeConversation" class="Both" displayName="$(string.OwnerSwitch_CheckinWholeConversation)" explainText="$(string.OwnerSwitch_CheckinWholeConversation_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="checkin-whole-conversation">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
<policy name="OwnerSwitch_VoiceNotes" class="Both" displayName="$(string.OwnerSwitch_VoiceNotes)" explainText="$(string.OwnerSwitch_VoiceNotes_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="voice-notes">
<parentCategory ref="OwnerSwitches" />
<supportedOn ref="SUPPORTED_Maxiful" />
<enabledValue><decimal value="1" /></enabledValue>
<disabledValue><decimal value="0" /></disabledValue>
</policy>
</policies>
</policyDefinitions>
en-US\maxiful.adml
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<displayName>Maxiful</displayName>
<description>The settings an IT department sets for Maxiful.</description>
<resources>
<stringTable>
<string id="Maxiful">Maxiful</string>
<string id="OwnerSwitches">The owner's switches</string>
<string id="SUPPORTED_Maxiful">Maxiful for Windows</string>
<string id="Workspace">Open only this workspace</string>
<string id="Workspace_Explain">Maxiful on this computer opens only the workspace with this ID. The workspace's owner finds the ID in Maxiful's settings, under Access. A person who is not a member of the workspace is asked to join it by invitation, and no other workspace opens on this computer.</string>
<string id="AutoUpdate">Let Maxiful update itself</string>
<string id="AutoUpdate_Explain">Disabled: Maxiful does not look for, download or install updates, and you install each new version yourself. Enabled or not configured: Maxiful updates itself.</string>
<string id="OwnerSwitch_PrivateNetwork">Let assistants open pages on this computer and my network</string>
<string id="OwnerSwitch_PrivateNetwork_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
<string id="OwnerSwitch_PaneReach">Let assistants' panes run code and reach outside Maxiful</string>
<string id="OwnerSwitch_PaneReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
<string id="OwnerSwitch_ClaudeCodeBackground">Let Claude Code keep long commands running in the background</string>
<string id="OwnerSwitch_ClaudeCodeBackground_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
<string id="OwnerSwitch_SessionReach">Assistants can look through all conversations on this computer (so they learn from past work)</string>
<string id="OwnerSwitch_SessionReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
<string id="OwnerSwitch_ModelCosts">Show model costs in dollars</string>
<string id="OwnerSwitch_ModelCosts_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
<string id="OwnerSwitch_NextPrompt">Suggest my next message</string>
<string id="OwnerSwitch_NextPrompt_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
<string id="OwnerSwitch_CheckinWholeConversation">Check-ins read the whole conversation</string>
<string id="OwnerSwitch_CheckinWholeConversation_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
<string id="OwnerSwitch_VoiceNotes">Transcribe voice notes</string>
<string id="OwnerSwitch_VoiceNotes_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Voice and audio.</string>
</stringTable>
<presentationTable>
<presentation id="Workspace">
<textBox refId="Workspace">
<label>Workspace ID</label>
</textBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
روی Mac
Maxiful تنظیمات مدیریتشدهٔ دامنهٔ خودش، ai.maxiful.desktop، را میخواند که یک نمایهٔ پیکربندی آنها را بهصورت تنظیمات اجباری نصب میکند (پیلود تنظیمات مدیریتشدهٔ Apple، com.apple.ManagedClient.preferences). فقط مقداری که نمایه تعیین کرده باشد حساب میشود. مقداری که به روش دیگری نوشته شده باشد، مثلاً با defaults write، خوانده نمیشود. مقدار Workspace از نوع رشته است، AutoUpdate از نوع عدد صحیح (یا بولی)، و OwnerSwitches یک دیکشنری از نامهای جدول. این نمایهٔ نمونه رایانه را به یک فضای کاری محدود میکند، بهروزرسانیها را به شما میسپارد، سوییچهای ترمینال و شبکهٔ خصوصی را خاموش میکند و هزینهٔ مدلها را نشان میدهد. شناسهٔ فضای کاری، شناسهها و UUIDها را با مقدارهای خودتان جایگزین کنید.
maxiful.mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadType</key><string>Configuration</string>
<key>PayloadVersion</key><integer>1</integer>
<key>PayloadIdentifier</key><string>com.example.maxiful</string>
<key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000001</string>
<key>PayloadDisplayName</key><string>Maxiful</string>
<key>PayloadScope</key><string>System</string>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key><string>com.apple.ManagedClient.preferences</string>
<key>PayloadVersion</key><integer>1</integer>
<key>PayloadIdentifier</key><string>com.example.maxiful.settings</string>
<key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000002</string>
<key>PayloadDisplayName</key><string>Maxiful settings</string>
<key>PayloadContent</key>
<dict>
<key>ai.maxiful.desktop</key>
<dict>
<key>Forced</key>
<array>
<dict>
<key>mcx_preference_settings</key>
<dict>
<key>Workspace</key><string>YOUR-WORKSPACE-ID</string>
<key>AutoUpdate</key><integer>0</integer>
<key>OwnerSwitches</key>
<dict>
<key>terminal</key><false/>
<key>private-network</key><false/>
<key>model-costs</key><true/>
</dict>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</array>
</dict>
</plist>
بهروزرسانیها
Maxiful هنگام اجرا و هر شش ساعت یک بار روی maxiful.ai دنبال نسخهٔ جدید میگردد. فرد بهروزرسانی و راهاندازی دوباره یا بعداً را انتخاب میکند. نسخهٔ جدید Maxiful ممکن است محیط اجرای جدیدتری از OpenClaw همراه داشته باشد. در این صورت Maxiful محیط اجرای آن فرد را با npm و از registry.npmjs.org بهروز میکند.
اگر میخواهید هر نسخهٔ جدید را خودتان نصب کنید و Maxiful دنبال هیچ بهروزرسانی نگردد، در Windows یا روی Mac، مقدار AutoUpdate را روی ۰ بگذارید (تنظیمات مدیریتشده را ببینید). در این حالت Maxiful میگوید که سازمان شما بهروزرسانیهایش را نصب میکند.
در Windows
هر نسخهٔ جدید یک نصبکنندهٔ امضاشده است که پیش از اجرا با کلیدی که در خود اپ تعبیه شده بررسی میشود. بهروزرسانی، نصبکننده را در حالت غیرتعاملی (passive) اجرا میکند. میتوانید هر نصبکنندهٔ جدید را هم، مثل بالا، خودتان با /S توزیع کنید.
روی Mac
هر نسخهٔ جدید یک آرشیو امضاشده از اپ است که پیش از استفاده با کلیدی که در خود اپ تعبیه شده بررسی میشود. اگر حساب فرد اجازهٔ تغییر آن نسخه از اپ را داشته باشد، اپ در همان جا جایگزین میشود.
نسخهای که فرد نمیتواند تغییر دهد. اگر /Applications/Maxiful.app متعلق به سیستم باشد (مالکش root باشد) و حساب فرد نتواند آن را تغییر دهد، Maxiful خودش آن را بهروز نمیکند: چیزی دانلود نمیکند، هیچوقت رمز عبور مدیر سیستم را نمیخواهد، گزینهٔ بهروزرسانی و راهاندازی دوباره را نشان نمیدهد، و هر جا بهروزرسانیها را نشان میدهد میگوید که نسخهٔ جدیدتری هست و سازمان شما بهروزرسانیهای این Mac را نصب میکند. هر نسخهٔ جدید را با ابزار مدیریت دستگاه (MDM) خود توزیع کنید: در Intune، ایمیج دیسک آن را در همان اپ بارگذاری کنید. در Jamf Pro، بستهٔ آن را با Composer بسازید و مثل بالا توزیع کنید. نسخهای که حساب مدیر سیستم میتواند تغییرش دهد، مثل هر Mac دیگری، برای همان حساب خودش را بهروز میکند.
حذف Maxiful
حذف کامل، توسط خود فرد: در تنظیمات Maxiful، گزینهٔ حذف Maxiful از این رایانه. این گزینه فرایند پسزمینه و آنچه آن را هنگام ورود به سیستم اجرا میکند (در Windows، وظیفههای زمانبندیشدهٔ آن و در Mac، LaunchAgent آن) را متوقف میکند، دادهها و اطلاعات ورود این نصب را پاک میکند و محیط اجرای Node.js را که نصب کرده حذف میکند، مگر اینکه نصب دیگری روی همین رایانه هنوز از آن استفاده کند. سپس در Windows، با بسته شدن Maxiful، حذفکنندهٔ نصب اجرا میشود و در Mac، اگر حساب آن فرد اجازه بدهد، اپ به سطل زباله منتقل میشود. به اسناد شخصی آن فرد دست زده نمیشود.
در Windows
حذف کامل، بدون نمایش: دستور %LOCALAPPDATA%\Maxiful\uninstall.exe /S /REMOVEALL کار حذف Maxiful از این رایانه را برای فردی که این نصب متعلق به اوست، بدون نیاز به حضور کسی پشت صفحه، انجام میدهد و سپس اپ را حذف میکند. این کار برگشتپذیر نیست. فهرست مواردی که حذف شدهاند و مواردی که حذف نشدند، در فایل removal-report.json در مسیر %LOCALAPPDATA%\ai.maxiful.desktop\logs ثبت میشود.
بدون /REMOVEALL: دستور %LOCALAPPDATA%\Maxiful\uninstall.exe /S که دستورالعمل Intune بالا اجرا میکند، اپ، میانبرهای آن، وظیفهٔ نگهدارندهٔ تیم و استثناهای Defender را که Maxiful اضافه کرده حذف میکند (ممکن است Windows برای این استثناها دوباره پیام خود را نشان دهد). همچنین فرایند پسزمینهٔ دستیارها را متوقف میکند و آنچه آن را هنگام ورود به سیستم اجرا میکند حذف میکند، اما محیط اجرا و دادههای این نصب را نگه میدارد. فایل installer.log، کنار سایر گزارشهای اپ، نشان میدهد که آیا چیزی همچنان در حال اجرا مانده است یا نه.
در Mac
ابتدا حذف Maxiful از این رایانه را برای هر فرد اجرا کنید: اگر فقط اپ را حذف کنید، دروازهٔ پسزمینهٔ آن فرد با همهٔ دادههایی که در اختیار دارد همچنان در حال اجرا میماند. سپس /Applications/Maxiful.app را با MDM خود حذف کنید، مثلاً با یک تخصیص از نوع Uninstall در Intune.