在整個組織部署 Maxiful

這份說明寫給要將 Maxiful 部署到 Windows 電腦與 Mac 的 IT 部門:它在兩個平台上如何安裝、如何透過 Intune、Jamf Pro 或靜默安裝推送、它會在電腦上放入和啟動哪些項目、需要允許的網路主機、資安工具如何看待它、可以集中設定的項目,以及它如何更新與移除。

內容已依 Windows 與 Mac 版 Maxiful 0.9.60 核對。兩者不同之處,各節會分別說明 Windows 與 Mac。

安裝方式

在兩個平台上,Maxiful 都是由每位使用者各自設定的桌面應用程式。首次啟動時,它會為該使用者設定助理的執行環境:開源代理程式執行環境 OpenClaw,執行於 Maxiful 為該使用者安裝的 Node.js 上。這個執行環境有一個背景處理程序,稱為閘道 (gateway),負責執行助理,並在使用者每次登入電腦時重新啟動。

Windows

按使用者安裝,不需要系統管理員權限。安裝程式 Maxiful-x64-setup.exe 以登入 Windows 的使用者身分執行,並安裝到該使用者的 %LOCALAPPDATA%\Maxiful。它會列在該使用者的已安裝應用程式中,因此同一台電腦上每位使用 Maxiful 的人都有各自的安裝。

Windows 10 或更新版本,64 位元。Maxiful 的視窗由 Microsoft Edge WebView2 繪製。如果缺少 WebView2 Runtime,安裝程式會從 go.microsoft.com 下載 Microsoft 官方的 WebView2 安裝程式並以靜默方式執行。

Mac

在 /Applications 中只有一個應用程式,按使用者設定。Mac 版 Maxiful 以磁碟映像檔 Maxiful-arm64.dmg 提供,內含 Maxiful.app,以 Apple Developer ID 簽署並經 Apple 公證(簽章詳細資料請見 Mac:Intune 與 Jamf Pro)。無論由使用者或由您的裝置管理工具複製到 /Applications,它都是這台 Mac 上所有人共用的一個應用程式;每位開啟它的人各自登入並取得自己的安裝,助理與資料都存放在自己的個人專屬資料夾中。

macOS 13 或更新版本,Apple 晶片或 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 略過它們。

結束代碼。0 代表安裝完成,其他任何代碼都代表未完成。代碼 2 可能有多種原因,其中之一是另一個程式持續占用 Maxiful 的某個檔案達 30 秒,此時不會做任何變更。安裝程式寫入檔案前,會先結束該使用者正在執行的 Maxiful。

覆蓋已安裝的版本。以相同方式執行較新的安裝程式,即可就地更新,使用者的助理與資料都會保留。我們於 2026 年 10 月 26 日在 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 由您的 IT 部門管理。這些資料夾受掃描時,所有功能都能正常運作,只是團隊啟動會比較慢。使用者之後仍可在 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] 告訴我們。

  1. 建立套件資料夾,放入從您的 Maxiful 帳號下載並已核對 SHA-256 的 Maxiful-x64-setup.exe,以及一個 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(請見 移除)。
  2. 使用 Microsoft 的 Win32 Content Prep Tool 建立 .intunewin 檔案:
    IntuneWinAppUtil.exe -c C:\maxiful-package -s Maxiful-x64-setup.exe -o C:\maxiful-intunewin -q
  3. Program:若您的 Defender 原則已加入上述四個資料夾,安裝命令為 Maxiful-x64-setup.exe /S /DEFENDER=managed;若要讓這些資料夾受掃描,則為 Maxiful-x64-setup.exe /S /DEFENDER=off。解除安裝命令為 uninstall.cmd;安裝行為選 User;裝置重新啟動行為選 No specific action;傳回碼使用預設值。
  4. Requirements:64 位元,Windows 10 或更新版本。
  5. 偵測規則:檔案,路徑 %LOCALAPPDATA%\Maxiful,檔案 Maxiful.exe,方法 File or folder exists。
  6. 指派:以 Required 或 Available 指派給使用者群組。

Intune 預期安裝過程不會詢問任何問題。加上 /DEFENDER 參數時,Maxiful 的安裝不會詢問任何問題;未加上時,Windows 的 Defender 提示是唯一可能出現的問題。大範圍指派之前,請先閱讀 首次啟動。

Mac:Microsoft Intune 與 Jamf Pro

您的裝置管理工具會從使用者下載的同一個磁碟映像檔,將已公證的 Maxiful.app 安裝到 /Applications。以下是它會要求填寫的值。

MDM 欄位值
套件識別碼(Bundle identifier)ai.maxiful.desktop
Team ID467H9AXX55
應用程式簽章Developer ID Application: Polytrader ltd (467H9AXX55),經 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"
版本/Applications/Maxiful.app/Contents/Info.plist 中的 CFBundleShortVersionString:即 Maxiful 的版本。
安裝位置/Applications/Maxiful.app
受管理偏好設定網域ai.maxiful.desktop,即套件識別碼。可用的鍵請見 受管理的設定。

