2422 字
12 分鐘

OpenHands 1.15 教學:安裝、模型設定與 workspace 排錯

OpenHands 是可以在工作環境中讀取檔案、修改程式碼、執行終端機指令,再依測試結果繼續工作的開源 AI Agent。它和只在編輯器裡補完程式碼的工具不同,因此安裝時不只要確認模型能回覆,也要確認 Docker、掛載路徑、權限和驗證流程都可控。

本文已依 OpenHands 1.15.0(2026-08-21) release 與目前官方文件更新。你會完成本機 GUI 安裝、模型與 API Key 設定、workspace 路徑確認和第一個可回復任務,也會知道 Docker、Windows WSL、權限和舊映像問題要分開排查。

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

OpenHands 1.15 有哪些值得注意的變更#

1.15.0 的變更會影響第一次設定和日常檢查,主要包括:

變更實際用途
Getting started checklist 可在設定中切換初次設定可以逐項完成,也能在熟悉後關閉提示
Files view 顯示 workspace path直接確認 Agent 目前看到的實際工作目錄
local agent-server 增加 LLM provider connections UI在介面中管理模型供應商連線,不必只靠舊教學中的環境變數
Automation catalog 可以安裝包含 script bundle 的項目將可重複的工作流程納入 automation,而不是每次從空白提示開始
Conversation overview 與 unified commits drawer在較長任務中查看對話摘要和變更提交狀態
修正 agent profile 靜默降級與 home LLM 選擇被覆蓋發現模型不符預期時,先檢查目前 profile 和設定頁選擇

這些是產品功能與 bug fix,不代表 Agent 會自動安全地修改任何 repository。仍要用 Git branch、限定掛載目錄和可驗證的小任務控制變更範圍。

開始前的環境與安全邊界#

官方本機設定路徑需要:

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

macOS 可以直接在終端機執行;Linux 依官方 Docker 環境準備。Windows 原生 PowerShell 和 Command Prompt 不是本文的執行入口,請先使用 WSL,再確認 Docker Desktop 已啟用 WSL 2 engine 和該 distribution 的整合。

在把 repository 交給 Agent 前,先建立 Git branch、執行 git status --short,並確認目前工作目錄沒有你不想被讀取或修改的憑證。第一次測試最好使用不含 secrets 的小型專案。

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

--mount-cwd 會把目前所在的資料夾掛載給 OpenHands。它不是唯讀模式;請先確認目前路徑、Git 狀態和檔案權限,再啟動 Agent。

用官方 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

CLI launcher 會檢查 Docker、拉取需要的映像並啟動 GUI server。完成後開啟:

http://localhost:3000

如果只想先確認介面,不希望 OpenHands 讀取目前專案,可以在不含敏感檔案的目錄執行:

Terminal window
openhands serve

日後更新 launcher:

Terminal window
uv tool upgrade openhands --python 3.12

官方也提供直接執行 Docker image 的方式,但 image、agent-server tag 和啟動參數會隨版本更新。第一次安裝優先使用 launcher;若要固定 image 或部署到共用環境,應以目前 Local setup 官方文件 的指令為準,不要複製舊文章中的 ghcr.io/all-hands-ai/ 路徑。

設定 LLM provider、model 與 API Key#

第一次開啟 OpenHands 時會看到設定流程,也可以進入 SettingsLLM。基本設定依序完成:

  1. LLM Provider 選擇供應商。
  2. LLM Model 選擇模型。
  3. 填入 API Key
  4. 按下 Save Changes

目前官方 LLM 文件列出 OpenHands、Anthropic、OpenAI 和 Mistral AI 等已驗證供應商。模型名稱、可用性和費用都會變動,請以設定頁當下的清單與供應商文件為準,不要把舊文章中的 model id 當成固定答案。

如果基本清單沒有你的端點,開啟 Advanced

  • Custom Model:依 LiteLLM provider 格式填入 provider prefix。
  • Base URL:填入相容 API 或自架服務的端點。
  • API Key:填入該端點的金鑰。

設定變更會套用到新的 conversation;官方文件提醒,舊 conversation 若要使用新的 LLM,可能需要重新啟動。1.15 的 provider-connections UI 適合用來檢查目前儲存的連線,但仍要確認 profile 沒有把 home LLM 選擇覆蓋掉。

API Key 與費用

雲端模型通常需要另外計費。先在供應商後台設定用量上限,不要把 Key 寫進 repository、prompt 或 shell history。OpenHands Cloud 的登入和模型額度也有自己的條件,不能把網站帳號當成無限 API 額度。

先確認 workspace path,再交付任務#

啟動後先在 Files view 查看 workspace path,確認它就是預期的 repository。這個 1.15 新增的資訊很適合抓出「在錯誤資料夾啟動」的問題;不要只看瀏覽器 URL 或對話標題。

