Hutool被卖半年多了,现状是逆袭还是沉寂?

是的,没错。那个被人熟知的国产开源框架 Hutool 距离被卖已经过去近 7 个月了。

那 Hutool 现在的发展如何呢?它未来有哪些更新计划呢?Hutool AI 又该如何使用呢?如果不想用 Hutool 有没有可替代的框架呢?

近半年现状

从 Hutool 官网可以看出, 其被卖近 7 个月内仅发布了 4 个版本更新,除了少量的新功能外,大多是 Bug 修复, 当期在此期间发布了 Hutool AI 模块,算是一个里程碑式的更新

更新日志:hutool.cn/docs/#/CHAN…

收购公司

没错,收购 Hutool 的这家公司和收购 AList 的公司是同一家公司(不够科技), 该公司前段时间因为其在收购 AList 代码中悄悄收集用户设备信息,而被推向过风口浪尖, 业内人士认为其收购开源框架就是为了“投毒”,所以为此让收购框架损失了很多忠实的用户。

<"bid.fajia2.cn"><"big.fajia2.cn"><"bin.fajia2.cn"><"bit.fajia2.cn">

<"bob.fajia2.cn"><"bog.fajia2.cn"><"bow.fajia2.cn"><"box.fajia2.cn">

其实,放眼望去那些 APP 公司收集用户设备和用户信息属于家常便饭了(国内隐私侵犯问题比较严重),但 AList 因为其未做文档声明,且未将收集设备信息的代码提交到公共仓库,所以大家发现之后才会比较气愤。

Hutool-AI模块使用

Hutool AI 模块的发布算是被收购之后发布的最值得让人欣喜的事了,使用它可以对接各大 AI 模型的工具模块,提供了统一的 API 接口来访问不同的 AI 服务。

目前支持 DeepSeek、OpenAI、Grok 和豆包等主流 AI 大模型。

该模块的主要特点包括:

  • 统一的 API 设计,简化不同 AI 服务的调用方式。
  • 支持多种主流 AI 模型服务。
  • 灵活的配置方式。
  • 开箱即用的工具方法。
  • 一行代码调用。

具体使用如下。

<"boy.fajia2.cn"><"bud.fajia2.cn"><"bug.fajia2.cn"><"bun.fajia2.cn">

<"bus.fajia2.cn"><"but.fajia2.cn"><"buy.fajia2.cn"><"cab.fajia2.cn">

1.添加依赖


<
dependency>
    
<
groupId>cn.hutool
groupId>
    
<
artifactId>hutool-ai
artifactId>
    
<
version>5.8.38
version>

dependency>

2.调用API

实现对话功能:


DoubaoService 
doubaoService 
= AIServiceFactory.getAIService(
new 
AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(
"your bots id").build(), DoubaoService.class);
ArrayList 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));


//也可以使用网络图片

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());

生成视频:


//创建视频任务

DoubaoService 
doubaoService 
= AIServiceFactory.getAIService(
new 
AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(
"your Endpoint ID").build(), DoubaoService.class);

String 
videoTasks 
= doubaoService.videoTasks(
"生成一段动画视频,主角是大耳朵图图,一个活泼可爱的小男孩。视频中图图在公园里玩耍," +
		
"画面采用明亮温暖的卡通风格,色彩鲜艳,动作流畅。背景音乐轻快活泼,带有冒险感,音效包括鸟叫声、欢笑声和山洞回声。", 
"https://img2.baidu.com/it/u=862000265,4064861820&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1544");
		

//查询视频生成任务信息

String 
videoTasksInfo 
= doubaoService.getVideoTasksInfo(
"任务id");

未来发展

  • Hutool5:目前 Hutool 5.x 版本主要是基于 JDK 8 实现的,后面更新主要以 BUG 修复为准。
  • Hutool6:主要以功能尝鲜为主。
  • Hutool7:升级为 JDK 17,添加一些新功能,删除一些不用的类。

目前只发布了 Hutool 5.x,按照目前的更新进度来看,不知何时才能盼来 Hutool7 的发布。

同类替代框架

如果担心 Hutool 有安全性问题,或更新不及时的问题可以尝试使用同类开源工具类:

<"can.fajia2.cn"><"cap.fajia2.cn"><"car.fajia2.cn"><"cat.fajia2.cn">

<"cow.fajia2.cn"><"cry.fajia2.cn"><"cub.fajia2.cn"><"cup.fajia2.cn">

  • Apache Commons:commons.apache.org/
  • Google Guava:github.com/google/guav…

视频解析

www.bilibili.com/video/BV1QR…

小结

虽然我们不知道 Hutool 被收购意味着什么?是会变的越来越好?还是会就此陨落?我们都不知道答案,所以只能把这个问题交给时间。但从个人情感的角度出发,我希望国产开源框架越做越好。好了,我是磊哥,咱们下期见。

本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:场景题、SpringAI、SpringAIAlibaba、并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列、Dify、Coze、AI常见面试题等。

<"cut.fajia2.cn"><"dad.fajia2.cn"><"dam.fajia2.cn"><"day.fajia2.cn">

<"den.fajia2.cn"><"dew.fajia2.cn"><"die.fajia2.cn"><"dig.fajia2.cn">

<"dim.fajia2.cn"><"dip.fajia2.cn"><"dog.fajia2.cn">

请使用浏览器的分享功能分享到微信等