Microsoft Intune(macOS app (DMG))

  1. 依序選擇 Apps、All Apps、Create;平台選 macOS,類型選 macOS app (DMG);選取從您的 Maxiful 帳號下載並已核對 SHA-256 的 Maxiful-arm64.dmg。Mac 上需要安裝 Intune 的 macOS 管理代理程式。
  2. App information:加入標誌,讓應用程式在 Company Portal 中顯示圖示。Requirements:Minimum Operating System 選 macOS 13。
  3. Detection rules:在 Included apps 填入 ai.maxiful.desktop 及其版本。Ignore app version 選 No,這樣您上傳的每個版本都會安裝。同時將 AutoUpdate 設為 0(請見 受管理的設定):每個版本都由您透過 Intune 安裝,Maxiful 不會自行檢查更新。
  4. Assignments:Required(安裝到 /Applications)、在 Company Portal 中 Available,或 Uninstall。

Intune 需要完整磁碟取用權限才能更新或移除 DMG 應用程式,在 macOS 13 及更新版本上,指派應用程式時會要求這項權限。要推出新版本時,將新的磁碟映像檔上傳到同一個應用程式:Required 指派會自動更新,Available 則由每位使用者在 Company Portal 中選擇 Reinstall。

Jamf Pro

Jamf Pro 從發佈點部署套件。請使用 Jamf Composer 建立一個包含 /Applications/Maxiful.app 的套件:

  1. 在一台 Mac 上,將 Maxiful.app 從磁碟映像檔複製到 /Applications。在 Composer 中,從 Finder 將 /Applications/Maxiful.app 拖到 Sources 列表,讓它保留在 /Applications 中的位置,再從這個來源建立套件。
  2. 將套件加入發佈點與 Jamf Pro。
  3. 在 Computers、Policies 下建立新原則。在 General 中設定觸發條件與執行頻率;在 Packages 承載資料中加入套件,動作選 Install,並選擇發佈點。
  4. 在 Scope 標籤頁選擇電腦;或讓這個原則在 Self Service 中提供。
  5. 每個新版本都以相同方式建立套件並透過原則部署,並將 AutoUpdate 設為 0(請見 受管理的設定),讓 Maxiful 不會自行檢查更新。

以上步驟依照 Microsoft 與 Jamf 的文件撰寫,尚未在 Intune 或 Jamf 租用戶中實際執行;如果您的環境表現不同,請寫信到 [email protected] 告訴我們。

閘道的登入項目

助理的閘道以每位使用者自己的 LaunchAgent 執行,標籤為 ai.openclaw.<name>。在 macOS 13 或更新版本上,使用 Service Management(受管理的登入項目)承載資料,規則類型選 Label prefix、值填 ai.openclaw.,即可自動核准。

首次啟動:每位使用者要做的事