第一個任務先要求唯讀盤點:

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

確認 workspace、模型和工具呼叫都正常後,再交付一個小而可回復的修改:

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

最後回到自己的終端機驗證:

Terminal window
git status --short
git diff -- hello-openhands.txt

這個循序流程能確認四件事:Agent 看到正確目錄、模型能呼叫工具、檔案真的被建立,以及實際 diff 沒超出要求。若你同時使用多個 coding agent,可以先用 Git worktree 管理多個 AI coding agent 分離工作副本,降低互相覆蓋檔案的機會。

常見故障排除#

Launch docker client failed#

先確認 Docker daemon,而不是先重裝 OpenHands:

Terminal window
docker ps

如果命令本身失敗,先啟動或修復 Docker,再重新執行 openhands serve。使用 Docker Desktop 時,依目前環境檢查 Docker socket、WSL 2 engine 和必要的整合設定。

一開始就出現 Permission Denied#

先看 OpenHands 狀態目錄和 workspace 的擁有者:

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

如果 ~/.openhands 意外屬於 root,確認路徑後再把擁有者改回目前使用者,而不是把整個家目錄開成所有人可寫:

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

修改前先確認沒有把命令套到錯誤目錄;workspace 也必須讓執行 OpenHands 的使用者擁有必要權限。

Windows 能開介面,但指令或掛載異常#

確認 uvopenhands 和 Docker 相關命令都在 WSL distribution 中執行,不要混用 PowerShell 的路徑。再到 Docker Desktop 檢查 WSL 2 engine 和該 distribution 的 integration;若 GUI 可開但 Files view 路徑不對,先停止服務並從正確的 WSL workspace 重新執行 openhands serve --mount-cwd

舊教學的 Docker image 拉不到#

舊文章可能仍使用 All-Hands-AI 組織或 ghcr.io/all-hands-ai/ image。OpenHands 已改用新的組織與文件路徑;不要只替換一個 tag,請回到官方 Local setup 文件重新確認 image、agent-server 和版本組合。CLI launcher 能減少手動拼接這些版本的機會。

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

依序檢查:

  1. 是否用 --mount-cwd 啟動,且啟動時所在路徑正確。
  2. Files view 顯示的 workspace path 是否就是目標 repository。
  3. Agent 是否有讀取和寫入該目錄的權限。
  4. LLM provider、model 和 API Key 是否已儲存到目前 conversation 使用的設定。
  5. 本機模型的 context length 是否足夠,是否持續出現工具格式錯誤。

前四項都正常但仍失敗時,問題可能在模型能力或相容端點,不一定是 OpenHands 安裝錯誤。先改用一個小任務和官方文件列出的 provider 做對照。

OpenHands CLI 的另一種入口#

安裝 launcher 後,也可以在終端機使用互動式 CLI:

Terminal window
openhands login
openhands

CLI 會引導登入 OpenHands Cloud 或設定模型;也可以直接帶入小型任務:

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

GUI 適合觀察完整執行過程,CLI 適合已經在終端機工作的開發者。兩者都應遵守同一個原則:先限制 workspace,要求 Agent 回報驗證,再人工查看 diff。

如果你正在比較終端機 coding agent,可以接著看 OpenCode Go 的安裝與模型設定;那篇討論另一種終端機工作流,這篇則聚焦 OpenHands 的 Docker 隔離、workspace 掛載和 Agent 驗證。

常見問題#

Q: OpenHands 1.15 一定要使用 Docker 嗎?#

A: 官方本機 GUI launcher 的流程會檢查並使用 Docker;文件也提供傳統 pip 安裝,但預設 MCP server 仍需要 uv,因此不能把「安裝 Python 套件」理解成完全不需要 Docker 的等價路徑。依你的執行模式查看目前官方文件。

Q: 設定了新的 LLM,舊 conversation 為什麼還像在用舊模型?#

A: 官方 LLM 設定文件說明,新的 LLM 會套用到新的 conversations;舊 conversation 可能需要重新啟動。1.15 也修正了 home LLM dropdown 和 agent profile 選擇的優先順序,請重新檢查目前 profile 和 Settings → LLM。

Q: --mount-cwd 可以掛載整個家目錄嗎?#

A: 不建議。它會讓 Agent 看到並可能修改掛載範圍內的檔案;請只掛載專案 workspace,先移除 secrets,並以 Git branch 和可回復的小任務驗證。若需要跨多個專案工作,使用分開的 worktree 或專用資料夾。

參考資料:

OpenHands v1.15.0 release notes

OpenHands 官方文件:Local setup

OpenHands 官方文件:LLM settings

OpenHands 官方文件:CLI quick start

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

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