多個(gè)大模型API的煩惱
不知道大家在平時(shí)用AI大模型API的時(shí)候,有沒(méi)有遇到和我一樣的煩惱。為了權(quán)衡模型效果和省錢(qián),買(mǎi)了很多不同類(lèi)型的模型API搭配使用,但是:
1、有些大模型供應(yīng)商沒(méi)有清晰的文檔,不確定配置的對(duì)不對(duì)。特別是普通用戶,不太接觸Agent開(kāi)發(fā),很容易遇到這樣的困擾。
2、買(mǎi)的大模型很多,配置各不相同,記不住,經(jīng)常要去他們的官方網(wǎng)站找信息。
3、有些供應(yīng)商是做轉(zhuǎn)發(fā)的,或者要走代理,因?yàn)榉馓?hào)、網(wǎng)絡(luò)等原因,穩(wěn)定性不好,可能時(shí)不時(shí)就用不了。需要經(jīng)常檢查模型是不是可用的。
4、有些AI軟件不穩(wěn)定,特別是OpenClaw,配置還比較復(fù)雜。經(jīng)常配置上了沒(méi)效果,也不確定是模型的問(wèn)題還是OpenClaw的問(wèn)題。
5、同一個(gè)模型可能要用在很多不同的軟件中,都需要分別配置。
6、有些軟件只支持配置一個(gè)模型,還得經(jīng)常切換。CC Switch可以解決這個(gè)問(wèn)題,但是它只能針對(duì)某幾個(gè)常見(jiàn)軟件,沒(méi)辦法自己擴(kuò)展更多軟件。
我做的這個(gè)開(kāi)源小工具 LLM Model Manager 就是想要解決這種問(wèn)題,它的功能就是輔助用戶把買(mǎi)的所有大模型全都添加進(jìn)去,可以一鍵檢查所有模型的可用性,也可以一鍵導(dǎo)入到常用的AI工具中。
目標(biāo)就是:開(kāi)源免費(fèi)(邏輯透明,功能好擴(kuò)展),功能簡(jiǎn)單(相對(duì)穩(wěn)定),細(xì)節(jié)完善(增加提示信息,降低上手門(mén)檻)。
這個(gè)項(xiàng)目是基于Electron實(shí)現(xiàn)的,所以原生就是跨平臺(tái)的,支持Mac、Linux、Windows,不過(guò)在Windows上,由于不能運(yùn)行通用的腳本,導(dǎo)出功能是受限的。為了方便使用,里面內(nèi)置了很多現(xiàn)成的大模型的信息,方便一鍵填入,并且會(huì)有一些提示信息,告訴你應(yīng)該怎么填參數(shù)。
主界面(列表頁(yè))
這個(gè)應(yīng)用的主界面就是一個(gè)供應(yīng)商 - 模型的列表頁(yè)。列表分為兩級(jí),第一級(jí)是供應(yīng)商,也就是Provider。Provider里面有模型,也就是Model。
供應(yīng)商和模型右邊都有編輯、刪除、復(fù)制之類(lèi)按鈕,還有一個(gè)拖拽按鈕,可以調(diào)整上下位置。
每個(gè)供應(yīng)商右邊有添加模型的按鈕,可以添加子模型。加載模型列表的按鈕,獲取供應(yīng)商的所有可用模型,可以批量添加。
每個(gè)模型右邊有測(cè)試按鈕,點(diǎn)擊測(cè)試按鈕可以測(cè)試這個(gè)模型當(dāng)前是否可用。
也可以批量選擇多個(gè)模型,點(diǎn)擊右上角的測(cè)試選中模型,就會(huì)同時(shí)測(cè)試這些模型是否正常。還可以點(diǎn)擊導(dǎo)出選中模型,導(dǎo)出到常用AI APP。

