2026年10月10日 星期六

OpenClaw 學習筆記 : 在樹莓派 Pi 4 安裝 OpenClaw (十九)

我在前一篇測試中考驗了 GTP-5.6 Luna 模型的能力, 發現它不僅比 Sol 便宜甚多, 且效能上也很出色, 非常適合作為 OpenClaw 的備援 (fallback) 模型. 昨天我註冊了 Groq 平台帳號, 參考 :


Groq 託管的 openai/gtp-oss-120b 模型價格與 Luna 相近, 本篇旨在 coding 工具集模式下測試其效能. 

本系列全部測試文章索引參考 :



1. 安裝 Groq provider :

由於在前面測試 (十六) 裡曾用 openclaw models list 指令檢視 OpenCraw 內建支援的模型清單裡並無 Groq 這個 provider, 所以須先安裝 Groq provider 外掛 : 

pi@pi4b:~ $ openclaw plugins install @openclaw/groq-provider
│
◇  

OpenClaw 2026.7.1-2 (0790d9f) — More integrations than your therapist's intake form.

Resolved @openclaw/groq-provider to @openclaw/groq-provider@2026.9.9, but that version is incompatible with this OpenClaw runtime; using newest compatible @openclaw/groq-provider@2026.7.1.
Installing @openclaw/groq-provider into /home/pi/.openclaw/npm/projects/openclaw-groq-provider-d726e35179…
Linked peerDependency "openclaw" -> /home/pi/.config/nvm/versions/node/v24.17.0/lib/node_modules/openclaw
Plugin manifest id "groq" differs from npm package name "@openclaw/groq-provider"; using manifest id as the config key.
Installed plugin: groq
Restart the gateway to load plugins.

可見已成功安裝了與 OpenClaw 2026.7.1-2 相容的 Groq Provider 版本了, 由於此外掛的 2026.9.9  版與目前的 OpenClaw runtime 不相容, 因此自動改安裝 2026.7.1 版. 安裝 plugin 後須重新啟動 Gateway 才會載入 : 

pi@pi4b:~ $ systemctl --user restart openclaw-gateway.service   

確認服務狀態是否為 active :

pi@pi4b:~ $ systemctl --user status openclaw-gateway.service --no-pager    
● openclaw-gateway.service - OpenClaw Gateway (v2026.7.1-2)
     Loaded: loaded (/home/pi/.config/systemd/user/openclaw-gateway.service; enabled; preset: enabled)
     Active: active (running) since Sat 2026-10-10 08:33:43 CST; 47s ago
   Main PID: 1345730 (MainThread)
      Tasks: 11 (limit: 8743)
        CPU: 56.270s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/openclaw-gateway.service
             └─1345730 /home/pi/.config/nvm/versions/node/v24.17.0/bin/node /home/pi/.config/nvm/v…

10月 10 08:33:43 pi4b systemd[727]: Started openclaw-gateway.service - OpenClaw Gateway (v2….1-2).
10月 10 08:34:23 pi4b node[1345730]: 2026-10-10T08:34:23.955+08:00 [gateway] loading config…ation…
10月 10 08:34:24 pi4b node[1345730]: 2026-10-10T08:34:24.591+08:00 [gateway] resolving auth…ation…
10月 10 08:34:24 pi4b node[1345730]: 2026-10-10T08:34:24.674+08:00 [gateway] starting...
10月 10 08:34:27 pi4b node[1345730]: 2026-10-10T08:34:27.467+08:00 [gateway] auto-enabled p…onfig:
10月 10 08:34:27 pi4b node[1345730]: - duckduckgo web search provider selected, enabled aut…cally.
Hint: Some lines were ellipsized, use -l to show in full.

檢視 Groq Provider 是否載入 :

pi@pi4b:~ $ openclaw models list --provider groq   

OpenClaw 2026.7.1-2 (0790d9f) — I'll refactor your busywork like it owes me money.

Model                                      Input      Ctx         Local Auth  Tags
groq/compound                              text       131k        no    no    
groq/compound-mini                         text       131k        no    no    
groq/llama-3.1-8b-instant                  text       131k        no    no    
groq/llama-3.3-70b-versatile               text       131k        no    no    
groq/meta-llama/llama-4-scout-17b-16e-i... text+image 131k        no    no    
groq/openai/gpt-oss-120b                   text       131k        no    no    
groq/openai/gpt-oss-20b                    text       131k        no    no    
groq/openai/gpt-oss-safeguard-20b          text       131k        no    no    
groq/qwen/qwen3-32b                        text       131k        no    no    

可見目標模型 groq/openai/gpt-oss-120b 已經在模型提供者清單中了. 


2. 備份 OpenClaw 設定檔 :

為了測試 GPT OSS 120B 效能, 以下將暫時調整設定檔中的 models 與 model 設定, 把 groq/openai/gpt-oss-120b 設為 primary, 在這之前先備份設定檔 :

pi@pi4b:~ $ cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.20261010   
pi@pi4b:~ $ ls -l ~/.openclaw/openclaw.json*   
-rw------- 1 pi pi 2975 10月 10 08:22 /home/pi/.openclaw/openclaw.json
-rw------- 1 pi pi 2926 10月 10 08:22 /home/pi/.openclaw/openclaw.json.bak
-rw------- 1 pi pi 2917 10月  9 01:53 /home/pi/.openclaw/openclaw.json.bak.1
-rw------- 1 pi pi 2921 10月  9 01:52 /home/pi/.openclaw/openclaw.json.bak.2
-rw------- 1 pi pi 2975 10月 10 08:41 /home/pi/.openclaw/openclaw.json.bak.20261010
-rw------- 1 pi pi 2916 10月  9 01:44 /home/pi/.openclaw/openclaw.json.bak.3
-rw------- 1 pi pi 2917 10月  9 01:34 /home/pi/.openclaw/openclaw.json.bak.4
-rw------- 1 pi pi 2975 10月 10 08:34 /home/pi/.openclaw/openclaw.json.last-good
-rw------- 1 pi pi 1455  9月  5 15:58 /home/pi/.openclaw/openclaw.json.manual.bak


