![]()
![]()
![]()
2026年3月14日,ollama v0.18.0正式發布,這是一次極具里程碑意義的版本更新。本次更新圍繞云模型、集成啟動、Claude代碼支持、OpenAI兼容接口、命令行體驗及中間件處理能力等多個維度進行了系統優化和重大改進。無論是使用本地模型還是云端大模型的開發者,都能在此版本中獲得更加流暢、智能和安全的體驗。
以下為本次v0.18.0版本的詳細更新內容與技術解讀。
一、核心亮點綜述
1.云模型全面接入:
? 現在無需通過
ollama pull下載云模型,只需在模型名稱后添加:cloud標簽,即可自動連接云端模型。? 系統在調用
ollama run時,會自動拉取云模型的“stub”信息,完成兼容性適配。? 改進了模型源的傳播邏輯,在創建云模型衍生版本時維護明確的來源標識。
2.Claude代碼增強:
? 新增支持設置Compaction Window(壓縮窗口)功能,針對 Claude Code 云模型自動設定窗口大小以優化上下文處理。
? 對 Claude 本地與云模型環境變量裝載進行了精細優化,確保自動選擇正確模型與上下文。
3.OpenAI兼容API增強:
? 文檔新增了
reasoning_effort參數支持說明,可在推理型模型中控制推理強度("high"、"medium"、"low"、"none")。? 完善了推理/thinking控制字段,實現對推理模型的細粒度策略控制。
4.命令行功能升級:
? 改進模型排序及啟動行為,優化 TUI(終端交互界面)中的選項邏輯。
? “--yes” 無頭模式強化:在不交互的環境中可自動批準并拉取缺失模型。
? 新增云模型檢測與自動補全機制,使顯式云模型在列表中同樣被
ollama ls正確識別。
5.中間件與服務器改進:
?
middleware層在處理非 JSON 錯誤時可自動回退字節錯誤提示,避免解析錯誤干擾。? 新增 zstd 解壓支持,在云代理中間件可自動解碼壓縮請求體,實現高效傳輸。
? 限制最大解壓后體積(20MB),防止超大請求導致資源消耗。
? 改進云代理 passthrough 流程,檢測
Content-Encoding: zstd并清除標頭后運行。
在cmd/cmd.go中,新增加了ensureCloudStub函數,用于匹配傳統ollama run some-model:cloud的行為。當用戶顯式指定云源模型時,系統會自動嘗試拉取對應的云 stub 文件。此步驟保證即便本地未緩存模型,也能正常啟動連接。
命令行的執行流程現在支持:
? 自動標準化模型名;
? 若云模型 stub 不存在則自動下載;
? 若下載失敗不會中斷生成,而是以“盡力而為”方式繼續任務。
測試文件cmd/cmd_test.go增加了多組驗證用例:
? 當顯式云模型 stub 缺失時,系統會拉取標準化命名;
? 若 stub 已存在,則跳過下載;
? 即使下載失敗,仍繼續調用
/api/generate保證生成任務不受影響。
此外,新增針對云模型繼承關系的測試場景:
在NewCreateRequest中,當啟動會話以:cloud結尾時,父模型若無 cloud 來源,則自動清理父模型標記,防止錯誤地創建本地衍生版本。
(二)Claude啟動模塊增強
cmd/launch/claude.go的modelEnvVars函數進行了重構:
? 現在返回的環境變量中包含
CLAUDE_CODE_AUTO_COMPACT_WINDOW,用于自動根據云模型上下文大小設置 Claude Code 的壓縮窗口。? 若模型為云模型,會通過查表機制獲得合適的上下文限制值并自動寫入環境變量。
對應測試cmd/launch/claude_test.go校驗:
? 本地模型不會生成該變量;
? 云模型能正確設定窗口值(例:
glm-5:cloud對應202752);? 未知云模型不會寫入壓縮窗口參數,保持空值。
該改動顯著提升了 Claude 在多模型之間切換時的記憶穩定性與上下文利用率。
(三)Launch命令與策略優化
在launch.go中,新增了對LaunchPolicy的升級:
1. 將默認策略函數改造為
defaultLaunchPolicy(interactive, yes bool);2. 當帶有
--yes標記時(包括非交互環境),自動將確認模式設為“自動批準”,缺失模型策略設為“自動拉取”。
而在無交互且未指定 yes 的場景,則強制要求明確輸入并在模型缺失時失敗退出。
同時,在無頭模式下,--yes啟動時增加安全檢查:
若用戶未顯式指定 --model 參數,則命令會直接報錯提示 —— “requires --model ”,確保自動化執行不會錯誤啟動。
另一個重要改進點是:
在無交互但帶有自動批準模式時,系統會自動選擇“上次使用的模型”進行運行。
這項優化避免了腳本化任務中因模型選擇項缺失導致的中斷。
測試launch_test.go對此功能給出充分驗證:
? 模擬無交互
--yes場景時,系統能自動選用上次運行模型;? 若模型不存在會自動拉取;
? 日志中輸出明確指示“Headless mode: auto-selected last used model”。
更新后的buildModelList和 TUI 選擇器邏輯增強了“本地與云模型的精確匹配”機制:
? 當存在本地與云端同名模型時,系統優先匹配完全相同的名稱;
? 若本地正好為“qwen3.5”,則不會誤選“qwen3.5:cloud”作為當前;
? 同時在 TUI 渲染中保證高亮顯示準確,提升人工交互選擇的直覺性。
在selector.go的cursorForCurrent函數中新增兩階段匹配邏輯:
1. 優先匹配完全相同的模型名;
2. 其次才考慮前后綴形式(例如
"qwen3.5:cloud"與"qwen3.5")。
與此同時,multiSelectorModel.toggleItem也進行了升級:
? 當取消默認選中模型時,會自動尋找最近的已選項作為新的默認項;
? 若上方無選項,則尋找到最近下方項;
? 保持列表穩定,防止失焦狀態。
這些修改使得多模型選擇流程更自然、更合理,尤其在編輯器集成與多模型協作場景下顯著提升使用體驗。
(五)中間件處理與錯誤容錯升級
在middleware/anthropic.go與middleware/openai.go中,對錯誤響應處理進行了安全回退改造:
? 當收到非標準 JSON 錯誤響應時,系統不再直接返回解析錯誤,而是將原始字節內容作為錯誤信息。
? 避免了反復出現在日志中的 JSON Unmarshal 錯誤提示。
同時,新增maxDecompressedBodySize限制(20MB),并在云代理層引入 zstd 解壓與體積控制。
在云代理 (server/cloud_proxy.go) 中:
? 增加 zstd 解碼器,當請求中包含
Content-Encoding: zstd時會自動解壓;? 完成解壓后移除該頭部,防止后續邏輯誤判;
? 對超大解壓體積請求返回
400 Bad Request,保護系統資源安全。
測試cloud_proxy_test.go中驗證了完整流程:
? 壓縮請求體能被正確解碼,middleware 成功檢測到
"model":"test-model:cloud";? 超大體積請求觸發安全響應。
該系列優化讓 ollama 在云代理鏈路中面對混合編碼響應時更加穩定與高效。
(六)OpenAI兼容接口文檔與推理控制更新
在docs/openai_compat.md和相關實現層中,v0.18.0對 OpenAI 兼容性接口進行了進一步完善,使得 ollama 的 OpenAI 格式推理 API(/v1/chat/completions與/v1/completions)與主流云模型的適配更加完整。
1. 新增參數:reasoning_effort
? 新參數可選值包括
"none","low","medium","high"。? 用于控制推理模型(如思維鏈推理、邏輯規劃類模型)的計算與思考強度。
? 低模式下優先快速返回結果,高模式下傾向進行更多內部推理步驟。
? 新增
thinking字段支持,當模型提供內部推理痕跡時可通過專有 schema 輸出。? 增加了兼容
X-Ollama-Thinking等 HTTP 頭的能力,以保障流式響應過程中推理過程的透明性。
在middleware/openai_test.go與api/openai_test.go中新增多組用例,確保:
? 當啟用
reasoning_effort=high時返回延時與token消耗可控;? JSON 響應完全符合 OpenAI SDK 解析標準;
? 測試覆蓋了 “system + user + tool_calls” 等復雜對話格式。
這一系列改進意味著從 v0.18.0 開始,ollama 的 OpenAI 接口可作為外部應用無縫接入的通用標準接口,不論使用哪種模型后端(本地或云端)都無需修改調用邏輯。
三、總結與升級建議
ollama v0.18.0是一次打通本地模型與云模型交互壁壘的關鍵版本。
從底層結構到開發者體驗,它實現了三大躍遷:
1.模型來源統一:同一個命令可同時使用本地模型與 cloud 模型,告別傳統 pull/push 流程。
2.生態兼容全面:OpenAI、Claude、Anthropic 多線兼容,同步增強上下文與推理控制。
3.開發體驗優化:交互界面、命令行無頭模式、中間件鏈路、壓縮與安全控制全面升級。
對于開發者的建議:
? 若你使用腳本自動部署或服務端生成任務,可開啟
--yes模式并顯式指定--model參數。? 若你是 Claude Code 用戶,請注意新的
CLAUDE_CODE_AUTO_COMPACT_WINDOW環境變量,可顯著改善上下文利用率。? 若接入 OpenAI SDK,可直接指向
http://localhost:11434/v1,獲得最佳兼容體驗。
代碼地址:github.com/ollama/ollama
ollama v0.18.0 通過云端智能接入與全棧優化,正在重塑「本地 + 云」混合大模型體驗。
無論你是熱衷本地推理的開發者,還是依賴多云 LLM 的企業團隊,這一版本都為你提供了更自由、更安全、更高效的模型運行方式。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.