coldnew's blog

在 opencode 裡面使用 ollama 或是 lmstudio 進行開發

從 LLM 問世後,大家最想做的事情還是本地開發吧?這邊紀錄怎樣在 opencode 裡面接上自己架設的 ollama 或是 lmstudio, 讓它可以不依賴外部模型進行開發。

(當然速度快慢就和自己電腦環境有關了)

加入 ollama 支援

假設你電腦已經架設好 ollama 並有指定一些模型,比如 gpt-oss:20b 後,在 ~/.config/opencode/opencode.json 加入這些

如果你使用的位址不是 http://localhost:11434/v1 的話,會需要修改一下

"provider": {
      "ollama": {
          "npm": "@ai-sdk/openai-compatible",
          "options": {
              "baseURL": "http://localhost:11434/v1",
              "timeout": 600000
          },
          "models": {
              "gpt-oss:20b": {
                  "tools": true
              },
              "glm-4.7-flash:q4_K_M": {
                  "tools": true
              }
          }
      }
 }      

修改完成後,重起 opencode 就可以在裡面選擇到像是 gpt-oss:20b 這樣的模型了。

加入 lmstudio 支援

如果你本地模型是給 lmstudio 來跑的話,和對 ollama 的處理方式很像,我們一樣是修改 ~/.config/opencode/opencode.json 加入這樣

"provider": {
    "lmstudio": {
        "npm": "@ai-sdk/openai-compatible",
        "name": "LM Studio",
        "options": {
            "baseURL": "http://localhost:1234/v1"
        }
    }
},
"plugin": [
    "opencode-lmstudio@latest"
]

這邊使用了 agustif/opencode-lmstudio plugin,它可以自動幫我們撈出 lmstudio 那邊有設定好的模型,這樣我們就不用自己手動添加到 ~/.config/opencode/opencode.json 裡面,但是缺點就是啟動 opencode 時候因為它會需要去尋問有哪些模型可以用,所以會慢一點點。

當然,如果你不想使用這個 plugin 的話,則可以像是我們對於 ollama 那邊的增加方式一樣加入你要用的模型設定

"provider": {
    "lmstudio": {
        "npm": "@ai-sdk/openai-compatible",
        "options": {
            "baseURL": "http://localhost:11434/v1",
            "timeout": 600000
        },
        "models": {
   "openai/gpt-oss-20b": {
"name": "gpt-oss-20b"
   }	    
        }
    }
}      

On this page