2026年2月19日 星期四

在 MacOS 中以非管理者(Non-administrator)安全執行 Openclaw

以管理者權限執行 openclaw 很方便,但是相對的也讓 openclaw 能取得電腦上所有檔案,甚至雲端的所有檔案及服務。

如果以非管理者,就是一般使用者權限執行 openclaw,能限制 openclaw的使用範圍及能取得的資料。在只有一台電腦也想使用 Openclaw 的情況,能維持基本可控制的安全性。

關鍵是在有管理者權限帳號安裝必要程式,到新建立的一般使用者權限帳號安裝openclaw 及執行openclaw。

使用 nvm (node version manager) 安裝 node.js 可以讓 node.js 在使用者家目錄內執行,openclaw 也以這個 node.js 執行,就可以不需要管理者權限的情況下運作大部分功能。

管理者帳號環境

1. 建立專用帳號

1.1 到 系統設定/使用者與群組 點 [加入使用者...] 按鈕

1.2 設定視窗中的 [新增使用者] 項目選擇[一般] ,其他項目依序填入資料後按 [建立使用者]

1.3 假設建立的帳號名稱是 [MY-ID]


2. 安裝 Homebrew 

2.1 開啟 [終端機]

2.2 執行 homebrew 網站上提供的安裝指令 

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

2.3 安裝完成後會顯示以下3行指令,會將homebrew相關設定加入目前使用者的操作環境。可以先以滑鼠反白這2行指令後複製,方便之後紀錄在文件。

echo >> /Users/[目前登入帳號ID]/.zprofile 

echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/[目前登入帳號ID]/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv zsh)"

假設目前帳號是ABC,指令會是

echo >> /Users/ABC/.zprofile 

echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/ABC/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv zsh)"

 

2.4 完成後可以輸入指令測試

brew help

2.5 因為要打的字太多,寫到一個文字檔案方便到另一個帳號時複製貼上使用。這裡存到每個帳號都可以讀取的 /Users/Shared 資料夾
vi ~/../Shared/homebrew.txt

2.6 先按鍵盤的i進入編輯模式,這時再貼上之前複製的指令。按ESC離開編輯模式,按 : 進入命令模式,再輸入 wq 後按Enter 儲存。

3. 安裝擷取畫面及模擬滑鼠鍵盤程式peekaboo

3.1 如果沒安裝xcode,要先到 app store 安裝 xcode

3.2 執行 github 上 peekaboo repo 提供的安裝指令 

brew install steipete/tap/peekaboo

3.3 設定測試 peekaboo 需要的權限(可不做)

3.3.1 到 系統設定/隱私與安全性 ,點 螢幕與系統錄音 右側的小箭頭。

3.3.2 按 螢幕與系統錄音 下方的 + ,輸入密碼後,在出現的檔案選擇視窗右側[搜尋]欄位輸入Terminal

3.3.3 會在左側看到[終端機],選擇[終端機]後按[打開]

3.3.4 開啟一個終端機,輸入網站中的範例指令

peekaboo image --mode screen --retina --path ~/Desktop/screen.png
3.3.5 會出現請求權限對話框,按同意後就會在[桌面]資料夾看到擷取畫面檔案 screen.png

4. 登出目前帳號,在登入畫面選新建立的[MY-ID]帳號登入 



=================

一般使用者帳號環境 

5. 設定 homebrew 環境

5.1 在終端機開啟之前儲存的 homebrew 設定指令文件 

vi ~/../Shared/homebrew.txt

5.2 另外開啟一個終端機,把分別貼上文件中的3行指令,把原本指令中 [目前登入帳號ID] 改成現在登入的[MY-ID] 後執行

假設新帳號是 XYZ ,指令會是

echo >> /Users/XYZ/.zprofile 

echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/XYZ/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv zsh)"

 

5.3 輸入 brew help 測試 homebrew 環境正常

 

6. 安裝 nvm (node version manager)

6.1 執行在 github nvm repo 提供的安裝指令  

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

6.2 執行安裝完成後出現的3行設定指令

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. “$NVM_DIR/bash_completion" 

6.3 執行指令測試 nvm正常

nvm list

6.4 安裝 node.js 網站上列出最新的長期支援版 24.13.1 (22版以上就可以) 

nvm install 24.13.1

6.5 如果 AI 要用 google gemini,可以在這個時候安裝 gemini-cli 並完成帳號設定,用其他AI可以跳過這個步驟,在安裝openclaw時再看用什麼方式連接,或是參考其他設定教學

6.5.1 安裝google gemini-cli

npm install -g @google/gemini-cli

6.5.2 執行googel gemini-cli ,會要求在瀏覽器登入要使用的gooogle帳號驗證 

gemini

6.6 執行安裝 openclaw
curl -fsSL https://openclaw.ai/install.sh | bash


6.7 以方向鍵選擇選項,如果有多個項目,按空白鍵會反白選取,確認選取完成後按Enter

6.8 如果要連接 Telegram 通訊軟體,先在 Telegram 搜尋 @BotFather ,要選帳號旁邊有藍色標籤白色勾的才是正確。

6.8.1 在和 BotFather 對話中輸入建立新機器人指令 /newbot

6.8.2 輸入機器人名稱,會在對話框看到的名稱

6.8.3 輸入機器人的ID,必須要是 _bot 結尾。例如 abcd_bot。

6.8.4 會收到 BotFather 回傳一串文字,包含 Bot token,