添加供應(yīng)商
在主界面左下角點(diǎn)擊添加供應(yīng)商,每個(gè)供應(yīng)商對(duì)應(yīng)一個(gè)API key。如果同一個(gè)供應(yīng)商設(shè)置了多個(gè)API key,對(duì)應(yīng)不同的配置,那就多創(chuàng)建幾個(gè)。
供應(yīng)商ID,這里面有很多預(yù)設(shè)值的候選下拉選項(xiàng),都是一些目前比較知名的供應(yīng)商。為了減少輸入工作量,也是為了引導(dǎo)用戶輸入正確的值。
也可以輸入自己的ID,格式就按照界面里面的提示,小寫(xiě)加連字符就好了。這個(gè)ID只是在同一個(gè)軟件里面區(qū)分不同的供應(yīng)商,它并不是固定值。即使你是OpenAI官方供應(yīng)商,也可以隨便寫(xiě)ID(取決于每個(gè)AI軟件怎么處理)。
接口類(lèi)型里面,目前支持OpenAI和Anthropic兩種類(lèi)型,后續(xù)可以擴(kuò)展。反正代碼都是開(kāi)源的,又有AI輔助,很好改。
如果選OpenAI接口,一般會(huì)把地址里的 /v1 放在BaseURL里,然后Endpoint是/chat/completions。如果是Anthropic接口,則Base URL不帶版本,Endpoint一般是v1/messages。同樣,Base URL和Endpoint里面也有很多預(yù)定義下拉候選項(xiàng)。這個(gè)是很多新手怎么配置都不對(duì)的原因,我在配置OpenClaw的時(shí)候。也被坑到了。

在這里順便分享一下我目前用的幾個(gè)供應(yīng)商產(chǎn)品。說(shuō)明:我沒(méi)有收廣告費(fèi),只是我覺(jué)得用起來(lái)確實(shí)還行。
一個(gè)是性價(jià)比API,https://xingjiabiapi.org
朋友推薦的,做國(guó)外大模型中轉(zhuǎn)服務(wù)的。有點(diǎn)像代理,調(diào)用的時(shí)候不用梯子,并且價(jià)格比官方還便宜(批量采購(gòu)有優(yōu)惠)。我們只管使用,怎么注冊(cè)、怎么避免封號(hào)的問(wèn)題都交給專(zhuān)業(yè)的人去解決了。提供國(guó)外多種大模型的中轉(zhuǎn),穩(wěn)定性相對(duì)還行,但是也會(huì)因?yàn)樯嫌畏馓?hào)等原因?qū)е虏豢捎谩?/p>
另一個(gè)是ByteClaude,https://claude.bestswifter.com
這個(gè)是我好友列表里的字節(jié)大佬做的,也是做中轉(zhuǎn)服務(wù)的。因?yàn)槭莻€(gè)人項(xiàng)目規(guī)模有限,穩(wěn)定性相對(duì)差一點(diǎn),能選的模型主要就是目前最好用的Claude Opus 4.6,但是勝在價(jià)格更劃算,有問(wèn)題在群里也可以得到更及時(shí)的回復(fù)。并且大佬做了一個(gè)自研的緩存,可以有效降低Token消耗。
當(dāng)然還有一些常規(guī)知名的,比如,火山方舟CodingPlan、Minimax、Cursor這種,要么是國(guó)產(chǎn)模型,要么是對(duì)國(guó)內(nèi)用戶比較友好的國(guó)外產(chǎn)品,比如Cursor甚至官網(wǎng)就可以用支付寶支付,這和某些極度反華、經(jīng)常封號(hào)的公司形成了強(qiáng)烈反差。

批量添加模型
填好供應(yīng)商以后,點(diǎn)擊右邊的加載模型列表按鈕,就會(huì)嘗試調(diào)用它的接口,加載供應(yīng)商支持的全部模型列表。
通常必須是填了API key才能調(diào)用這個(gè)接口。如果模型列表能加載出來(lái),說(shuō)明你的供應(yīng)商肯定沒(méi)問(wèn)題。如果模型列表加載失敗了,也不一定就有問(wèn)題,可能有些供應(yīng)商不支持這個(gè)接口。

添加單個(gè)模型
添加模型的另一種方式就是點(diǎn)擊供應(yīng)商右邊的添加模型按鈕,單獨(dú)添加一個(gè)模型。
在這個(gè)界面同樣有下拉框可以選擇預(yù)設(shè)值。注意,和Provider ID不一樣,這里的模型ID不可以亂填,這個(gè)ID格式取決于供應(yīng)商,它會(huì)作為一個(gè)參數(shù),在調(diào)用模型的時(shí)候發(fā)送出去。
模型能力與參數(shù)是可選的,這個(gè)目前主要是給OpenClaw使用的,不填也能用。如果你知道這個(gè)模型的這幾項(xiàng)參數(shù),填上去會(huì)更好。我是想通過(guò)調(diào)用接口自動(dòng)獲取這幾個(gè)參數(shù)的,但是目前測(cè)試的提供商接口,返回值里面都沒(méi)有這幾個(gè)參數(shù)信息。
- Context Window,上下文窗口大小,對(duì)于上下文窗口很大的模型比較有用,不填OpenClaw就會(huì)用一個(gè)默認(rèn)值。
- Max Tokens,最大的token數(shù)量。
- Reasoning,是否開(kāi)啟推理。
- 輸入類(lèi)型是文字text、圖片image這種類(lèi)型。如果模型支持圖片輸入,但是你只填了text,可能OpenClaw就不會(huì)把圖片發(fā)給大模型。

