2201 字
11 分鐘

OpenHands 教學:安裝、模型設定與故障排除

OpenHands 是一個開源的軟體開發 AI Agent。和只在編輯器裡補完程式碼的工具不同,它可以在工作環境中讀取檔案、修改程式碼、執行終端機指令,再根據測試結果繼續處理任務。

這篇 OpenHands 教學以 2026-07-20 查核的官方文件為準,帶你完成本機安裝、模型設定、第一個任務驗證,以及最常見的 Docker 與權限問題。舊版常見的 ghcr.io/all-hands-ai/... 映像路徑已經過時,本文不再沿用。

OpenHands
/
OpenHands
Waiting for api.github.com...
00K
0K
0K
Waiting...

開始前先確認適不適合#

OpenHands 比較適合能被明確驗證的開發工作,例如:

  • 閱讀既有 repository 並修正一個可重現的錯誤
  • 新增小型功能,同時執行專案原有測試
  • 分析失敗 log、修改設定,再重新驗證
  • 整理重複程式碼或補上測試案例

它不是「把一句需求交出去就一定能安全完成」的黑盒子。Agent 會執行指令並修改掛載進去的檔案,因此正式專案最好先建立 Git branch、確認工作目錄沒有未保存變更,並避免把 production 憑證放進可讀取範圍。

如果你正在調整其他 coding agent 的執行方式,可以先看 AI Agent 如何從口頭回答走到可驗證的執行迴圈。那篇的「先蒐證、再修改、最後驗證」同樣適用於 OpenHands。

OpenHands 本機安裝需求#

官方目前推薦透過 CLI launcher 啟動本機 GUI。準備項目如下:

  • Docker Desktop 或 Docker Engine 已安裝並正在執行
  • docker ps 能在終端機正常完成
  • Python 3.12 以上版本
  • uv 套件工具;OpenHands 的預設 MCP server 也會用到它
  • 一組可用的模型 API Key,或已設定好的本機模型端點

Windows 原生終端機目前不在官方支援範圍內,必須先安裝 WSL,並在 WSL 終端機裡執行 OpenHands 指令。Docker Desktop 也要啟用 WSL 2 engine 與對應 distribution 的整合。

掛載目錄代表 Agent 可以修改檔案

後面的 --mount-cwd 會把目前資料夾交給 OpenHands。先執行 git status,確認你知道哪些檔案可能被更動;初次測試也可以建立一個不含敏感資料的空白專案。

用官方建議的 CLI launcher 安裝#

先依 uv 官方安裝說明 安裝 uv,再安裝 OpenHands:

Terminal window
uv tool install openhands --python 3.12

切換到準備交給 Agent 的專案目錄,啟動 GUI 並掛載目前目錄:

Terminal window
cd /path/to/your-project
openhands serve --mount-cwd

launcher 會檢查 Docker、下載需要的映像並啟動服務。完成後用瀏覽器開啟:

http://localhost:3000

如果目前只想看介面、不想讓 OpenHands 讀取專案,可以先執行:

Terminal window
openhands serve

日後更新 launcher,可使用:

Terminal window
uv tool upgrade openhands --python 3.12

官方也提供直接執行 Docker 映像的方式,但映像名稱、agent server tag 與版本會隨發行更新。若你需要固定版本或部署到共用環境,請直接使用文末的官方 Local GUI Setup 指令,不要複製舊文章裡的 all-hands-ai 映像。

設定模型與 API Key#

第一次開啟 OpenHands 時會顯示設定視窗,也可以從右上角齒輪進入 SettingsLLM。基本設定依序填入:

  1. 選擇 LLM Provider
  2. 選擇該供應商的 LLM Model
  3. 貼上對應的 API Key
  4. 按下 Save Changes

OpenHands 官方文件目前列出 OpenHands、Anthropic、OpenAI 與 Mistral 等已驗證供應商。模型清單和推薦會變動,因此不要把網路文章裡的舊模型名稱當成固定答案;以設定頁當下提供的選項和官方模型文件為準。

如果供應商或模型不在基本選單裡,開啟 Advanced 後可以填入:

  • Custom Model:需要包含 LiteLLM 使用的 provider 前綴
  • Base URL:自架或相容 API 的端點
  • API Key:該端點使用的金鑰
API Key 與費用

多數雲端模型需要另外計費。先在供應商後台設定用量上限,並避免把 Key 寫進 repository、提示內容或終端機紀錄。OpenHands Cloud 的登入與 LLM Key 也有自己的計費條件,不能把網站帳號等同於無限模型額度。

本機模型不是只填 Ollama 網址就完成#

OpenHands 的 Agent 需要模型穩定使用工具、遵循格式,並保有足夠長的上下文。官方文件也提醒,多數本機模型可能出現回覆慢、工具呼叫失敗或 JSON 格式錯誤。

