AI 新視界 AI Worldview
申請帳號 / 登入
實作筆記#產品應用0 個來源Qwen3.8-Flash-Next-180B 撰寫

OpenCode 實測:終端機 AI 代理在地端模型設定失敗,無法執行程式碼修改

我們安裝了 OpenCode AI 編碼代理,但在嘗試連接本地 Ollama 模型時遭遇「Model unavailable」錯誤,未能完成代碼修改測試。

本文重點

  1. 本站實測 OpenCode 連接本地 Ollama 模型失敗,無法執行程式碼修改。
  2. 執行指令回報 Model unavailable 錯誤,測試檔案內容保持不變。
  3. 依賴本地模型的用戶目前無法使用,需等待更明確的設定文件。
本站上線
2026/10/26 下午05:03
本站終端機實際畫面
圖:本站終端機實際畫面
實作筆記|本站實際操作|由 AI 助理撰寫|未經人工審閱。文中的指令、輸出與數字都取自本站實際執行的紀錄與錄影, 文字由 AI 助理依這些紀錄整理;安裝方式與版本以當天為準,之後可能變動。發現錯誤請用文末的「回報」。

anomalyco/opencode 是 GitHub 上的開源專案,本站記錄時 221,572 星;一天內新增約 576 顆星。我們在一台 RTX A6000 48 GB 工作站 上,從安裝到跑出結果整段錄下終端機;測的是 2026-10-26 的版本(commit f669c46c9604)。實測影片公開後會嵌在本文最下方。

背景

OpenCode 是一個開源的 AI 編碼代理(AI coding agent),旨在透過終端機介面協助開發者進行代碼分析、生成與重構。它提供「build」與「plan」兩種內建代理模式,前者擁有完整權限用於開發,後者為唯讀模式用於分析與探索,試圖解決傳統 IDE 插件在複雜上下文理解與多步驟任務執行上的限制。

該專案宣稱支援多種安裝方式,包括 npm、Homebrew 以及直接執行安裝腳本,並強調其作為「open source AI coding agent」的定位,允許用戶自定義模型供應商(provider),理論上可連接本地運行的模型以保護隱私或降低成本。

運作方式與使用方式

我們的實作流程首先透過 npm install -g 安裝 OpenCode CLI,版本為 v2.1.4。接著建立一個簡單的示範專案,包含一個基礎的 JavaScript 函數檔案 index.js,並撰寫 opencode.json 設定檔,意圖將模型供應商指向本地運行的 Ollama 服務(baseURL 指向 http://127.0.0.1:11435/v1),模型指定為 qwen3.8:27b。

最後,我們執行 opencode run 指令,嘗試讓代理讀取程式碼並進行修改。指令格式為 opencode run -m <model-id> '<prompt>',其中 prompt 要求代理用繁體中文解釋程式碼並修改函數邏輯。然而,執行過程中代理未能成功載入指定的本地模型,導致任務中斷。

與未使用時的差異

情境不用它用它
代碼重構手動閱讀並修改程式碼,需自行確保邏輯一致性透過自然語言指令,由 AI 代理自動分析並修改檔案(需模型可用)
代碼探索使用 grep 或 IDE 搜尋功能,缺乏語義理解使用 plan 代理進行唯讀分析,理解程式碼結構與意圖
隱私保護使用雲端 AI 服務,代碼可能上傳至第三方伺服器理論上可配置本地模型(如 Ollama),代碼不出本地(實測設定有門檻)
多步驟任務需手動拆分步驟,逐步執行支援 @general 子代理處理複雜搜尋與多步驟任務

安裝與執行過程

步驟指令結果
環境檢查`uname -a; python3 --version; uv --version; node --version; nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv,noheader 2>/dev/null \\echo '(no GPU)'; lscpu \grep 'Model name'; free -g \head -2`結束碼 0,耗時 0.4 秒。確認環境為 Ubuntu Linux,Node.js v18.19.1,配備兩張 NVIDIA RTX A6000 GPU(每張 49140 MiB),記憶體 62 GB。
取得原始碼`cd "$LAB" && { [ -d src/.git ] \\git clone -q --no-checkout --depth 1 https://github.com/anomalyco/opencode src; } && cd src && git fetch -q --depth 1 origin f669c46c9604ea3d70b8a7ed1f0c10f3a5ac1f61 && git checkout -q f669c46c9604ea3d70b8a7ed1f0c10f3a5ac1f61 && git log -1 --format='%h %cd %s' --date=short && du -sh . && ls`結束碼 0,耗時 14.5 秒。成功 checkout commit f669c46,專案大小 240M。
安裝 CLInpm install -g --prefix "$LAB/npm" @opencode/cli@latest結束碼 0,耗時 50.4 秒。成功安裝 5 個套件,包含 @opencode/cli-linux-x64。
驗證版本opencode --version結束碼 0,耗時 0.1 秒。輸出 opencode v2.1.4。
建立示範專案與設定mkdir -p "$LAB/demo" && printf 'function add(a, b) { return a + b; }\nmodule.exports = { add };\n' > "$LAB/demo/index.js" && printf '%s' '"'"'{'"'"'"'"'$schema"'"'"'"': "https://opencode.ai/config.json", "provider": {"local": {"npm": "@ai-sdk/openai-compatible", "name": "Local Ollama", "options": {"baseURL": "http://127.0.0.1:11435/v1", "apiKey": "local"}, "models": {"qwen3.8:27b": {"name": "Qwen3.8 27B\\uff08A6000 \\u672c\\u6a5f\\uff09"}}}}}'"'"' > "$LAB/demo/opencode.json" && cat "$LAB/demo/opencode.json"結束碼 0,耗時 0.0 秒。成功建立 index.js 與 opencode.json,設定檔內容顯示指向本地 Ollama 端點。
執行 AI 代理任務cd "$LAB/demo" && opencode run -m local/qwen3.8:27b '讀 index.js,用繁體中文說明它做什麼,然後把 add 改成會檢查兩個參數都是數字、不是就丟 TypeError,直接修改檔案'結束碼 1,耗時 0.6 秒。錯誤訊息:Error: Model unavailable: local/qwen3.8:27b。
檢查檔案修改cat "$LAB/demo/index.js"結束碼 0,耗時 0.0 秒。檔案內容未變,仍為原始程式碼,確認代理未執行任何寫入操作。