模型測(cè)試
點(diǎn)擊一個(gè)模型的測(cè)試按鈕,或者選中多個(gè)模型,點(diǎn)擊右上角的測(cè)試選中模型,就會(huì)對(duì)這些模型做測(cè)試。
實(shí)際原理就是調(diào)用這個(gè)模型發(fā)送一個(gè)Hello消息,看它會(huì)不會(huì)回應(yīng)。
圖中我有一個(gè)模型就測(cè)試成功了,而另一個(gè)OpenAI的模型沒(méi)有測(cè)試成功,因?yàn)檫@只是一個(gè)空的Provider用于演示,我根本都沒(méi)有填A(yù)PI key,所以O(shè)penAI接口也明確給我返回了報(bào)錯(cuò)信息,說(shuō)我沒(méi)有API Key。

模型導(dǎo)出
在主界面選擇某幾個(gè)模型,然后點(diǎn)右上角的導(dǎo)出按鈕,就可以導(dǎo)出到常用APP。目前的導(dǎo)出方式主要有幾種:
- 文檔形式的,會(huì)生成一個(gè)文檔告訴你要怎么配置,文檔中的代碼也是自動(dòng)從模型參數(shù)生成的。
- DeepLink形式的,有很多APP包括CC Switch、Cherry Studio等,都可以通過(guò)DeepLink直接調(diào)起,把參數(shù)導(dǎo)進(jìn)去,并且這種方式是全平臺(tái)兼容的。
- 命令行形式的,如果是給本機(jī)配置,你可以直接點(diǎn)按鈕就可以調(diào)起Terminal運(yùn)行。這個(gè)目前只支持Linux和Mac,Windows不行,暫時(shí)也沒(méi)有精力開(kāi)發(fā)。如果有需求可以提出來(lái)。
- 環(huán)境變量形式的,比如Claude Code,Codex就可以直接設(shè)置環(huán)境變量。這個(gè)軟件里面會(huì)維護(hù)一個(gè)專(zhuān)門(mén)的環(huán)境變量文件
~/.llm_model_mgr_env,當(dāng)你要導(dǎo)出的時(shí)候,也是點(diǎn)擊一下按鈕運(yùn)行,就會(huì)自動(dòng)寫(xiě)這個(gè)環(huán)境變量到專(zhuān)門(mén)的環(huán)境變量文件,處理Bashrc的引用。
具體舉例,如果你想把這幾個(gè)模型配置給OpenClaw使用,我推薦你用這個(gè)手動(dòng)的方式,也是我自己平時(shí)用的方式,這個(gè)文檔是根據(jù)你填的參數(shù)生成的,直接復(fù)制、粘貼就好了。
當(dāng)然也有用命令行配置OpenClaw的方式,不是很推薦,因?yàn)镺penClaw一直在升級(jí),可能他們會(huì)改命令行參數(shù)。而且你在這個(gè)APP里設(shè)置的Provider ID有可能會(huì)和OpenClaw里已有的Provider有出入或者沖突,這都需要你人工檢查一下。

如果要導(dǎo)出到Chery Studio,就是直接用這個(gè)DeepLink調(diào)起應(yīng)用,Chery Studio就會(huì)彈窗讓你確認(rèn)信息,點(diǎn)確認(rèn)就能添加好了。

