![]()
![]()
![]()
一、版本概覽
2026年4月25日,ollama 發(fā)布了v0.21.2版本。
這次更新雖然版本號(hào)不大,但改動(dòng)非常集中,主要圍繞launch 啟動(dòng)體驗(yàn)、OpenClaw 集成、模型推薦順序固定、managed integration 配置漂移修復(fù)、文檔補(bǔ)充這幾條主線展開(kāi)。
從官方更新記錄來(lái)看,本次版本包含:
? 改進(jìn) OpenClaw onboarding 流程在
ollama launch中的可靠性?
ollama launch中的推薦模型按固定且規(guī)范的順序展示? OpenClaw 集成現(xiàn)在會(huì)捆綁 Ollama 的 web search 插件
? 結(jié)構(gòu)化輸出文檔補(bǔ)充了云端限制說(shuō)明
此外,從代碼變更和測(cè)試變化可以看出,這次更新并不是簡(jiǎn)單的文檔或表面修復(fù),而是對(duì)啟動(dòng)流程、推薦列表排序邏輯、managed integration 配置一致性、以及 OpenClaw 相關(guān)體驗(yàn)做了較大范圍的加固。
下面我們按照“發(fā)布內(nèi)容—代碼變化—測(cè)試驗(yàn)證—文檔變化”四個(gè)部分,完整拆解這次 v0.21.2 更新。
二、v0.21.2 官方更新要點(diǎn)
官方列出的 What's Changed 只有三條,但每一條背后都對(duì)應(yīng)了較實(shí)質(zhì)的行為變化:
1)提升了ollama launch中 OpenClaw onboarding 流程的可靠性
這是本次更新的重點(diǎn)之一。
所謂 onboarding 流程,就是用戶在通過(guò)ollama launch openclaw首次接入 OpenClaw 時(shí),Ollama 自動(dòng)幫你完成的一整套準(zhǔn)備動(dòng)作,例如:
? 如果 OpenClaw 沒(méi)安裝,則提示通過(guò) npm 安裝
? 展示安全提示,說(shuō)明工具訪問(wèn)的風(fēng)險(xiǎn)
? 讓用戶選擇模型
? 自動(dòng)配置 provider
? 安裝 gateway daemon
? 設(shè)置 primary model
? 啟用相關(guān) web search 能力
? 啟動(dòng)后臺(tái) gateway 并打開(kāi) OpenClaw TUI
這次更新的“可靠性提升”,從測(cè)試變化看,不只是單點(diǎn)修復(fù),而是包括:
? live config 漂移時(shí)能重新寫(xiě)回配置
? 運(yùn)行時(shí)刷新失敗時(shí)能及時(shí)停止
? 選擇器不會(huì)被錯(cuò)誤打亂
? 已選模型與推薦模型之間的排序不會(huì)互相干擾
也就是說(shuō),這次主要是把 launch 流程中的一些邊界問(wèn)題處理得更穩(wěn)。
2)ollama launch里的推薦模型按固定、規(guī)范順序展示
這條看似簡(jiǎn)單,實(shí)際影響很大。
之前推薦模型雖然也會(huì)顯示,但在一些交互場(chǎng)景中,排序可能會(huì)受到“已勾選模型”“本地/云端模型”“當(dāng)前默認(rèn)模型”等因素干擾,導(dǎo)致推薦區(qū)塊的順序不穩(wěn)定。
本次更新后,推薦模型展示被明確固定為 canonical order,也就是規(guī)范順序。
這意味著推薦列表會(huì)嚴(yán)格按推薦模型定義的順序展示,而不會(huì)因?yàn)橛脩暨x擇、安裝狀態(tài)、云端/本地混合情況而隨意變化。
從代碼和測(cè)試來(lái)看,這次排序規(guī)則的核心目標(biāo)可以概括為一句話:
推薦區(qū)塊固定不變,勾選和默認(rèn)優(yōu)先級(jí)只影響 More 區(qū)塊。
3)OpenClaw 集成現(xiàn)在會(huì)捆綁 Ollama 的 web search 插件
這是對(duì) OpenClaw 集成體驗(yàn)的重要變化。
以前文檔里描述的是 OpenClaw 會(huì)安裝 web search 和 fetch 插件;現(xiàn)在更新后,說(shuō)明調(diào)整為:
? OpenClaw 集成會(huì)啟用 OpenClaw 內(nèi)置的 Ollama
web_searchprovider? Web search 能力通過(guò) Ollama host 來(lái)提供
? 用戶通過(guò)
ollama launch openclaw時(shí)會(huì)自動(dòng)啟用
這說(shuō)明 OpenClaw 的搜索能力路徑發(fā)生了變化,重點(diǎn)從“安裝外部插件”變成了“捆綁使用 Ollama 的 web search”。
三、代碼層面的變化詳解
這次版本對(duì)應(yīng)的改動(dòng)一共涉及 8 個(gè)文件、5 個(gè) commits,增刪幅度不小。下面逐個(gè)拆開(kāi)看。
1)cmd/launch/integrations_test.go:推薦模型順序測(cè)試全面改造
這份測(cè)試文件里最明顯的變化,是增加了一個(gè)輔助函數(shù):
func recommendedNames(extra ...string) []string這個(gè)函數(shù)的作用很直接:
它會(huì)按照recommendedModels的固定順序,把推薦模型名字全部收集起來(lái),再拼接額外模型。
這說(shuō)明測(cè)試不再手寫(xiě)固定數(shù)組,而是通過(guò)推薦模型源數(shù)據(jù)生成預(yù)期值。
這樣做的好處是:只要推薦模型定義順序不變,測(cè)試就會(huì)穩(wěn)定;如果推薦列表變了,測(cè)試也會(huì)更準(zhǔn)確反映真實(shí)規(guī)則。
測(cè)試調(diào)整重點(diǎn)
原來(lái)很多測(cè)試?yán)镏苯訉?xiě)死了類(lèi)似這樣的預(yù)期:
?
kimi-k2.6:cloud?
qwen3.5:cloud?
glm-5.1:cloud?
minimax-m2.7:cloud?
gemma4?
qwen3.5
現(xiàn)在統(tǒng)一換成:
want := recommendedNames()或者:
want := recommendedNames("llama3.2", "qwen2.5")這種寫(xiě)法本質(zhì)上是在強(qiáng)調(diào):
推薦區(qū)塊的順序完全由 recommendedModels 決定,不要再在測(cè)試中人為寫(xiě)死另一個(gè)順序。
具體變化的測(cè)試場(chǎng)景
更新中覆蓋了多類(lèi)場(chǎng)景:
? 沒(méi)有已有模型時(shí),推薦項(xiàng)按固定順序展示
? 只有本地模型時(shí),云端推薦依舊排在前面
? 本地和云端模型混合時(shí),推薦項(xiàng)仍然固定在頂部
? 預(yù)勾選的非推薦模型在 More 區(qū)塊中出現(xiàn),但不應(yīng)破壞推薦順序
? 已勾選的推薦模型不會(huì)打亂推薦塊的順序
? 舊的、過(guò)時(shí)的 saved 配置也不應(yīng)讓推薦區(qū)重新洗牌
特別值得注意的是,原本某些測(cè)試名稱(chēng)和斷言邏輯也進(jìn)行了調(diào)整,比如:
?
TestBuildModelList_PreCheckedFirst?
TestBuildModelList_PreCheckedNonRecommendedFirstInMore?
TestBuildModelList_CheckedBeforeRecs?
TestBuildModelList_CheckedRecommendedDoesNotReshuffleRecommendedOrder?
TestBuildModelList_StaleSavedKimiK25DoesNotReshuffleRecommendedOrder
這些測(cè)試名稱(chēng)本身就說(shuō)明了本次排序邏輯的設(shè)計(jì)意圖:
checked、saved、current 這些狀態(tài)只能影響局部,不能破壞推薦區(qū)塊的固定順序。
2)cmd/launch/launch.go:managed single integration 的觸發(fā)條件更嚴(yán)謹(jǐn)
這里有一處很關(guān)鍵的小改動(dòng):
原邏輯大致是:
if (current == "" || needsConfigure || req.ModelOverride != "" || target != current) && !savedMatchesModels(saved, []string{target}) {更新后變成:
if needsConfigure || req.ModelOverride != "" || (current != "" && target != current) || !savedMatchesModels(saved, []string{target}) {雖然只是條件順序和邏輯表達(dá)方式的調(diào)整,但它反映出啟動(dòng)配置判斷變得更精細(xì)。
這次調(diào)整的核心含義
新的條件更明確地表達(dá):
? 如果需要配置,就重配
? 如果用戶顯式覆蓋了模型,就重配
? 如果當(dāng)前模型已存在且與目標(biāo)不同,就重配
? 如果 saved 配置和目標(biāo)模型不匹配,也重配
這與后面的測(cè)試變化是配套的。
它說(shuō)明 launch 過(guò)程中不再只看表面的 current,而是會(huì)更加關(guān)注“當(dāng)前運(yùn)行態(tài)、保存態(tài)、目標(biāo)態(tài)”之間是否一致。
3)cmd/launch/launch_test.go:新增 live config drift 場(chǎng)景測(cè)試
這次測(cè)試文件新增了一個(gè)非常重要的場(chǎng)景:
TestLaunchIntegration_ManagedSingleIntegrationRewritesWhenLiveConfigDrifts
這個(gè)測(cè)試模擬的是:
? 已保存的 managed integration 配置是
gemma4? 但當(dāng)前 live config 中實(shí)際運(yùn)行的模型是
qwen3:8b? 當(dāng)用戶 launch 這個(gè) integration 時(shí),系統(tǒng)應(yīng)該識(shí)別到漂移,并重新寫(xiě)入配置
? 同時(shí)運(yùn)行時(shí)刷新應(yīng)該執(zhí)行一次
? 最終啟動(dòng)的模型應(yīng)該是 live 配置對(duì)應(yīng)的
qwen3:8b? 重新加載 saved config 后,也應(yīng)該變成
qwen3:8b
這個(gè)測(cè)試說(shuō)明,v0.21.2 重點(diǎn)修復(fù)了一個(gè)很現(xiàn)實(shí)的問(wèn)題:
保存的配置和實(shí)際 live config 不一致時(shí),launch 現(xiàn)在會(huì)主動(dòng)糾偏。
這對(duì) managed integration 的穩(wěn)定性很重要。
因?yàn)槿绻豢幢镜乇4媾渲茫豢?live config,就容易出現(xiàn):
? 顯示一個(gè)模型
? 實(shí)際跑另一個(gè)模型
? 重啟后狀態(tài)不一致
? 用戶以為配置生效,實(shí)際上運(yùn)行目標(biāo)不是當(dāng)前真實(shí)目標(biāo)
這次測(cè)試正是為了保證這種 drift 場(chǎng)景可以被正確處理。
另一個(gè)重要測(cè)試
新增了:
?
TestLaunchIntegration_ManagedSingleIntegrationStopsWhenRuntimeRefreshFails
這說(shuō)明系統(tǒng)還考慮了 runtime refresh 失敗的邊界情況。
如果刷新失敗,則應(yīng)該停止后續(xù)流程,而不是繼續(xù)冒險(xiǎn)運(yùn)行。
這體現(xiàn)的是 launch 穩(wěn)定性加固:
能糾偏時(shí)糾偏,糾偏失敗時(shí)及時(shí)停止。
選擇器相關(guān)測(cè)試也做了調(diào)整
在編輯器強(qiáng)制配置相關(guān)測(cè)試中,原來(lái)更關(guān)注“某個(gè)模型是否排在第一位”,現(xiàn)在則更強(qiáng)調(diào)“推薦順序是否保持固定”。這也是這次更新的核心變化之一。
比如在TestLaunchIntegration_EditorForceConfigure_FloatsCheckedModelsInPicker里,原先的判斷更偏向于“被勾選的模型浮到頂部”;而現(xiàn)在,測(cè)試更強(qiáng)調(diào):
? 傳給選擇器的 items 必須保持固定推薦順序
? 被預(yù)勾選的模型可以被記錄下來(lái)
? 但推薦列表本身不能因?yàn)楣催x狀態(tài)而改變排序
這一點(diǎn)非常關(guān)鍵,因?yàn)樗f(shuō)明launch的交互邏輯被重新劃分了職責(zé):
?推薦區(qū)塊:固定順序,不能亂
?More 區(qū)塊:允許根據(jù)勾選、默認(rèn)模型、安裝狀態(tài)做調(diào)整
也就是說(shuō),本次更新解決的是“排序干擾問(wèn)題”,而不是單純把某個(gè)模型置頂。
4)cmd/launch/models.go:模型列表構(gòu)建邏輯重構(gòu),推薦區(qū)塊徹底固定
如果說(shuō)測(cè)試是為了驗(yàn)證規(guī)則,那么models.go就是規(guī)則真正落地的地方。
這次在buildModelList里的排序邏輯調(diào)整非常大,雖然你給出的片段只展示了一部分,但足以看出核心思路發(fā)生了變化。
舊邏輯的問(wèn)題
從修改痕跡可以看出,舊邏輯中對(duì)以下因素的處理是交織在一起的:
? 是否被勾選
checked? 是否是推薦模型
recRank? 是否是云端模型
cloudModels? 是否未安裝
notInstalled? 是否為當(dāng)前默認(rèn)模型
current
這樣一來(lái),在某些情況下,推薦模型和非推薦模型會(huì)因?yàn)檫@些條件交叉而產(chǎn)生排序波動(dòng)。
新邏輯的核心目標(biāo)
更新后的代碼明確表達(dá)了一個(gè)原則:
推薦模型區(qū)塊必須保持固定的順序,且 cloud recommended 還要優(yōu)先于 local recommended。
從測(cè)試和注釋中可以看出,排序被重新拆成了兩層:
1.推薦區(qū)塊
? 按
recommendedModels定義順序排列? 云端推薦在前,本地推薦在后
? 不受 checked、current 等狀態(tài)干擾
2.More 區(qū)塊
? 非推薦模型按勾選和默認(rèn)優(yōu)先級(jí)排序
? 當(dāng)前模型可以優(yōu)先
? 但不會(huì)反向影響推薦區(qū)塊
這正是本次版本中“canonical order”的真正含義:
推薦模型名單的順序是固定的,交互狀態(tài)不能把它打亂。
為什么這個(gè)變化重要
從用戶視角看,這種固定順序帶來(lái)的體驗(yàn)提升很明顯:
? 每次打開(kāi) launch 面板,推薦項(xiàng)位置都一致
? 不會(huì)因?yàn)橹斑x過(guò)某個(gè)模型,下一次推薦列表就重新排列
? 不會(huì)因?yàn)楸镜?云端模型混在一起,推薦塊就看起來(lái)“跳來(lái)跳去”
? 更容易形成穩(wěn)定認(rèn)知,減少選擇成本
從系統(tǒng)視角看,這種改動(dòng)也更利于測(cè)試和維護(hù):
排序規(guī)則變得明確,測(cè)試可預(yù)期性更強(qiáng),未來(lái)再改動(dòng)推薦列表也更容易驗(yàn)證。
5)cmd/launch/openclaw.gocmd/launch/openclaw_test.go:OpenClaw 集成加固
這兩個(gè)文件的變動(dòng)幅度很大,說(shuō)明 OpenClaw 是本次版本的重點(diǎn)集成對(duì)象之一。雖然大部分 diff 沒(méi)有完整展開(kāi),但從提交信息和測(cè)試變化可以確認(rèn),主要涉及以下幾類(lèi)內(nèi)容:
? 改進(jìn) OpenClaw onboarding 流程
? 綁定 Ollama 的 web search 能力
? 處理 live config drift
? 驗(yàn)證啟動(dòng)過(guò)程中的各種邊界條件
? 強(qiáng)化與選擇器、配置保存、運(yùn)行時(shí)刷新相關(guān)的邏輯
結(jié)合文檔變化,可以把這次 OpenClaw 相關(guān)更新總結(jié)為:
1. 組件安裝邏輯更可靠
OpenClaw 的首次啟動(dòng)不再只是簡(jiǎn)單提示安裝,而是更完整地處理整個(gè)配置鏈路。
2. 搜索能力改為捆綁式啟用
不再?gòu)?qiáng)調(diào)外部插件安裝流程,而是改為啟用 Ollama 內(nèi)置web_searchprovider。
3. Onboarding 流程更穩(wěn)
選擇模型、配置 provider、安裝 gateway、設(shè)置 primary model、啟用搜索能力、啟動(dòng) gateway 這些步驟之間的銜接更可靠。
4. 異常狀態(tài)可被識(shí)別和修正
比如 live config 漂移時(shí)能重寫(xiě)配置,runtime refresh 失敗時(shí)能停止流程。
四、文檔更新內(nèi)容
除了代碼和測(cè)試,這次版本還更新了兩份文檔,分別是:
?
docs/capabilities/structured-outputs.mdx?
docs/integrations/openclaw.mdx
在docs/capabilities/structured-outputs.mdx頂部新增了一個(gè) Note:
Ollama's Cloud currently does not support structured outputs.
這條說(shuō)明非常直接,意思是:
Ollama Cloud 當(dāng)前不支持結(jié)構(gòu)化輸出。
這次補(bǔ)充的價(jià)值在于,它把原本可能讓用戶困惑的能力邊界說(shuō)清楚了。
因?yàn)榻Y(jié)構(gòu)化輸出本身是很實(shí)用的能力,用戶自然會(huì)期待它在所有環(huán)境都可用,但現(xiàn)在文檔明確告訴你:云端暫不支持。
這類(lèi)說(shuō)明雖然簡(jiǎn)短,但很重要,能夠減少誤解和試錯(cuò)成本。
2)OpenClaw 文檔更新:web search 的描述改了
docs/integrations/openclaw.mdx中有兩處明顯變化。
第一個(gè)變化:Onboarding 第四步描述更新
原先寫(xiě)的是:
? 安裝 web search 和 fetch 插件
現(xiàn)在改成:
? 啟用 OpenClaw bundled 的 Ollama web search
這表明文檔已經(jīng)從“外部插件安裝”切換到了“內(nèi)置捆綁能力啟用”。
第二個(gè)變化:Web search and fetch 章節(jié)整體重寫(xiě)
原來(lái)的描述是:
? OpenClaw ships with a web search and fetch plugin
? 通過(guò)
openclaw plugins install @ollama/openclaw-web-search? 再
openclaw configure --section web
而更新后改為:
? OpenClaw ships with a bundled Ollama
web_searchprovider? 通過(guò) Ollama host 提供 web search 能力
?
ollama launch openclaw時(shí)自動(dòng)啟用? 如果要手動(dòng)配置,則使用:
openclaw plugins install @ollama/openclaw-web-search
openclaw configure --section web
同時(shí)原文中的提示:
? “Web search for local models requires
ollama signin.”
也被更新為:
? “Ollama web search for local models requires
ollama signin.”
這說(shuō)明文檔已經(jīng)統(tǒng)一成“圍繞 Ollama web search provider”的表述方式。
五、本次版本的整體意義
從這次 v0.21.2 的變化可以看出,Ollama 并沒(méi)有去做大而空的功能擴(kuò)展,而是在幾個(gè)很關(guān)鍵的用戶路徑上做了精細(xì)打磨:
1)啟動(dòng)體驗(yàn)更穩(wěn)定
ollama launch尤其是 OpenClaw 相關(guān)啟動(dòng)流程,明顯更可靠了。
模型選擇、配置寫(xiě)入、運(yùn)行時(shí)刷新、啟動(dòng)執(zhí)行這幾個(gè)環(huán)節(jié)都更穩(wěn)。
2)推薦列表更可預(yù)期
推薦模型固定順序展示,解決了“看起來(lái)會(huì)亂跳”的問(wèn)題。
這對(duì)交互體驗(yàn)和測(cè)試穩(wěn)定性都非常有價(jià)值。
3)配置漂移問(wèn)題被補(bǔ)上
managed integration 在 live config 和 saved config 不一致時(shí),現(xiàn)在會(huì)重新寫(xiě)回并糾正,避免狀態(tài)漂移。
4)OpenClaw 集成更一致
搜索能力從“外部插件描述”轉(zhuǎn)向“bundled web search provider”描述,OpenClaw onboarding 也因此更統(tǒng)一。
5)文檔邊界更清晰
結(jié)構(gòu)化輸出在云端不可用這一點(diǎn)被明確寫(xiě)進(jìn)文檔,減少用戶誤判。
六、總結(jié)
代碼地址:github.com/ollama/ollama
整體來(lái)看,ollama v0.21.2雖然表面上只是一個(gè)小版本更新,但實(shí)際內(nèi)容非常扎實(shí),核心關(guān)鍵詞可以概括為:
?更穩(wěn)
?更準(zhǔn)
?更固定
?更一致
具體來(lái)說(shuō):
? OpenClaw 的 onboarding 流程被加固
?
ollama launch的推薦模型順序固定為 canonical order? OpenClaw 集成啟用 Ollama bundled web search
? managed single integration 對(duì) live config drift 的處理更嚴(yán)謹(jǐn)
? 文檔補(bǔ)充了結(jié)構(gòu)化輸出在 Cloud 下不支持的說(shuō)明
? OpenClaw 文檔同步更新了 web search 的實(shí)現(xiàn)與手動(dòng)配置方式
如果你最近正在使用ollama launch、OpenClaw 集成,或者關(guān)注模型推薦順序與配置一致性,這次 v0.21.2 是值得升級(jí)和仔細(xì)了解的一版。
我們相信人工智能為普通人提供了一種“增強(qiáng)工具”,并致力于分享全方位的AI知識(shí)。在這里,您可以找到最新的AI科普文章、工具評(píng)測(cè)、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來(lái)發(fā)展。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.