3. 修改可用模型 models 設定:

用下列指令將 groq/openai/gpt-oss-120b 模型加入可用模型清單中, 取別名為 OSS :

pi@pi4b:~ $ openclaw config set --replace agents.defaults.models '{"openai/gpt-5.6-luna": {"alias": "GPT"}, "google/gemini-2.5-flash": {"alias": "Flash"},"groq/openai/gpt-oss-120b": {"alias": "OSS"}}'
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
I'm like tmux: confusing at first, then suddenly you can't live without me.

Updated agents.defaults.models. Change will apply without restarting the gateway.

檢視可用模型清單, 確認 GPT OSS 已入列 : 

pi@pi4b:~ $ openclaw config get agents.defaults.models   

OpenClaw 2026.7.1-2 (0790d9f)
I can grep it, git blame it, and gently roast it—pick your coping mechanism.

{
  "google/gemini-2.5-flash": {
    "alias": "Flash"
  },
  "openai/gpt-5.6-luna": {
    "alias": "GPT"
  },
  "groq/openai/gpt-oss-120b": {
    "alias": "OSS"
  }
}


3. 修改 model 的 primary 與 fallback 設定:

將測試主角 GPT OSS 指定為 primary (預設模型), Gemini 2.5 Flash 與 GPT 5.6 Luna 為 fallback (備援模型) :

pi@pi4b:~ $ openclaw config set agents.defaults.model.primary "groq/openai/gpt-oss-120b"   
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
I've read more man pages than any human should—so you don't have to.

Updated agents.defaults.model.primary. Change will apply without restarting the gateway.
  
接著設定備援模型 : 

pi@pi4b:~ $ openclaw config set agents.defaults.model.fallbacks '["google/gemini-2.5-flash", "openai/gpt-5.6-luna"]'  
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
I'm the assistant your terminal demanded, not the one your sleep schedule requested.

Updated agents.defaults.model.fallbacks. Change will apply without restarting the gateway.

檢視設定是否正確 : 

pi@pi4b:~ $ openclaw config get agents.defaults.model   

OpenClaw 2026.7.1-2 (0790d9f) — I autocomplete your thoughts—just slower and with more API calls.

{
  "primary": "groq/openai/gpt-oss-120b",
  "fallbacks": [
    "google/gemini-2.5-flash",
    "openai/gpt-5.6-luna"
  ]
}


4. 設定 Groq API key :

OpenClaw 所使用的模型的金鑰認證資料放在一個 sqlite 資料庫裡, 可以用下列指令查詢 : 

pi@pi4b:~ $ openclaw models auth list   
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
I'm not AI-powered, I'm AI-possessed. Big difference.

Agent: main
Auth state store: ~/.openclaw/agents/main/agent/openclaw-agent.sqlite
Profiles:
- google:default [google/api_key]
- openai:api-key [openai/api_key]

可見目前資料庫內只有 Google 與 OpenAI 這兩個 provider 的認證金鑰資料, 由於 Groq 不是內建的模型提供者, 是透過安裝外掛加入的, 所以不能像內見的那樣用 openclaw configure 指令去設定 API key, 必須用下列指令手動設定, 出現 Paste API key for groq 時將金鑰貼上按 Enter 即可 : 

pi@pi4b:~ $ openclaw models auth paste-api-key --provider groq --profile-id groq:manual
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
I'll butter your workflow like a lobster roll: messy, delicious, effective.

│
◇  Paste API key for groq
│  ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
Updated config: ~/.openclaw/openclaw.json
  Backup: ~/.openclaw/openclaw.json.bak
Auth profile: groq:manual (groq/api_key)

確認 Groq 的金鑰已寫入資料庫 : 

pi@pi4b:~ $ openclaw models auth list
│
◇  

OpenClaw 2026.7.1-2 (0790d9f)
Your personal assistant, minus the passive-aggressive calendar reminders.

Agent: main
Auth state store: ~/.openclaw/agents/main/agent/openclaw-agent.sqlite
Profiles:
- google:default [google/api_key]
- groq:manual [groq/api_key]
- openai:api-key [openai/api_key]


5. 驗證設定檔與重啟服務:
 
檢查設定檔語法是否有效 : 

pi@pi4b:~ $ openclaw config validate
│
◇  

OpenClaw 2026.7.1-2 (0790d9f) — I autocomplete your thoughts—just slower and with more API calls.

Config valid: ~/.openclaw/openclaw.json

用 kill 指令殺死行程來重啟 OpenClaw 服務, 這樣最能保證上面的 models 與 model 設定生效 :

pi@pi4b:~ $ pkill -9 -f openclaw  
pi@pi4b:~ $


5. 能力測試 :

以下使用 LINE 對 GPT OSS 120B 模型進行五項能力考驗 : 


(1). 網路搜尋 :

提示詞如下 : 

台積電 ADR 目前價格? 

結果看似有回答, 但馬上用 /status 查詢發現是 fallback 到 Gemini (但為何本身回應中沒顯示 fallback?) : 





問簡單的 1+1 也是 fallback : 




似乎用不了, 看來要等重新開放付費後再來測試. 還是先回到 primary: gemini-2.5-flash 與 fallback: gpt-5.6-luna 配置吧. 

沒有留言 :