【Hook机制全面升级,官网AI焕新设计】 我们激动地宣布 Feat v1.5.2 版本正式发布!本次更新聚焦于 AI Agent 执行钩子的能力扩展,以及官网首页的 AI 驱动重新设计。
程序员转型OPC:Feat是你的最佳技术栈
OPC(One Person Company,一人公司) 正在成为越来越多程序员追求的理想形态——一个人就是一家公司,全栈掌控自己的数字事业。
但 OPC 的技术选型面临独特挑战:资源有限、效率至上、快速迭代、技术债务风险高。
Feat 是非常适合 OPC 的 Java Web 框架:
- 基于
smart-socket 提供超越 Vert.x 级别的极致性能,单机即可承载数万 QPS,大幅降低服务器成本;
- 深度整合 AI 能力,几行代码即可构建智能体,让独立开发者拥有"超级助手";
- 同时保持 SpringBoot 式的开发体验,零成本迁移,学习曲线几乎为零。
Feat:现代化 Java Web 服务开发框架
![]()
- 🚀 极致性能:基于成熟的 AIO 通信框架
smart-socket,轻松应对高并发场景。
- 🌐 全面的协议支持:完整支持 HTTP/1.0, HTTP/1.1, HTTP/2.0, WebSocket, 以及 Server-Sent Events (SSE) 。
- ⚖️ 轻量级核心 (
feat-core):冷启动低于 100ms,最大化克制资源消耗。
- 🔧 便捷的云原生开发体验 (
feat-cloud):提供依赖注入、注解式路由等特性,SpringBoot 开发者无缝过渡。
- 🤖 集成 AI 能力 (
feat-ai):内置 ReAct Agent,支持 Gitee AI 的多种 Chat 模型,助力开发者轻松构建智能化应用。
🤖 Feat AI:流式响应可视化,让AI思考过程透明化
在 v1.5.2 中,我们对 Hook.java 进行了重大升级,新增三个流式响应钩子方法,让 AI Agent 的推理过程可视化、可观测、可交互。
为什么需要这三个 Hook?
在使用 DeepSeek-R1 等推理模型时,我们面临一个体验难题:用户希望看到 AI 的思考过程,又不想等待太久才看到答案。v1.5.2 的 Hook 机制完美解决了这个问题——推理过程和最终答案实时分离展示。
三种推理内容,清晰区分
在 AI Agent 的流式响应中,其实包含三种不同来源的"思考"内容,Feat v1.5.2 让你可以精确捕获它们:
1️⃣ ModelReasoning —— 模型的"内心独白"
这是 推理模型自身的思考能力(如 DeepSeek-R1)。模型在给出答案前,会自主进行深度推理,这部分内容在 reasoning_content 字段中返回。
模型内部思考(不直接展示给用户):
让我分析一下... 用户可能想知道今天的温度是否适合外出
需要考虑:当前季节、地区气候、用户可能的隐含需求
...
最终答案:今天气温 25°C,适合户外活动
特点:模型自主生成,更自然、更深入,是真正的"内心独白"。
2️⃣ AgentReasoning —— Agent 的"自言自语"
这是 ReAct 提示词模板要求模型输出的思考过程。当你看到模型回复中出现 "Thought:" 字样时,就是 AgentReasoning。
AI 正在回复:
Thought: 用户问的是天气,我需要调用天气查询工具
Action: weather_query
...
特点:受限于提示词模板,是"被迫"输出的推理,格式固定。
3️⃣ FinalAnswer —— 最终答案
这是模型给出的最终结论,是用户真正关心的内容。
类比理解:像看一场推理剧
| 类型 |
类比 |
作用 |
| ModelReasoning |
侦探的"内心盘算" |
深度分析、权衡利弊 |
| AgentReasoning |
侦探的"口头推理" |
按流程解释当前步骤 |
| FinalAnswer |
侦探的"结论宣布" |
给出最终答案 |
典型应用场景
// 场景:构建一个"透明思考"的 AI 助手
ReActAgent agent = new ReActAgent(opts -> {
opts.hook(new Hook() {
@Override
public void onModelReasoning(String r) {
// 展示:💭 深度思考中...
UI.showDeepReasoning(r);
}
@Override
public void onAgentReasoning(String r) {
// 展示:🤔 正在分析需求...
UI.showThinking(r);
}
@Override
public void onFinalAnswer(String content) {
// 展示:✅ 最终答案
UI.showAnswer(content);
}
});
});
![]()
为用户带来的价值
- 透明度:用户能看到 AI 是如何一步步得出结论的
- 信任感:可验证的推理过程增强用户对 AI 结果的信任
- 体验优化:无需等待完整响应,答案实时呈现
- 调试便利:开发者可通过 Hook 记录完整推理链路,快速定位问题
🎨 官网首页 AI 重新设计
v1.5.2 不仅是代码的升级,我们对 官网首页 也进行了 AI 驱动的全面重新设计。
设计理念:技术与美学的融合
新的官网首页 (FeatHomePage) 采用了现代化的设计语言:
- 渐变动效背景:流动的渐变光球营造出科技感和活力
- 终端代码展示:实时代码编辑器效果,直观展示 Feat 的简洁语法
- F-E-A-T 特性卡片:四个维度清晰传达产品价值主张(Free 开源自由、Elastic 弹性伸缩、Advanced 先进技术、Tiny 轻量极速)
- 响应式设计:从桌面到移动端,完美适配各种设备
![]()
![]()
![]()
📦 开始使用 Feat v1.5.2
Maven 依赖
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-core</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud-starter</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-ai</artifactId>
<version>1.5.2</version>
</dependency>
快速构建可观测的 AI Agent
public class MyOpcApp {
public static void main(String[] args) {
ReActAgent agent = new ReActAgent(opts -> {
opts.hook(new Hook() {
@Override
public void onFinalAnswer(String content) {
System.out.print(content);
}
});
});
FeatCloud.cloudServer()
.get("/ai", ctx -> ctx.write(agent.execute(ctx.getParam("q")).get()))
.listen();
}
}
🔮 展望未来
Feat v1.5.2 是我们持续赋能独立开发者和 OPC 的重要一步。未来我们将继续:
- AI 能力深化:探索 Multi-Agent 协作模式,提供更强大的自动化能力
- 低代码支持:进一步降低开发门槛,让非专业开发者也能快速上手
- 性能持续优化:保持技术领先优势,降低运营成本
💡 写在最后
OPC 的本质是用技术杠杆撬动个人价值。选择 Feat,就是选择一个能够陪伴你从第一个用户到第一百万用户的可靠技术伙伴。
我们深知独立开发者的不易,Feat 的设计哲学始终围绕着:高性能、低门槛、可持续——这不仅是技术特性,更是对 Java 开发者的承诺。
立即体验 Feat v1.5.2,开启你的 OPC 之旅!
欢迎关注我们的公众号,获取更多关于 Feat 框架的最新动态和技术分享!
![]()
扫描微信二维码备注:feat 可加入 smartboot 社群。(PS:若无备注将拒绝好友申请)