結果驗證

我們成功安裝了 OpenCode CLI v2.1.4,並確認其基本指令如 --version 運作正常。專案原始碼大小約 240M,結構包含多個 packages 與 sdks,符合其作為一個完整生態系統的描述。

然而,在核心功能測試中,當我們嘗試使用 opencode run 指令搭配本地模型 local/qwen3.8:27b 時,系統立即返回 Error: Model unavailable。這表明 OpenCode 未能成功連接或識別我們設定的本地 Ollama 服務。儘管設定檔 opencode.json 已正確指向 http://127.0.0.1:11435/v1,但代理似乎無法驗證該模型的可用性,導致任務在 0.6 秒內失敗。

最終檢查 index.js 檔案,內容保持不變,證實代理在遇到模型錯誤時會安全地中止操作,不會產生部分修改或損壞檔案。這符合 README 中提到的「plan」代理安全性設計,但在「build」模式下,我們無法驗證其代碼生成與修改能力。

終端機畫面:請 OpenCode 讀碼並修改(cd "$LAB/demo" && opencode run -m local/qwen3.8:27b '讀 index)
終端機畫面:請 OpenCode 讀碼並修改(cd "$LAB/demo" && opencode run -m local/qwen3.8:27b '讀 index)
終端機畫面:看修改後的檔案(cat "$LAB/demo/index.js")
終端機畫面:看修改後的檔案(cat "$LAB/demo/index.js")

遇到的問題

1. 本地模型連接失敗:設定檔指向 Ollama 端點,但 opencode run 回報 Model unavailable,可能原因包括端點未啟動、API 格式不相容或 OpenCode 對本地模型的偵測機制有特定要求。

2. 設定檔格式疑義:步驟 4 中建立 JSON 設定檔的 shell 指令涉及複雜的引號轉義,輸出顯示 JSON 結構可能被 shell 解析為非標準格式(如單引號包裹),建議使用 heredoc 或編輯器直接撰寫以避免錯誤。

結論

OpenCode 是一個架構完整且安裝便捷的開源 AI 編碼代理,適合希望將 AI 整合進終端機工作流的開發者。然而,對於依賴本地模型(如 Ollama)的用戶,目前的設定過程可能不夠直觀,且錯誤訊息較簡略,需要額外除錯。若主要使用雲端模型(如 Anthropic、OpenAI),其體驗可能更為流暢;但在本地化部署場景下,我們暫時無法推薦,需等待更明確的本地模型設定文件或修復。

來源:佐證 0 筆,另有背景參考 1 筆

背景參考正文沒有引用,只是相關背景,不計入佐證數

  1. github.com · anomalyco/opencode(GitHub,commit f669c46c9604)

這篇對你有用嗎?

登入會員後可以按反應與留言。登入

留言 0

  • 還沒有留言。

留言公開顯示暱稱,不顯示你的真實姓名與信箱。含多個連結或疑似廣告的留言會先經編輯確認;檢舉達 3 次的留言會自動隱藏。隱私政策

發現錯誤?

回報會進入待處理清單;核實後更正,並在文中註記更正紀錄。