靜默安裝,或由您的 MDM 複製到 /Applications 後,Maxiful 即可開啟。首次啟動時,無論 Windows 或 Mac,每位使用者都需要完成以下步驟;IT 無法代替使用者完成。

  • 每位使用者以自己的電子郵件地址登入:Maxiful 會寄出登入連結,點連結即可開啟應用程式。如果工作區擁有者已為您組織的電子郵件網域設定單一登入,使用者也可以選擇 使用公司帳號繼續,在瀏覽器中開啟您的身分識別提供者登入頁面(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 第一次有通知要顯示時,例如視窗在背景時收到回覆。
  • 麥克風與語音辨識:使用者第一次聽寫訊息或與助理對話時。
  • 輔助使用、螢幕錄製與輸入監控:擁有者第一次讓助理使用電腦時。

團隊在哪裡執行,以及全天開機的電腦

團隊在擁有者的電腦上執行:助理、它們的記憶與對話都在擁有者那台電腦的安裝中,同事則從自己的裝置連線。若辦公室希望團隊全天候回應,請在一台保持開機的電腦上執行擁有者的安裝:

  • Mac,並登入擁有者的 macOS 帳號。閘道是該帳號自己的 LaunchAgent,會在帳號登入時啟動,因此每次重新開機後都要再登入該帳號,或開啟自動登入;但 FileVault 開啟時,macOS 不提供自動登入。
  • 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%\LanokoNode.js 24.21.0 及安裝於其中的 OpenClaw 執行環境,以及 npm 的快取。這個資料夾沿用 Maxiful 先前的名稱。
%USERPROFILE%\.openclaw-<name>安裝本身:執行環境的設定、助理、它們的工作區與記憶、該安裝的機密資訊,以及助理專用的瀏覽器。
%USERPROFILE%\.stommeMaxiful 為每個安裝保存的紀錄,例如附加元件與擁有者做過的決定。
%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。若由執行環境本身的排程工作執行閘道,Maxiful 還會另外加入一個排程工作 Maxiful team keeper (<name>),每兩分鐘檢查一次團隊;使用「啟動」資料夾指令碼時則沒有這個工作。以上每一種都會在使用者登入時,以該使用者身分啟動閘道;沒有任何一種會在有人登入前就啟動閘道。執行環境會向 Windows 要求建立使用 S4U 登入、並在開機時觸發的工作,但 Windows 只會為以提高權限執行的安裝登錄這類工作,而 Maxiful 從不以提高權限執行安裝:Windows 會拒絕,執行環境便改用「啟動」資料夾指令碼,或沿用舊版已登錄的工作(在登入時啟動)。執行 schtasks /query /tn "OpenClaw Gateway (<name>)" /xml 即可查看電腦上的工作。

Windows 上的處理程序

處理程序說明
Maxiful.exe應用程式本身,已簽署(見下文)。其視窗在 Microsoft 的 msedgewebview2.exe 中執行。
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:助理專用的瀏覽器,為取自 Playwright 下載伺服器的 Chrome for Testing 版本,並比對固定的 SHA-256。它絕不會開啟使用者自己的瀏覽器。
cmd.exe, wscript.exe啟動閘道:gateway.cmd,由閘道的排程工作透過安裝資料夾中的 gateway.vbs(舊版建立的工作)或直接執行,或由使用者「啟動」資料夾中的 OpenClaw Gateway (<name>).vbs 執行。

助理執行的指令(殼層、PowerShell、指令碼)以閘道子處理程序的形式執行,預設在各助理自己的沙箱中。閘道在 127.0.0.1 上接聽 18800 起的連接埠(第一個安裝為 18800),Maxiful.exe 則接聽其他回送連接埠;在我們的測試電腦上,Maxiful 沒有任何元件接聽其他位址。

Mac 上

位置內容
/Applications/Maxiful.app應用程式本身,這台 Mac 上所有人共用一份。
~/Library/Application Support/LanokoNode.js 24.21.0 及安裝在其中的 OpenClaw 執行環境、npm 快取,以及閘道的工作資料夾。資料夾沿用 Maxiful 的舊名稱。
~/.openclaw-<name>安裝本身:執行環境的設定、助理、助理的工作區與記憶、此安裝的密鑰,以及助理專用的瀏覽器。
~/.stommeMaxiful 為每個安裝保存的紀錄,例如附加元件與擁有者的決定。
~/.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,已簽署並經過公證(見 Mac:Intune 與 Jamf Pro)。
node位於 ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node:OpenClaw 閘道與執行環境本身的指令,由 launchd 啟動,預設透過 /usr/bin/sandbox-exec 搭配上述描述檔執行。這是 nodejs.org 提供的官方 macOS 版 Node.js 24.21.0,使用前會比對應用程式內固定的 SHA-256。
Google Chrome for Testing位於 ~/.openclaw-<name>/browser/chromium:助理專用的瀏覽器,為取自 Playwright 下載伺服器的 Chrome for Testing 版本,並比對固定的 SHA-256。它絕不會開啟使用者自己的瀏覽器。

助理執行的指令是閘道的子處理程序,預設在各助理自己的沙箱中執行。閘道與 Windows 上相同,在 127.0.0.1 上接聽 18800 起的連接埠。

需允許的網路主機

所有連線都由電腦向外建立,使用 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 的 Windows 版 Node.js、本機記憶搜尋模型與語音模型。
nodejs.orgNode.js,於設定時下載。
registry.npmjs.orgOpenClaw 執行環境,於設定時,以及更新包含較新的執行環境時下載。
cdn.playwright.dev助理的瀏覽器,於設定時下載。

僅在使用特定功能時

主機用途
relay.maxiful.ai中繼(WSS):已配對的手機與同事的裝置。
relay.lanoko.ai同一個中繼的舊名稱,供 2026 年 10 月 22 日前配對的安裝與手機使用。
ingress.lanoko.ai透過 webhook 傳送的聊天平台,例如 Teams 與 Google Chat。
teamtailor.maxiful.aiTeamtailor 連線。
openrouter.ai記憶搜尋,用於無法執行本機搜尋索引的電腦。
github.com, huggingface.co我們的下載伺服器無回應時,本機記憶搜尋引擎與模型的備援來源。github.com 也提供 Google Workspace 連線所用的工具。
clawhub.ai執行環境的外掛程式目錄。
connect.composio.dev, backend.composio.dev僅用於我們 整合 頁面上選用的 Composio 卡片。
go.microsoft.comWindows 上的 WebView2 Runtime,僅在缺少時下載。
已連結的服務使用者連結的每項服務(Google、Microsoft 365、Slack 等),使用該服務自己的位址。

安全性工具如何看待 Maxiful

Windows 上

簽署者。我們發布的每個安裝程式,以及其安裝的 Maxiful.exe,皆以核發給 PolyTrader Ltd 的憑證簽署(憑證主體為 CN=Polytrader LTD);PolyTrader Ltd 是在 Maxiful AB 之前發行 Maxiful 的公司。可用 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 以團隊 467H9AXX55 的 Developer ID 簽署,並經 Apple 公證,因此 Gatekeeper 不需例外設定即可開啟;允許清單可依其程式碼需求指定(見 Mac:Intune 與 Jamf Pro)。可用 codesign -dvv /Applications/Maxiful.app 讀取簽章。

執行環境的元件。閘道的 node 是官方 macOS 版 Node.js,助理的瀏覽器是 Google 的 Chrome for Testing,皆由 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 為 Falcon for IT 發布了 OpenClaw「Search & Removal」內容套件。它會尋找執行中的 OpenClaw 處理程序、全域 npm 安裝、常見路徑中的 OpenClaw 二進位檔、服務,以及主資料夾中的狀態與設定資料夾。其移除流程會停止服務與處理程序、解除安裝 npm 套件、刪除安裝與設定資料夾,並移除服務登錄、排程工作與 launchd plist 等。Maxiful 的閘道就是執行中的 OpenClaw 處理程序,狀態存放在 Windows 的 %USERPROFILE%\.openclaw-<name> 與 Mac 的 ~/.openclaw-<name>,因此該套件可能會找到它。若在使用 Maxiful 的電腦上執行其移除流程,可能會停止團隊運作,並刪除助理的設定與記憶。您可以用它的搜尋功能了解 Maxiful 在哪些電腦上執行,但請勿對您的組織使用 Maxiful 的電腦執行移除流程。

是否加入允許清單,由您的資安團隊決定。這些處理程序會替助理執行指令,預設在各助理的沙箱中執行,並需經過我們 安全性 頁面所述的核准。

受管理的設定

Maxiful 從 0.9.60 版起在 Windows 與 Mac 上讀取受管理的設定;較早的版本不會讀取。

IT 部門可以集中設定 Maxiful 的部分設定:在 Windows 上使用群組原則或 Intune,在 Mac 上使用 Jamf、Intune 或其他裝置管理工具派送的設定描述檔。Maxiful 每次使用設定時都會重新讀取;擁有者開關的變更會在 Maxiful 下次啟動時套用到助理,在那之前設定中會標示這一點。您的組織設定的項目會在 Maxiful 的設定中顯示為由您的組織設定,無法在那裡變更,而您設定的所有項目都會列在存取的最上方。沒有原則時,Maxiful 的運作方式與未受 IT 部門管理的電腦相同。

名稱值作用
Workspace文字這台電腦上的 Maxiful 只會開啟具有此 ID 的工作區。工作區擁有者可以在 Maxiful 設定中「存取」的最上方,找到此工作區的 ID。不是該工作區成員的人,會看到您的組織已做此設定,並需經邀請加入該工作區;他們自己的工作區和其他工作區都無法在這台電腦上開啟。
AutoUpdate0 或 10: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;每個擁有者開關都是 OwnerSwitches 子機碼下的 REG_DWORD,名稱如表所列。下列 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 則是以表中名稱組成的字典。這個範例描述檔將電腦限定於單一工作區、由您負責更新、關閉終端機與私人網路開關,並顯示模型費用;請替換工作區 ID,並將識別碼與 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 上

新版本是已簽署的安裝程式,執行前會以應用程式內建的金鑰驗證,更新時會以被動模式執行安裝程式。您也可以如上所述,以 /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,不需要有人在電腦前操作,接著移除應用程式。此動作無法復原。移除了哪些項目、哪些項目無法移除,都記錄在 %LOCALAPPDATA%\ai.maxiful.desktop\logs 中的 removal-report.json。

不加 /REMOVEALL 時:上方 Intune 做法所執行的 %LOCALAPPDATA%\Maxiful\uninstall.exe /S 會移除應用程式、捷徑、團隊維護工作,以及 Maxiful 新增的 Defender 排除項目(Windows 可能會因此再次顯示提示)。它也會停止助理的背景程序並移除登入時啟動它的項目,但保留執行環境與此安裝的資料。與應用程式其他記錄檔放在一起的 installer.log 會說明是否有項目仍在執行。

在 Mac 上

請先為每位使用者執行從這台電腦移除 Maxiful:若只移除應用程式,該使用者的背景閘道會連同其中保存的所有內容繼續執行。之後再透過您的 MDM 移除 /Applications/Maxiful.app,例如使用 Intune 的 Uninstall 指派。