格式是 1122334455:aabbccddeeffgg

這個 Token 要保密不可以公開

6.9 跟著步驟安裝完成,可以輸入指令測試

openclaw help

 

7. 設定 openclaw 

openclaw onboard --install-daemon

7.1 步驟中如果選擇 Telegram ,會需要填入取得的 Bot token

7.2 最後可以選擇 web 界面操作,方便設定

8. 手動安裝啟動

openclaw gateway install

手動啟動
openclaw gateway start

手動停止
openclaw gateway stop

9. 此時的 openclaw 只有在這個新帳號登入時,才會自動啟動。

如果登入其他帳時,則不會啟動。可以在終端機輸入 sudo su - [MY-ID] 切換到有openclaw 的帳號,執行 openclaw gateway start 手動啟動。或是以下列方法加入成 LaunchDaemon,就會在登入任何帳號時啟動openclaw。

10. 允許 Telegram 傳送指令

10.1 打開 Telegram 的機器人帳號,如果成功連接,左下角會有Menu 按鈕,打開會有 Show available commands. /help 等選項。

10.2 輸入 /help 測試連線

會收到 OpenClaw: access not configured. 相關訊息。

最重要的是 Pairing code: 後的英文數字

例如 AABBCCDDEE 

如果重新設定會不同 

10.2 回到前面步驟的的web 界面

如果已經關閉,可以入數 openclaw dashboard ,會顯示網址 

10.3 點 web界面的左側 Chat 按鈕

10.4 在最底部輸入框輸入

  approve telegram AABBCCDDEE

10.5 完成後可以在 Telegram 傳送指令測試

例如 send hello to telegram,看是否收到 openclaw 回傳 hello

 

管理者帳號環境


11. 以 LaunchDaemon 啟動 Openclaw

會在登入任何帳號時自動啟動 Openclaw,但是無法進行有關GUI,例如前面提的 peekaboo 的功能。

11.1 複製設定檔案

在終端機執行指令複製檔案 

sudo cp /Users/[MY-ID]/Library/LaunchAgents/ai.openclaw.gateway.plist /Library/LaunchDaemons/

11.2 編輯加入以 [MY-ID]帳號執行

sudo vim /Library/LaunchDaemons/ai.openclaw.gateway.plist

11.3 加入設定

先按 i進入編輯模式,滑鼠移動到 <true/>後按Enter 新增行,依序輸入要新增的2行資料 

<key>KeepAlive</key>
    <true/>
之後新增
    <key>UserName</key>
    <string>[MY-ID]</string>
以上這2行
    <key>ProgramArguments</key>

11.4 按ESC離開編輯模式,按:進入命令模式,輸入 wq 後按Enter儲存

11.5 檢查是否成功加入 LaunchDaemon

在終端機輸入

sudo plutil -lint /Library/LaunchDaemons/ai.openclaw.gateway.plist

如果看到一大串文字或是/Library/LaunchDaemons/ai.openclaw.gateway.plist: OK 就是已加入 LaunchDaemon。

 

11.6 手動加入 LaunchDaemon
sudo launchctl bootstrap system /Library/LaunchDaemons/ai.openclaw.gateway.plist
如果出現 Bootstrap failed: 5: Input/output error 可能已經有加入

10.7 重開機登入測試看看是否已自動啟動

 

12. 在登入 [MY-ID]帳號時,才可以測試 peekaboo 的截圖和控制功能

12.1 查詢 openclaw 和 node 程式位置

12.1.1 開啟終端機輸入指令查詢

whereis openclaw

whereis node

以 nvm 安裝會在 /Users/[MY-ID]/.nvm/versions/node/[node.js 版本號碼]/bin/內 

12.2 設定權限 

12.2.1 開啟 系統設定/隱私與安全性/螢幕與系統錄音

12.2.2 按 螢幕與系統錄音 項目下的 + ,出現檔案選擇視窗
如果沒有 + 和-可以按,先開啟終端機輸入指令

peekaboo image --mode screen

就會出現 + 和 -
 

12.2.3 按[Command(Win)]+[Shift]+g 會出現「前往:」對話框
 

12.2.4 輸入 /Users/[User ID]/.nvm/versions/node 後按 Enter

12.2.5選擇使用的 node.js 版本資料夾,再選bin資料夾
 

12.2.6 就會看到 openclaw 和 node 執行檔,都按打開按鈕加入清單

12.2.7 在 系統設定/隱私與安全性/輔助使用 同樣加入 node 和 openclaw

12.1 傳送 [add peekaboo skill] 給 openclaw

會自動安裝好相關設定

12.2 傳送 [以 peekaboo 擷取螢幕]

首次會在 MacOS 上出現詢問是否允許,按同意 

完成時會看到回傳的擷取畫面

 

13. 在別的帳號使用 web 界面

13.1 開啟終端機輸入  sudo su - [MY-ID] 切換到有openclaw 的帳號

13.2 輸入 openclaw dashboard 會顯示網址

以瀏覽器開啟就可以web界面可以操作

 

參考資料:

1.使用 OpenClaw:透過聊天平臺在任何裝置上實現 AI 電腦控制 - 完整指南

https://vocus.cc/article/697c7171fd89780001fa3071 

2. OpenClaw 龍蝦 Peekaboo AI 自動化助手安裝教學:4 步驟新手完整指南

https://medici.work/posts/openclaw-peekaboo-installation-guide

 

沒有留言:

張貼留言