Hutool被賣半年多了,現(xiàn)狀逆襲還是沉寂?
是的,沒錯。那個被人熟知的國產(chǎn)開源框架 Hutool 距離被賣已經(jīng)過去近 7 個月了。
那 Hutool 現(xiàn)在的發(fā)展如何呢?它未來有哪些更新計劃呢?Hutool AI 又該如何使用呢?如果不想用 Hutool 有沒有可替代的框架呢?
近半年現(xiàn)狀
從 Hutool 官網(wǎng)可以看出,其被賣近 7 個月內(nèi)僅發(fā)布了 4 個版本更新,除了少量的新功能外,大多是 Bug 修復(fù),當期在此期間發(fā)布了 Hutool AI 模塊,算是一個里程碑式的更新:

“
更新日志:https://hutool.cn/docs/#/CHANGELOG
收購公司
沒錯,收購 Hutool 的這家公司和收購 AList 的公司是同一家公司(不夠科技),該公司前段時間因為其在收購 AList 代碼中悄悄收集用戶設(shè)備信息,而被推向過風(fēng)口浪尖,業(yè)內(nèi)人士認為其收購開源框架就是為了“投毒”,所以為此讓收購框架損失了很多忠實的用戶。
“
其實,放眼望去那些 APP 公司收集用戶設(shè)備和用戶信息屬于家常便飯了(國內(nèi)隱私侵犯問題比較嚴重),但 AList 因為其未做文檔聲明,且未將收集設(shè)備信息的代碼提交到公共倉庫,所以大家發(fā)現(xiàn)之后才會比較氣憤。
Hutool-AI模塊使用
Hutool AI 模塊的發(fā)布算是被收購之后發(fā)布的最值得讓人欣喜的事了,使用它可以對接各大 AI 模型的工具模塊,提供了統(tǒng)一的 API 接口來訪問不同的 AI 服務(wù)。
目前支持 DeepSeek、OpenAI、Grok 和豆包等主流 AI 大模型。
該模塊的主要特點包括:
- 統(tǒng)一的 API 設(shè)計,簡化不同 AI 服務(wù)的調(diào)用方式。
- 支持多種主流 AI 模型服務(wù)。
- 靈活的配置方式。
- 開箱即用的工具方法。
- 一行代碼調(diào)用。
具體使用如下。
1.添加依賴
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-ai</artifactId>
<version>5.8.38</version>
</dependency>2.調(diào)用API
實現(xiàn)對話功能:
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your bots id").build(), DoubaoService.class);
ArrayList<Message> messages = new ArrayList<>();
messages.add(new Message("system","你是什么都可以"));
messages.add(new Message("user","你想做些什么"));
String botsChat = doubaoService.botsChat(messages);識別圖片:
//可以使用base64圖片
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);
String base64 = ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");
String chatVision = doubaoService.chatVision("圖片上有些什么?", Arrays.asList(base64));
//也可以使用網(wǎng)絡(luò)圖片
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);
String chatVision = doubaoService.chatVision("圖片上有些什么?", Arrays.asList("https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544"),DoubaoCommon.DoubaoVision.HIGH.getDetail());生成視頻:
//創(chuàng)建視頻任務(wù)
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);
String videoTasks = doubaoService.videoTasks("生成一段動畫視頻,主角是大耳朵圖圖,一個活潑可愛的小男孩。視頻中圖圖在公園里玩耍," +
"畫面采用明亮溫暖的卡通風(fēng)格,色彩鮮艷,動作流暢。背景音樂輕快活潑,帶有冒險感,音效包括鳥叫聲、歡笑聲和山洞回聲。", "https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
//查詢視頻生成任務(wù)信息
String videoTasksInfo = doubaoService.getVideoTasksInfo("任務(wù)id");未來發(fā)展
- Hutool5:目前 Hutool 5.x 版本主要是基于 JDK 8 實現(xiàn)的,后面更新主要以 BUG 修復(fù)為準。
- Hutool6:主要以功能嘗鮮為主。
- Hutool7:升級為 JDK 17,添加一些新功能,刪除一些不用的類。
目前只發(fā)布了 Hutool 5.x,按照目前的更新進度來看,不知何時才能盼來 Hutool7 的發(fā)布。
同類替代框架
如果擔心 Hutool 有安全性問題,或更新不及時的問題可以嘗試使用同類開源工具類:
- Apache Commons:https://commons.apache.org/
- Google Guava:https://github.com/google/guava
小結(jié)
雖然我們不知道 Hutool 被收購意味著什么?是會變的越來越好?還是會就此隕落?我們都不知道答案,所以只能把這個問題交給時間。但從個人情感的角度出發(fā),我希望國產(chǎn)開源框架越做越好。好了,我是磊哥,咱們下期見。





















