การติดตั้ง 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 ขึ้นไป แบบ 64 บิต หน้าต่างของ Maxiful แสดงผลด้วย Microsoft Edge WebView2 หากเครื่องไม่มี WebView2 Runtime ตัวติดตั้งจะดาวน์โหลดตัวติดตั้ง WebView2 ของ Microsoft เองจาก go.microsoft.com แล้วรันแบบเงียบ
บน Mac
แอปเดียวใน /Applications ตั้งค่ารายบุคคล Maxiful สำหรับ Mac มาเป็นดิสก์อิมเมจ Maxiful-arm64.dmg ซึ่งมี Maxiful.app อยู่ข้างใน ลงนามด้วย Apple Developer ID และผ่านการรับรอง (notarize) จาก Apple (รายละเอียดของลายเซ็นอยู่ในหัวข้อ Mac: Intune และ Jamf Pro) เมื่อคัดลอกลงใน /Applications ไม่ว่าจะโดยผู้ใช้หรือโดยระบบจัดการอุปกรณ์ของคุณ ทุกคนบน Mac เครื่องนั้นจะใช้แอปเดียวกัน แต่ละคนที่เปิดแอปจะลงชื่อเข้าใช้และได้ชุดติดตั้งของตัวเอง โดยผู้ช่วยและข้อมูลจะอยู่ในโฮมโฟลเดอร์ของคนนั้น
macOS 13 ขึ้นไป บน Apple silicon หรือ Intel แอปเป็นบิลด์เดียวที่ใช้ได้ทั้งสองแบบ
Windows: การติดตั้งแบบเงียบ
Maxiful-x64-setup.exe /S
| สวิตช์ | การทำงาน |
|---|---|
/S | แบบเงียบ: ไม่มีหน้าต่างตัวติดตั้งและไม่ถามอะไร เพิ่มทางลัดในเมนูเริ่มและบนเดสก์ท็อป |
/P | แบบพาสซีฟ: แสดงแถบความคืบหน้าและไม่ถามอะไร การอัปเดตของ Maxiful เองใช้วิธีนี้ |
/NS | ไม่สร้างทางลัดในเมนูเริ่มหรือบนเดสก์ท็อป |
/R | เปิด Maxiful เมื่อติดตั้งเสร็จ (ใช้คู่กับ /S หรือ /P) |
/DEFENDER=managed | นโยบาย Defender ของคุณเพิ่มโฟลเดอร์ทำงานของ Maxiful (ด้านล่าง) ไว้แล้ว การติดตั้งจึงไม่ถาม Windows เรื่องโฟลเดอร์เหล่านี้ |
/DEFENDER=off | คุณต้องการให้ Defender สแกนโฟลเดอร์เหล่านี้ การติดตั้งจึงไม่ขอให้ Windows ยกเว้นโฟลเดอร์เหล่านี้จากการสแกนของ Defender |
รหัสออก (exit code) 0 หมายถึงติดตั้งเสร็จ รหัสอื่นหมายถึงติดตั้งไม่สำเร็จ รหัส 2 อาจเกิดได้จากหลายสาเหตุ หนึ่งในนั้นคือมีโปรแกรมอื่นใช้งานไฟล์ของ Maxiful ค้างไว้นาน 30 วินาที ซึ่งในกรณีนี้จะไม่มีการเปลี่ยนแปลงใด ๆ ตัวติดตั้งจะปิด Maxiful ที่ผู้ใช้เปิดอยู่ก่อนเขียนไฟล์
ติดตั้งทับชุดที่มีอยู่ การรันตัวติดตั้งเวอร์ชันใหม่กว่าด้วยวิธีเดียวกันจะอัปเดตทับที่เดิม โดยผู้ช่วยและข้อมูลของผู้ใช้ยังอยู่ครบ เราทดสอบบนพีซี Windows ทดสอบของเราเมื่อวันที่ 26 ตุลาคม 2026 จาก 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 ทดสอบของเราเอง ขั้นตอนนี้อ้างอิงเอกสารแอป Win32 ของ Microsoft และยังไม่ได้ทดลองใน tenant ของ 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 ของ Microsoft:
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: 64 บิต, 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 ที่ผ่านการรับรอง (notarize) จาก Apple แล้วลงใน /Applications จากดิสก์อิมเมจเดียวกับที่ผู้ใช้ดาวน์โหลด ต่อไปนี้คือค่าที่ระบบต้องการ
| สำหรับ MDM ของคุณ | ค่า |
|---|---|
| Bundle identifier | ai.maxiful.desktop |
| Team ID | 467H9AXX55 |
| ลายเซ็นของแอป | Developer ID Application: Polytrader ltd (467H9AXX55) ผ่านการรับรอง (notarize) จาก 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 |
| โดเมนของการตั้งค่าที่จัดการ (managed preferences) | ai.maxiful.desktop ซึ่งก็คือ bundle identifier คีย์ต่าง ๆ อยู่ในหัวข้อ การตั้งค่าที่จัดการจากส่วนกลาง |
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เป็น 0 ด้วย (ดู การตั้งค่าที่จัดการจากส่วนกลาง) เพราะคุณติดตั้งทุกเวอร์ชันผ่าน Intune และ Maxiful จะไม่ตรวจหาอัปเดตเอง - Assignments: Required (ติดตั้งลงใน
/Applications), Available ใน Company Portal หรือ Uninstall
Intune ต้องมีสิทธิ์เข้าถึงดิสก์เต็มรูปแบบ (Full Disk Access) เพื่ออัปเดตหรือลบแอป DMG และจะขอสิทธิ์นี้บน macOS 13 ขึ้นไปเมื่อมีการกำหนดแอป หากต้องการปล่อยเวอร์ชันใหม่ ให้อัปโหลดดิสก์อิมเมจของเวอร์ชันนั้นไปยังแอปเดิม การกำหนดแบบ Required จะอัปเดตเอง ส่วนแบบ Available ผู้ใช้แต่ละคนจะเลือก Reinstall ใน Company Portal
Jamf Pro
Jamf Pro ติดตั้งแพ็กเกจจากจุดกระจายแพ็กเกจ (distribution point) ของตัวเอง ให้สร้างแพ็กเกจที่มี /Applications/Maxiful.app ด้วย Jamf Composer:
- บน Mac ให้คัดลอก
Maxiful.appจากดิสก์อิมเมจลงใน/Applicationsใน Composer ให้ลาก/Applications/Maxiful.appจาก Finder ไปยังรายการ Sources เพื่อให้ยังอยู่ในตำแหน่ง/Applicationsแล้วสร้างแพ็กเกจจากรายการนั้น - เพิ่มแพ็กเกจลงในจุดกระจายแพ็กเกจและใน Jamf Pro
- ใน Computers, Policies ให้สร้างนโยบายใหม่ ใน General ให้ตั้งทริกเกอร์และความถี่ในการทำงาน ในเพย์โหลด Packages ให้เพิ่มแพ็กเกจพร้อมการดำเนินการ Install และเลือกจุดกระจายแพ็กเกจ
- ในแท็บ Scope ให้เลือกคอมพิวเตอร์ หรือเปิดให้นโยบายใช้งานได้ใน Self Service
- สำหรับแต่ละเวอร์ชันใหม่ ให้สร้างแพ็กเกจด้วยวิธีเดียวกันและติดตั้งผ่านนโยบาย และตั้ง
AutoUpdateเป็น 0 (ดู การตั้งค่าที่จัดการจากส่วนกลาง) เพื่อให้ Maxiful ไม่ตรวจหาอัปเดตเอง
ขั้นตอนเหล่านี้อ้างอิงเอกสารของ Microsoft และ Jamf และยังไม่ได้ทดลองใน tenant ของ 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 จะส่งลิงก์ลงชื่อเข้าใช้ทางอีเมล และลิงก์จะเปิดแอป หากเจ้าของพื้นที่ทำงานตั้งค่า single sign-on สำหรับโดเมนอีเมลขององค์กรไว้ ผู้ใช้เลือก ดำเนินการต่อด้วยบัญชีงาน แทนได้ ซึ่งจะเปิดหน้าลงชื่อเข้าใช้ของผู้ให้บริการข้อมูลประจำตัวของคุณ (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 จะแสดงคำถามของตัวเอง:
- การแจ้งเตือน ครั้งแรกที่ Maxiful มีการแจ้งเตือนจะแสดง เช่น คำตอบที่เข้ามาขณะหน้าต่างอยู่เบื้องหลัง
- ไมโครโฟน และ การรู้จำเสียงพูด ครั้งแรกที่ผู้ใช้พูดเพื่อพิมพ์ข้อความหรือคุยกับผู้ช่วย
- การช่วยการเข้าถึง การบันทึกหน้าจอ และ การตรวจสอบการป้อนข้อมูล เมื่อเจ้าของอนุญาตให้ผู้ช่วยใช้คอมพิวเตอร์เป็นครั้งแรก
ทีมทำงานที่ไหน และคอมพิวเตอร์ที่เปิดตลอดเวลา
ทีมทำงานบนคอมพิวเตอร์ของเจ้าของ ผู้ช่วย ความจำ และบทสนทนาอยู่ในชุดติดตั้งของเจ้าของบนเครื่องนั้น และเพื่อนร่วมงานเชื่อมต่อจากอุปกรณ์ของตัวเอง สำนักงานที่ต้องการให้ทีมตอบได้ตลอด 24 ชั่วโมงจะรันชุดติดตั้งของเจ้าของบนคอมพิวเตอร์ที่เปิดไว้ตลอด:
- Mac ที่ลงชื่อเข้าบัญชี macOS ของเจ้าของไว้ เกตเวย์เป็น LaunchAgent ของบัญชีนั้นและเริ่มทำงานเมื่อบัญชีเข้าสู่ระบบ ดังนั้นต้องลงชื่อเข้าบัญชีใหม่ทุกครั้งหลังรีสตาร์ท หรือเปิดการเข้าสู่ระบบอัตโนมัติ ซึ่ง macOS ไม่มีให้ใช้ขณะเปิด FileVault
- พีซี Windows ที่ลงชื่อเข้าบัญชี Windows ของเจ้าของเอง (การลงชื่อเข้าใช้อัตโนมัติของ Windows) Maxiful จะเริ่มเกตเวย์เมื่อบัญชีลงชื่อเข้าใช้ การเริ่มตั้งแต่บูตเครื่องต้องใช้การติดตั้งด้วยสิทธิ์ผู้ดูแลระบบ ซึ่ง Maxiful จะไม่ทำเลย
โมเดล AI ของบัญชีตอบได้ทีละเครื่องเท่านั้น หากเจ้าของใช้ Maxiful บนแล็ปท็อปด้วยและเลือก ใช้ Maxiful ที่นี่ บนแล็ปท็อปนั้น ผู้ช่วยบนคอมพิวเตอร์ที่เปิดตลอดเวลาจะหยุดตอบจนกว่าเจ้าของจะเลือกคำสั่งนี้อีกครั้งบนเครื่องนั้น
หากต้องการติดตั้งอัปเดตแต่ละครั้งบนเครื่องนั้นเอง ให้ตั้ง AutoUpdate เป็น 0 (ดู การตั้งค่าที่จัดการจากส่วนกลาง) ข้อมูลสำรองของ 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 (โฟลเดอร์ที่ติดตั้ง) |
| เริ่มทำงานเมื่อลงชื่อเข้าใช้ | Scheduled Task สำหรับเกตเวย์ ซึ่งเป็นของรันไทม์เอง (OpenClaw Gateway (<name>)) หรือของ Maxiful เอง (ai.openclaw.gateway-<name>) หรือในกรณีที่ Windows ไม่ยอมสร้างงาน จะใช้ OpenClaw Gateway (<name>).vbs ในโฟลเดอร์ Startup ของผู้ใช้ เมื่อ Scheduled Task ของรันไทม์เองเป็นตัวรันเกตเวย์ Maxiful จะเพิ่ม Scheduled Task อีกหนึ่งรายการคือ Maxiful team keeper (<name>) ซึ่งตรวจสอบทีมทุกสองนาที ส่วนกรณีที่ใช้สคริปต์ในโฟลเดอร์ Startup จะไม่มีงานนี้ ทุกรายการจะเริ่มเกตเวย์เมื่อผู้ใช้ลงชื่อเข้าใช้ โดยรันในนามผู้ใช้คนนั้น ไม่มีรายการใดเริ่มเกตเวย์ก่อนที่จะมีผู้ใช้ลงชื่อเข้าใช้ รันไทม์จะขอให้ Windows สร้างงานแบบ S4U logon ที่มีทริกเกอร์ตอนเริ่มระบบ ซึ่ง Windows จะลงทะเบียนให้เฉพาะการติดตั้งที่มีสิทธิ์ระดับผู้ดูแลเท่านั้น และ Maxiful ไม่เคยติดตั้งด้วยสิทธิ์ระดับผู้ดูแล Windows จึงปฏิเสธ แล้วรันไทม์จะใช้สคริปต์ในโฟลเดอร์ Startup แทน หรือคงงานที่เวอร์ชันก่อนหน้าลงทะเบียนไว้ตามเดิม ซึ่งเริ่มทำงานเมื่อลงชื่อเข้าใช้ ใช้ schtasks /query /tn "OpenClaw Gateway (<name>)" /xml เพื่อดูงานของเครื่องนั้น |
โปรเซสบน Windows
| โปรเซส | คืออะไร |
|---|---|
Maxiful.exe | ตัวแอป มีการลงนามแล้ว (ดูด้านล่าง) หน้าต่างของแอปทำงานใน msedgewebview2.exe ของ Microsoft |
node.exe | จาก %LOCALAPPDATA%\Lanoko\node-v24.21.0: เกตเวย์ OpenClaw และคำสั่งของรันไทม์เอง เป็น Node.js 24.21.0 ที่ Maxiful สร้างขึ้นเอง พร้อมการแก้ไขสำหรับแซนด์บ็อกซ์บน 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 ซึ่ง Scheduled Task ของเกตเวย์รันผ่าน gateway.vbs ในโฟลเดอร์ของการติดตั้ง (งานจากเวอร์ชันก่อนหน้า) หรือรันโดยตรง หรือรันโดย OpenClaw Gateway (<name>).vbs จากโฟลเดอร์ Startup ของผู้ใช้ |
คำสั่งที่ผู้ช่วยรัน (เชลล์, PowerShell, สคริปต์) ทำงานเป็นโปรเซสลูกของเกตเวย์ โดยค่าเริ่มต้นจะอยู่ในแซนด์บ็อกซ์ของผู้ช่วยแต่ละคน เกตเวย์รอรับการเชื่อมต่อที่ 127.0.0.1 บนพอร์ตตั้งแต่ 18800 ขึ้นไป (18800 สำหรับการติดตั้งแรก) และ Maxiful.exe ใช้พอร์ตลูปแบ็กอื่นเพิ่มเติม บน PC ที่เราใช้ทดสอบ ไม่มีส่วนใดของ 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 | ล็อกของเกตเวย์ |
| พวงกุญแจ | คีย์อุปกรณ์ของเกตเวย์คือ Maxiful Gateway Device Key ในพวงกุญแจของผู้ใช้ |
โปรเซสบน Mac
| โปรเซส | คืออะไร |
|---|---|
Maxiful | ตัวแอป จาก /Applications/Maxiful.app ลงนามและผ่านการรับรอง (notarize) จาก Apple แล้ว (ดู 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 ที่กำหนดไว้ และจะไม่เปิดเบราว์เซอร์ของผู้ใช้เลย |
คำสั่งที่ผู้ช่วยรันเป็นโปรเซสลูกของเกตเวย์ โดยค่าเริ่มต้นจะอยู่ในแซนด์บ็อกซ์ของผู้ช่วยแต่ละคน เกตเวย์รอรับการเชื่อมต่อที่ 127.0.0.1 บนพอร์ตตั้งแต่ 18800 ขึ้นไป เหมือนบน Windows
โฮสต์เครือข่ายที่ต้องอนุญาต
ทุกการเชื่อมต่อเปิดจากคอมพิวเตอร์ออกไปภายนอกผ่าน 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 | ดัชนีส่วนเสริมและตัวส่วนเสริม, Node.js บิลด์ของ Maxiful สำหรับ Windows, โมเดลค้นหาความจำแบบโลคัล และโมเดลเสียง |
nodejs.org | Node.js ระหว่างตั้งค่า |
registry.npmjs.org | รันไทม์ OpenClaw ระหว่างตั้งค่า และเมื่อการอัปเดตมีรันไทม์เวอร์ชันใหม่กว่า |
cdn.playwright.dev | เบราว์เซอร์ของผู้ช่วย ระหว่างตั้งค่า |
เฉพาะเมื่อใช้ฟีเจอร์นั้น
| โฮสต์ | ใช้สำหรับ |
|---|---|
relay.maxiful.ai | เซิร์ฟเวอร์รีเลย์ (WSS): โทรศัพท์ที่จับคู่ไว้ และอุปกรณ์ของเพื่อนร่วมงาน |
relay.lanoko.ai | เซิร์ฟเวอร์รีเลย์เดียวกันภายใต้ชื่อเดิม สำหรับการติดตั้งและโทรศัพท์ที่จับคู่ไว้ก่อนวันที่ 22 ตุลาคม 2026 |
ingress.lanoko.ai | แพลตฟอร์มแชทที่ส่งข้อความผ่าน webhook เช่น 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 (ชื่อเจ้าของใบรับรองคือ CN=Polytrader LTD) ซึ่งเป็นบริษัทที่เผยแพร่ Maxiful ก่อน Maxiful AB และ Maxiful.exe ที่ติดตั้งก็ลงนามเช่นเดียวกัน อ่านลายเซ็นของไฟล์ด้วย Get-AuthenticodeSignature และเทียบไฟล์ที่ดาวน์โหลดกับค่าตรวจสอบ (checksum) ในหน้าตั้งค่าของคุณ (ความช่วยเหลือ มีวิธีทำ)
ส่วนที่ไม่ได้ลงนาม node.exe ของรันไทม์และ chrome.exe ของผู้ช่วยไม่มีลายเซ็น Authenticode โดย Maxiful ตรวจสอบแต่ละไฟล์กับค่า SHA-256 ที่กำหนดไว้ก่อนใช้งาน allowlist สำหรับไฟล์เหล่านี้จึงต้องอิงตามพาธ
สิ่งที่ควรใส่ใน allowlist: โปรเซส %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 และผ่านการรับรอง (notarize) จาก Apple แล้ว ดังนั้น Gatekeeper จึงเปิดแอปได้โดยไม่ต้องข้ามการป้องกัน allowlist สามารถระบุแอปด้วย code requirement ได้ (ดูใน Mac: Intune และ Jamf Pro) อ่านลายเซ็นด้วย codesign -dvv /Applications/Maxiful.app
ส่วนประกอบของรันไทม์ node ของเกตเวย์คือ Node.js อย่างเป็นทางการสำหรับ macOS และเบราว์เซอร์ของผู้ช่วยคือ Chrome for Testing ของ Google ซึ่ง Maxiful ดาวน์โหลดเองและตรวจสอบกับค่า SHA-256 ที่กำหนดไว้ก่อนใช้งาน allowlist สำหรับไฟล์เหล่านี้จึงต้องอิงตามพาธ
สิ่งที่ควรใส่ใน allowlist: /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 แบบ global ไบนารีของ OpenClaw ในพาธทั่วไป เซอร์วิส และโฟลเดอร์สถานะและการกำหนดค่าในโฟลเดอร์ home เวิร์กโฟลว์การลบจะหยุดเซอร์วิสและโปรเซส ถอนการติดตั้งแพ็กเกจ npm ลบโฟลเดอร์การติดตั้งและการกำหนดค่า และลบการลงทะเบียนเซอร์วิส รวมถึง Scheduled Task และ launchd plist เกตเวย์ของ Maxiful เป็นโปรเซส OpenClaw ที่กำลังทำงาน โดยมีสถานะอยู่ใน %USERPROFILE%\.openclaw-<name> บน Windows และ ~/.openclaw-<name> บน Mac ชุดเนื้อหานี้จึงอาจตรวจพบได้ หากรันการลบบนเครื่องที่ใช้ Maxiful อาจทำให้ทีมหยุดทำงานและลบการกำหนดค่าและความจำของผู้ช่วย ใช้การค้นหาของชุดเนื้อหานี้เพื่อดูว่า Maxiful ทำงานอยู่ที่ใด และอย่าใช้การลบกับเครื่องที่องค์กรของคุณใช้ Maxiful
การตัดสินใจว่าจะใส่ใน allowlist หรือไม่เป็นของทีมความปลอดภัยของคุณ โปรเซสเหล่านี้รันคำสั่งให้ผู้ช่วย โดยค่าเริ่มต้นอยู่ภายในแซนด์บ็อกซ์ของผู้ช่วยแต่ละคน พร้อมการอนุมัติตามที่อธิบายไว้ในหน้า ความปลอดภัย ของเรา
การตั้งค่าที่จัดการจากส่วนกลาง
Maxiful อ่านการตั้งค่าที่จัดการจากส่วนกลางตั้งแต่เวอร์ชัน 0.9.60 ทั้งบน Windows และ Mac เวอร์ชันก่อนหน้าไม่อ่านการตั้งค่าเหล่านี้
ฝ่ายไอทีสามารถกำหนดการตั้งค่าบางอย่างของ Maxiful จากส่วนกลางได้ ด้วยนโยบายกลุ่ม (Group Policy) หรือ Intune บน Windows และด้วยโปรไฟล์การกำหนดค่าจาก Jamf, Intune หรือเครื่องมือจัดการอุปกรณ์อื่นบน Mac Maxiful อ่านค่าเหล่านี้ทุกครั้งที่ใช้งาน การเปลี่ยนสวิตช์ของเจ้าของจะมีผลกับผู้ช่วยเมื่อ Maxiful เริ่มครั้งถัดไป และการตั้งค่าจะแจ้งไว้จนกว่าจะถึงตอนนั้น การตั้งค่าที่องค์กรของคุณกำหนดจะแสดงเป็น ตั้งโดยองค์กรของคุณ ในการตั้งค่าของ Maxiful และเปลี่ยนในนั้นไม่ได้ โดยการตั้งค่าของ Maxiful จะแสดงทุกค่าที่คุณกำหนดไว้ด้านบนของ การเข้าถึง หากไม่มีนโยบาย Maxiful จะทำงานเหมือนบนเครื่องที่ไม่มีฝ่ายไอทีดูแล
| ชื่อ | ค่า | ผลที่เกิดขึ้น |
|---|---|---|
Workspace | ข้อความ | Maxiful บนเครื่องนั้นจะเปิดได้เฉพาะพื้นที่ทำงานที่มี ID นี้ เจ้าของพื้นที่ทำงานดู ID ได้ในการตั้งค่าของ Maxiful ด้านบนของ “การเข้าถึง” ในชื่อ ID ของพื้นที่ทำงานนี้ ผู้ที่ไม่ได้เป็นสมาชิกของพื้นที่ทำงานจะเห็นว่าองค์กรของคุณกำหนดค่านี้ไว้ และเข้าร่วมพื้นที่ทำงานได้ด้วยคำเชิญ พื้นที่ทำงานของตนเองและพื้นที่ทำงานอื่นจะเปิดบนเครื่องนั้นไม่ได้ |
AutoUpdate | 0 หรือ 1 | 0: Maxiful จะไม่ตรวจหา ดาวน์โหลด หรือติดตั้งอัปเดต การตั้งค่าจะแจ้งว่าองค์กรของคุณเป็นผู้ติดตั้งอัปเดต และคุณติดตั้งตัวติดตั้งของแต่ละเวอร์ชันใหม่เอง (ดู “อัปเดต”) 1: Maxiful อัปเดตตัวเอง เหมือนกรณีที่ไม่มีนโยบาย |
OwnerSwitches | 0 หรือ 1 แต่ละรายการ | สวิตช์ของเจ้าของรายการใดรายการหนึ่งด้านล่าง ระบุตามชื่อ: 0 ปิด 1 เปิด ไม่ว่าเจ้าของจะเลือกไว้อย่างไร สวิตช์ที่คุณไม่ได้กำหนดยังคงให้เจ้าของเลือกเอง เมื่อคุณลบค่าออก ตัวเลือกของเจ้าของจะกลับมา หรือหากเจ้าของไม่เคยเลือก จะใช้ค่าของ 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 เป็น 0 หรือ 1 ได้ ค่าที่อ่านไม่ได้ เช่น ข้อความอื่นในตำแหน่งที่ต้องเป็น 0 หรือ 1 ชนิดรีจิสทรีอื่น (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 ในที่เก็บข้อกำหนดนโยบาย (policy definitions store) ของคุณ หรือนำเข้าสู่ Intune เป็นเทมเพลตการดูแลระบบที่นำเข้า (imported administrative templates)
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 อ่าน managed preferences ของโดเมนของตัวเองคือ ai.maxiful.desktop ซึ่งโปรไฟล์การกำหนดค่าติดตั้งเป็นการตั้งค่าแบบบังคับ (payload managed preferences ของ Apple คือ com.apple.ManagedClient.preferences) ระบบนับเฉพาะค่าที่โปรไฟล์กำหนด ค่าที่เขียนด้วยวิธีอื่น เช่น defaults write จะไม่ถูกอ่าน Workspace เป็นสตริง AutoUpdate เป็นจำนวนเต็ม (หรือบูลีน) และ OwnerSwitches เป็นดิกชันนารีของชื่อในตาราง โปรไฟล์ตัวอย่างนี้จำกัดเครื่องไว้ที่พื้นที่ทำงานเดียว ให้คุณเป็นผู้จัดการอัปเดต ปิดสวิตช์เทอร์มินัลและเครือข่ายส่วนตัว และแสดงค่าใช้จ่ายของโมเดล ให้แทนที่ ID ของพื้นที่ทำงาน รวมถึง identifier และ 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 เป็น 0 (ดู การตั้งค่าที่จัดการจากส่วนกลาง) จากนั้น Maxiful จะแจ้งว่าองค์กรของคุณเป็นผู้ติดตั้งอัปเดต
บน Windows
เวอร์ชันใหม่เป็นตัวติดตั้งที่ลงนามแล้ว ตรวจสอบกับคีย์ที่ฝังอยู่ในแอปก่อนรัน และการอัปเดตจะรันตัวติดตั้งแบบแสดงความคืบหน้าโดยไม่ต้องให้ผู้ใช้โต้ตอบ (passive) คุณยังติดตั้งตัวติดตั้งของแต่ละเวอร์ชันใหม่เองด้วย /S ได้ ตามที่อธิบายไว้ข้างต้น
บน Mac
เวอร์ชันใหม่เป็นไฟล์เก็บถาวรของแอปที่ลงนามแล้ว ตรวจสอบกับคีย์ที่ฝังอยู่ในแอปก่อนใช้งาน และจะแทนที่แอปในตำแหน่งเดิม หากบัญชีของผู้ใช้มีสิทธิ์เปลี่ยนแปลงสำเนานั้น
สำเนาที่ผู้ใช้เปลี่ยนแปลงไม่ได้ หาก /Applications/Maxiful.app เป็นของระบบ (เจ้าของคือ root) และบัญชีของผู้ใช้เปลี่ยนแปลงไม่ได้ Maxiful จะไม่อัปเดตตัวเอง จะไม่ดาวน์โหลดสิ่งใด จะไม่ขอรหัสผ่านผู้ดูแลระบบเลย ไม่แสดง อัปเดตและเริ่มใหม่ และในส่วนที่แสดงอัปเดตจะแจ้งว่ามีเวอร์ชันใหม่กว่า และองค์กรของคุณเป็นผู้ติดตั้งอัปเดตสำหรับ Mac เครื่องนี้ ให้ติดตั้งแต่ละเวอร์ชันใหม่ผ่าน MDM ของคุณ: ใน Intune ให้อัปโหลดดิสก์อิมเมจไปยังแอปเดิม ใน Jamf Pro ให้สร้างแพ็กเกจด้วย Composer แล้วติดตั้งตามที่อธิบายไว้ข้างต้น สำเนาที่บัญชีผู้ดูแลระบบเปลี่ยนแปลงได้จะอัปเดตตัวเองสำหรับบัญชีนั้นเหมือน Mac ทั่วไป
การลบ Maxiful
ลบทั้งหมด โดยผู้ใช้เอง: ในการตั้งค่าของ Maxiful ให้เลือก ลบ Maxiful ออกจากคอมพิวเตอร์เครื่องนี้ ระบบจะหยุดโปรเซสเบื้องหลังและสิ่งที่สั่งให้โปรเซสนั้นเริ่มทำงานเมื่อลงชื่อเข้าใช้ (งานตามกำหนดเวลาบน Windows และ LaunchAgent บน Mac) ลบข้อมูลและข้อมูลประจำตัวของการติดตั้งนี้ และลบรันไทม์ 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