因此,本機模型適合願意自行處理硬體、context length 與相容端點的人。若只是第一次驗證 OpenHands,先用官方已驗證的雲端模型通常比較容易分辨「安裝問題」和「模型能力問題」。

執行第一個可驗證任務#

不要一開始就叫 Agent 重構整個系統。先用一個小而可驗證的任務確認檔案讀寫、指令執行與模型連線都正常,例如:

先讀取這個專案的 README 與套件腳本,不要修改檔案。
告訴我使用哪個套件管理器、可執行哪些測試,並列出你讀過的檔案。

確認結果符合 repository 後,再交付一個限定範圍的修改:

建立 hello-openhands.txt,內容只有 OpenHands is ready。
完成後讀回檔案,並執行 git diff -- hello-openhands.txt 回報結果。
不要修改其他檔案。

最後在自己的終端機驗證:

Terminal window
git status --short
git diff

這個流程可以同時確認四件事:OpenHands 能看到掛載目錄、模型能呼叫工具、Agent 能建立檔案,而且實際變更沒有超出要求。

OpenHands 常見問題排查#

顯示 Launch docker client failed#

先確認 Docker daemon 真的可用:

Terminal window
docker ps

若這個指令本身失敗,先啟動或修復 Docker,再重開 OpenHands。使用 Docker Desktop 時,官方也建議檢查 SettingsAdvanced 的預設 Docker socket 選項;部分環境還需要啟用 host networking。

第一個任務就出現 Permission Denied#

先檢查 OpenHands 狀態目錄與掛載專案的擁有者:

Terminal window
ls -ld ~/.openhands
ls -ld /path/to/your-project

如果 ~/.openhands 意外屬於 root,優先把擁有者改回目前使用者,而不是直接把整個目錄開成所有人可寫:

Terminal window
sudo chown -R "$(id -un)":"$(id -gn)" ~/.openhands

專案目錄也必須讓執行 OpenHands 的使用者有必要權限。修改前先確認路徑,不要對家目錄或不明目錄遞迴套用權限。

Windows 能開介面,但指令或連線異常#

確認所有 OpenHands 指令都在 WSL distribution 裡執行,而不是 PowerShell 或 Windows Command Prompt;再回到 Docker Desktop 檢查 WSL 2 engine 和 distribution integration 是否開啟。

舊教學的 Docker 映像拉不到#

OpenHands 的 GitHub 組織已從 All-Hands-AI 改為 OpenHands。舊的 Git remote 和 ghcr.io/all-hands-ai/ 映像參照都可能失效;以目前官方文件的 OpenHands/OpenHands repository 和新映像路徑為準。

OpenHands 像聊天機器人,不會操作檔案#

依序確認:

  1. 啟動時是否使用 --mount-cwd,而且當時所在目錄正確。
  2. Agent 是否有讀取該目錄的權限。
  3. 模型是否為官方驗證或適合 Agent 工具呼叫的模型。
  4. 本機模型的 context length 是否足夠,是否持續出現工具格式錯誤。

若前三項都正常但仍反覆失敗,問題可能在模型能力或相容端點,不一定是 OpenHands 本身。

OpenHands CLI 的另一種使用方式#

安裝 launcher 後,也可以直接在終端機執行互動式 CLI:

Terminal window
openhands login
openhands

第一次會引導登入 OpenHands Cloud 或手動設定模型。CLI 裡可用 Ctrl+P 打開 command palette、Esc 暫停 Agent、Ctrl+Q/exit 離開;也可以直接帶入小型任務:

Terminal window
openhands -t "Read the test failure and explain the likely cause without editing files"

GUI 適合看完整執行過程,CLI 則適合已經在終端機工作的開發者。兩者的重點都一樣:先限制範圍、要求驗證,再人工查看 diff。

如果你也在比較終端機 coding agent,可以接著看 OpenCode Go 的安裝與模型設定;兩篇文章分別著重 OpenHands 的隔離執行環境,以及 OpenCode 的終端機工作流。

結論#

目前最穩定的 OpenHands 入門路徑,是準備好 Docker 與 uv,用 uv tool install openhands --python 3.12 安裝 launcher,再從專案目錄執行 openhands serve --mount-cwd。進入介面後設定模型與 API Key,先跑唯讀盤點,再用一個可回復的小檔案驗證工具呼叫和修改範圍。

舊版 OpenHands 教學最容易出錯的地方,是過時的 Docker image、Windows 原生執行方式,以及把本機模型設定簡化成一個環境變數。遇到問題時,先分開檢查 Docker、掛載權限、模型能力與 WSL,通常會比反覆重裝更快找到原因。

參考資料#

OpenHands Local GUI Setup

OpenHands LLM Settings

OpenHands CLI Quick Start

OpenHands Troubleshooting

OpenHands GitHub repository

OpenHands 教學:安裝、模型設定與故障排除
https://laplusda.com/posts/openhands-introduction/
作者
Zero
發佈於
2025-06-18
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。