其他功能
另外,這個(gè)APP還可以把你設(shè)置的所有模型參數(shù)導(dǎo)出到JSON和從JSON導(dǎo)入,點(diǎn)擊主界面右下角的按鈕即可,導(dǎo)入的時(shí)候也會(huì)檢查沖突,讓你選擇合并還是覆蓋。
除了調(diào)用模型接口要用API,這個(gè)APP其他功能都是完全本地運(yùn)行的。你的API Key是保存在Electron默認(rèn)的配置目錄里,不會(huì)上傳到任何第三方服務(wù)器,確保安全。
還需繼續(xù)完善
我不確定這個(gè)項(xiàng)目是否是大家想要的,目前也只是做了一個(gè)粗略的版本,有些功能也沒(méi)有做完整的測(cè)試,但是至少能解決我自己的需要。如果確實(shí)有很多人想要用這個(gè)東西,雖然它的功能不完善,但是已經(jīng)起了個(gè)頭,可以繼續(xù)開(kāi)發(fā)。
例如現(xiàn)在就有個(gè)已知的問(wèn)題:模型的供應(yīng)商很多,每個(gè)供應(yīng)商的模型也很多,供應(yīng)商和模型都有很多細(xì)節(jié)參數(shù),目前我沒(méi)有找到什么靠譜渠道可以批量獲取這種信息的。
理論上至少每個(gè)供應(yīng)商自己的官網(wǎng)應(yīng)該提供,實(shí)際上可能是AI發(fā)展太快了,很多供應(yīng)商自己的文檔都不完善。我暫時(shí)是從Open Router還有OpenClaw里面提取到了一些信息,也有些是讓AI幫我整理的。這里面難免有各種錯(cuò)誤和缺失,需要完善。如果誰(shuí)對(duì)這方面比較了解,也可以給我一些參考。
另外這個(gè)預(yù)設(shè)配置是幾個(gè)JSON寫(xiě)死在代碼里的,后續(xù)可以考慮增加啟動(dòng)后從GitHub拉取最新版本的功能。
我讓AI幫我調(diào)研類(lèi)似產(chǎn)品,發(fā)現(xiàn)現(xiàn)在已經(jīng)有一些模型聚合的工具,例如LiteLLM。它們也是解決各種模型格式配置不兼容的問(wèn)題,這也證實(shí)了我上面說(shuō)的問(wèn)題,現(xiàn)在的各種模型配置方式似乎挺混亂的。不過(guò)它們一般都是運(yùn)行一個(gè)后臺(tái)進(jìn)程,把這些模型翻譯成統(tǒng)一格式,還會(huì)提供自動(dòng)選擇模型、計(jì)費(fèi)統(tǒng)計(jì)之類(lèi)的功能,主要針對(duì)企業(yè)用戶做開(kāi)發(fā)時(shí)使用。
而我這個(gè)工具更輕量化一點(diǎn),直接幫你把這些模型配置給需要的APP,主要針對(duì)個(gè)人用戶日常使用,實(shí)際上也就是從解決我自己的需求來(lái)出發(fā)的。
如果你有什么問(wèn)題,可以給我提Issue或者PR,直接在公眾號(hào)里評(píng)論也行,比如你常用的AI APP都有哪些?我看能不能添加到導(dǎo)出功能里。還有比如你的大模型用的是什么供應(yīng)商,看能不能給它加到預(yù)設(shè)里。
開(kāi)發(fā)成本
這個(gè)軟件全程花了一天多的時(shí)間?;ǖ袅瞬畈欢?億+的Token,Cursor 20刀一個(gè)月的套餐額度用掉了50+%,這么算下來(lái)就是接近100塊錢(qián)的Token成本了。
全程都用的Auto模式,基本上也就是Cursor自帶的Composer 2模型。Composer 2速度非???,這一點(diǎn)體驗(yàn)很不錯(cuò)。雖然據(jù)說(shuō)它背后調(diào)的主要是國(guó)產(chǎn)大模型,但是我實(shí)際使用感覺(jué)它的智商也比較在線,可能是Cursor從Agent層面做了優(yōu)化。
覺(jué)得這個(gè)Token消耗比我預(yù)想的要多了不少。原因是我使用AI全程開(kāi)發(fā)一個(gè)工具的經(jīng)驗(yàn)還不夠。而且這個(gè)項(xiàng)目一開(kāi)始我沒(méi)有完全想清楚它要做成什么樣,也沒(méi)打算好好做,但是后來(lái)覺(jué)得這個(gè)東西還是可以稍微多打磨一下細(xì)節(jié)的。
所以中間花了很多時(shí)間改設(shè)計(jì),重構(gòu)代碼。甚至連技術(shù)架構(gòu)都沒(méi)提前設(shè)計(jì)好,從最原始的Electron + JS,改成了Electron-vite + TS,這個(gè)也是讓AI幫我完成的,效率很高,但是真的很費(fèi)Token。


就說(shuō)這么多吧,希望對(duì)和我有同樣困擾的人有所幫助,有需要的話,可以去安裝我這個(gè)小工具實(shí)時(shí)。
GitHub地址在這里,直接按照文檔里的鏈接,點(diǎn)到Release頁(yè)面,下載最新版本就可以了。
https://github.com/jzj1993/llm-model-manager
原創(chuàng)不易,如果覺(jué)得文章有幫助,歡迎分享轉(zhuǎn)發(fā)。