9 大工具、双端交互、Skills 扩展:用 Java 打造的 AI Coding Agent 长什么样?
AgentScope Java 2.0|Spring Boot 4.1|HarnessAgent|ReAct 模式|Web CLI 双端|Skills 可扩展你是否想过自己拥有一个 AI 编程助手——不是调用别人的 API而是完全自主可控、可扩展、能读写代码、能执行命令、能联网搜索的 Coding Agent市面上的 AI 编程工具大多是闭源产品或 Python 生态。Java 开发者想要一个属于自己的 Coding Agent往往只能望洋兴叹。如果有一个完全用 Java 编写的 AI Coding Agent9 大内置工具覆盖代码读写到 GitHub 集成Web 聊天界面 CLI 双端交互还能通过 Markdown 文件扩展技能——你会不会想试试这就是 Babi Agent ——一个基于AgentScope Java 2.0 Spring Boot 4.1构建的 AI Coding Agent覆盖代码分析、文件编辑、Shell 执行、网页抓取、Web 搜索、HTTP 请求、GitHub 集成、Skills 扩展、任务追踪等开发全流程能力。 为什么需要 Babi Agent痛点一Java 生态缺少原生 Coding AgentPython 社区有 LangChain、CrewAI、AutoGPT 等丰富的 Agent 框架Java 开发者却几乎没有同等水平的选择。大多数 Java 项目想接入 AI 能力只能调用外部 API 或嵌入 Python 脚本——这不是 Java 开发者该有的 AI 体验。痛点二通用大模型什么都能聊但不会写代码直接拿大模型聊天来做开发辅助你会发现它不能读你的文件、不能执行命令、不能搜索代码、不能操作 GitHub——它只能说不能做。一个真正有用的 Coding Agent必须具备完整的工具链。痛点三AI 助手不可扩展每次都要重新教每个项目都有自己的工作流和约定。通用 AI 助手不了解你的项目规范每次都要手动贴规则、教格式。如果能把专家经验沉淀为可复用的技能一条命令加载对话即触发——那该多好。 项目亮点✨ 1. 9 大内置工具——代码读写到 GitHub 操作全覆盖Babi Agent 内置了 9 个精心设计的工具覆盖开发场景的方方面面工具能力说明read_file读取文件读取源码、配置文件等任意文本文件edit_file精准编辑基于精确文本匹配的替换编辑不破坏文件结构code_search代码搜索基于 ripgrep/grep 的模式匹配快速定位代码shellShell 执行运行构建、测试、部署等任意终端命令fetch_url网页抓取获取网页内容保留结构化文本web_searchWeb 搜索模型内置联网检索实时获取最新信息无需额外 API Keyhttp_requestHTTP 请求调用任意 REST APIgithub_apiGitHub 集成通过 API 操作 Issues、PR、仓库、Pinned Repos 等use_skillSkills 加载按需加载 Markdown 定义的可复用工作流指令每个工具都遵循参数简单、描述清晰的设计原则——基本类型参数 独立的ToolParam description让大模型准确理解每个参数的用途Tool(nameedit_file,descriptionEdit a file by replacing an exact text match...)publicStringeditFile(ToolParam(namefile_path,descriptionPath to the file to edit)StringfilePath,ToolParam(nameold_text,descriptionThe exact text to find)StringoldText,ToolParam(namenew_text,descriptionThe text to replace it with)StringnewText){// 精准替换只改第一处}这意味着Agent 不是只会聊天的对话框而是真正能读写代码、执行命令、操作 GitHub 的编程助手。✨ 2. HarnessAgent 驱动——ReAct 循环 计划模式 任务追踪Babi Agent 的核心引擎是 AgentScope Java 的HarnessAgent它不是简单的一问一答而是一个具备自主推理和行动能力的智能体用户提问 → 模型推理 → 选择工具 → 执行操作 → 观察结果 → 继续推理 → ... → 最终回答关键能力配置能力说明ReAct 循环思考→行动→观察的自主推理闭环最多 20 轮迭代计划模式先调查分析再制定计划最后执行——不盲目操作任务追踪内置 Todo 列表多步骤任务可视化进度模型降级主模型不可用时自动降级到备用模型qwen-plus → qwen-turbo失败重试工具调用失败自动重试最多 2 次联网搜索模型内置 enableSearch无需额外 API Key 即可联网HarnessAgent.builder().name(Babi).maxIters(20)// 最多 20 轮推理.maxRetries(2)// 工具失败自动重试.fallbackModel(qwen-turbo)// 模型降级策略.enableTaskList()// 任务追踪.enablePlanMode()// 先计划后执行.allowShellInPlanMode()// 计划模式允许执行命令....build();这意味着Agent 不是执行命令 → 展示结果的机械操作而是理解意图 → 制定计划 → 逐步执行 → 总结反馈的智能助手。✨ 3. Skills 扩展系统——Markdown 定义、双层加载、即插即用这是 Babi Agent最具扩展性的设计。Skills 系统将专家经验沉淀为 Markdown 文件Agent 在对话中按需加载~/.agents/skills/ ← 全局共享技能跨项目复用 ~/.babi/skills/ ← Babi 专属技能更高优先级可覆盖全局Skill 文件格式极简——YAML 前置元数据 Markdown 指令正文--- name: code-review description: Perform structured code review on source files --- # Instructions 1. Read the target file... 2. Check naming conventions... 3. Review error handling...SkillLoader 启动时自动扫描两个目录支持扁平文件my-skill.md和目录格式my-skill/SKILL.md两种布局同名 Skill 以 Babi 目录为准// 全局技能先加载低优先级loadFromDir(GLOBAL_DIR,skills);// Babi 专属技能后加载高优先级覆盖同名全局技能loadFromDir(BABI_DIR,skills);这意味着你不需要修改任何代码只需要在~/.babi/skills/下放一个.md文件Agent 就自动获得新技能——就像给 AI 装插件一样简单。✨ 4. Web 聊天界面——Markdown 渲染 工具状态可视化 IDE 布局Web 前端不是简单的聊天框而是一个功能完整的轻量级 IDE 界面聊天区域Markdown 实时渲染marked.js highlight.js 语法高亮工具调用状态可视化 调用中 / ✅ 成功 / ❌ 失败图片 Lightbox 预览GitHub Pinned Repos 卡片渲染打字动画指示器IDE 布局 左侧文件树浏览器可折叠/展开 右侧文件预览面板代码高亮 图片预览/☀️ 明暗主题切换跟随系统 手动切换 localStorage 持久化SSE 实时流式输出前端 ←── SSE ──← Spring WebFlux ──← HarnessAgent ──→ 大模型 │ ├── token 事件文本增量 ├── tool_call 事件工具调用通知 ├── tool_result 事件工具执行结果 └── done 事件回复完成这意味着不需要安装任何客户端打开浏览器就是一个功能完整的 AI 编程助手——流式输出、工具状态、文件浏览、代码预览一应俱全。✨ 5. 工具事件总线——解耦工具调用与前端通知Babi Agent 设计了一个基于 Reactor Sinks 的ToolEventBus优雅地解耦了工具调用的产生端和消费端ToolNotificationMiddleware ──发布──→ ToolEventBus ──订阅──→ SSE Controller ──推送──→ 前端 (Agent 中间件) (发布/订阅) (WebFlux SSE) (浏览器)publicclassToolEventBus{privatefinalSinks.ManyToolEventsinkSinks.many().multicast().onBackpressureBuffer(256,false);publicvoidpublish(ToolEventevent){...}publicFluxToolEventsubscribe(StringsessionId){...}}通过sessionId隔离不同会话的事件流多个用户可以同时使用不同的 Session 互不干扰。这意味着工具调用的通知机制与 Agent 核心逻辑完全解耦——未来增加 WebSocket 推送、日志记录、审计追踪等功能只需新增订阅者无需修改 Agent 代码。✨ 6. 会话持久化 工作区沙箱——安全隔离、状态可恢复Babi Agent 采用双路径架构将会话状态和工作区文件分离管理路径用途~/.babi/sessions/会话状态持久化JSON 文件Agent 对话上下文可恢复~/babi-workspace/工作区沙箱目录Agent 在此范围内读写文件、执行命令工作区初始化时自动创建AGENTS.md工作区说明文件HarnessAgent 框架会自动注入工作区上下文。这意味着关闭浏览器再打开对话上下文还在Agent 的文件操作限定在工作区范围内不会影响系统其他文件。️ 项目架构全景------------------------------ | 用户端 | | Web 聊天界面 / CLI 终端 | ----------------------------- | SSE / stdin ----------------------------- | BabiAgentController | | (WebFlux SSE 流式输出) | ----------------------------- | ----------------------------- | HarnessAgent | | (ReAct 循环 计划模式) | | maxIters20 / maxRetries2 | ----------------------------- | -------------------------------------------- | | | ---------------- ---------------- ---------------- | 内置工具 | | 中间件 | | 基础设施 | | | | | | | | read_file | | Context | | ToolEventBus | | edit_file | | Truncate | | (Reactor Sinks) | | code_search | | | | | | shell | | Tool | | AgentStateStore | | fetch_url | | Notification | | (JSON 文件) | | web_search | | | | | | http_request | ----------------- | SkillLoader | | github_api | | (Markdown 解析) | | use_skill | ----------------- ----------------- ----------------- | 模型层 | | DashScope | | qwen-plus | | 联网搜索 | | 模型降级 | -----------------核心设计理念Controller 与 Agent 解耦Controller 只负责 HTTP 和 SSEAgent 构建由 Configuration 统一管理中间件管道ContextTruncateMiddleware上下文截断 ToolNotificationMiddleware工具通知以管道方式注入 Agent工具即能力每个 Tool 是一个独立的 Java 类注册即可用新增工具不需要修改 Agent 逻辑Skills 热加载启动时扫描 Markdown 文件运行时通过use_skill按需加载完整指令 技术栈速查组件版本说明AgentScope Java2.0.0HarnessAgent ReAct 文件系统 中间件Spring Boot4.1.0WebFlux SSE 依赖管理DashScope (通义千问)-qwen-plus 主模型 qwen-turbo 降级 内置联网搜索Reactor-ToolEventBus 发布/订阅 SSE 流式输出marked.js highlight.js12 / 11前端 Markdown 渲染 语法高亮 学习价值对于初中级开发者✅ 理解AI Coding Agent 的完整架构——从工具定义到 ReAct 循环到流式输出✅ 学习AgentScope Java 框架的核心用法HarnessAgent、Toolkit、Middleware✅ 掌握Spring WebFlux SSE 流式推送的实战模式多路流合并、请求去重、断连处理✅ 通过 9 个工具的实现代码学习如何为大模型设计可调用的工具对于高级开发者✅ 深入理解ReAct 模式在 Java 中的实现——思考→行动→观察的自主推理闭环✅ 学习ToolEventBus 基于 Reactor Sinks 的发布/订阅架构——解耦工具调用与前端通知✅ 掌握HarnessAgent 中间件机制——ContextTruncate、ToolNotification 的管道式设计✅ 理解模型降级 失败重试 上下文截断等生产级 Agent 的容错策略对于架构师✅AgentScope Java Spring Boot 4.1 的集成范式——如何将 AI Agent 框架嵌入 Spring 生态✅Skills 系统的设计理念——Markdown 定义 双层加载 运行时注入低成本的知识工程化方案✅Controller/Agent/Tool 三层解耦的架构模式——可借鉴到其他 AI 应用的设计✅WebFlux 响应式流 Agent 事件流的合并策略——Flux.mergeshare()避免冷流重复订阅 快速开始前置要求JDK 17Maven 3.8阿里云百炼 API Key申请地址一步启动# 设置 API KeyexportDASHSCOPE_API_KEYyour_api_key# 可选 - GitHub API 令牌exportGITHUB_TOKENyour_github_token方式一Web 聊天界面推荐mvn spring-boot:run-plbabi-agent打开浏览器访问http://localhost:8900即可在聊天界面中与 Babi Agent 交互。支持 Markdown 实时渲染、工具调用状态可视化、多轮会话Session ID 隔离上下文、文件树浏览、代码预览。方式二命令行模式mvn exec:java-plbabi-agent启动后进入交互式终端对话适合快速调试或无 GUI 环境。试试这些# 让 Agent 读取并分析代码 帮我看看当前项目的目录结构 # 让 Agent 执行构建命令 帮我编译这个项目 # 让 Agent 搜索代码 在项目中搜索所有包含 RestController 的文件 # 让 Agent 操作 GitHub 查看我的 GitHub 置顶仓库 # 让 Agent 联网搜索 搜索 AgentScope Java 的最新版本和文档 # 安装并使用 Skill # 将 .md 文件放到 ~/.babi/skills/ 目录Agent 自动获得新技能 设计背后的工程思考1. 为什么选择 AgentScope Java 而非 Spring AIAgentScope Java 提供了完整的 Agent 运行时——HarnessAgent 内置了 ReAct 循环、文件系统操作、中间件管道、会话持久化等能力不需要从零搭建 Agent 框架。而 Spring AI 更偏向AI 能力集成Agent 编排能力需要自行构建。Babi 项目基于 AgentScope Java 构建 Agent 能力Spring Boot 提供 Web 服务——各取所长避免重复造轮子。2. 为什么 Web 前端不用 React/Vue因为 Babi Agent 的定位是轻量级 AI 编程助手不是一个完整的 Web 应用。原生 HTML CSS JavaScript 的实现方式零构建依赖不需要 Node.js 环境单文件部署spring-boot:run即可使用维护简单前端代码不到 800 行架构选型不是追求技术栈时髦而是追求恰到好处。3. 为什么 Skills 用 Markdown 而非代码因为Skills 的本质是专家经验的文字化不是可执行的程序。一个代码审查 Skill 的核心是审查规则和流程描述——这些用自然语言表达比用代码更直观。Markdown 格式让 Skill 的创建门槛降到最低——会写文档就会创建 Skill不需要学 SDK不需要写代码。4. 为什么需要 ToolEventBusAgent 执行过程中可能调用大量工具读文件、搜索代码、执行命令……如果前端只能看到最终回复用户会感到AI 在发呆。ToolEventBus 让工具调用的过程实时可见——用户能看到 Agent 正在读哪个文件、执行什么命令、搜索结果如何。这种过程透明的设计大幅提升了用户信任感。 相关链接项目地址: https://github.com/javahongxi/babiAgentScope Java: https://github.com/agentscope-ai/agentscope-javaSpring Boot: https://spring.io/projects/spring-boot通义千问 (DashScope): https://dashscope.console.aliyun.com☁️Spring Cloud 生态研究: spring-cloud-samplesJava 全栈技术全景: whatsmars 结语从 9 大内置工具的全覆盖到 Skills 系统的可扩展设计从 HarnessAgent 的 ReAct 推理循环到 ToolEventBus 的发布/订阅解耦从 Web 聊天界面的流式输出到 CLI 终端的即开即用——Babi Agent 的目标始终如一让 Java 开发者拥有一个完全自主可控、可扩展的 AI Coding Agent。它不仅是一个聊天机器人更是一套完整的 AI 编程助手方案——9 大工具是双手HarnessAgent 是大脑Skills 是技能库Web 界面是窗口。如果你正在 想要一个 Java 原生的 AI 编程助手能读写代码、执行命令、操作 GitHub 想学习 AgentScope Java 框架和 HarnessAgent 的实战用法️ 想搭建自己的 Coding Agent需要一套清晰的架构参考 想体验 AI Agent 在开发工具中的实际应用——一句话驱动代码分析、构建、调试全流程Star ⭐ Babi Agent让 Java 开发者也有自己的 AI Coding Agentgitclone https://github.com/javahongxi/babi.gitcdbabiexportDASHSCOPE_API_KEYyour_api_key mvn spring-boot:run-plbabi-agent© hongxi.org| 用 Java 打造属于开发者自己的 AI Coding Agent

相关新闻

深入解析MSPM0 TIMB基础定时器:从原理到PWM生成的实战指南

深入解析MSPM0 TIMB基础定时器:从原理到PWM生成的实战指南

1. TIMB基础定时器:嵌入式系统的时间脉搏在嵌入式系统的世界里,时间就是一切。无论是让一个LED灯以精确的1Hz频率闪烁,还是测量一个按键按下的时长,亦或是生成一个控制电机的PWM信号,其背后都离不开一个核心组件——定…

2026/7/23 12:35:07 阅读更多 →
wujie的fiber属性很关键

wujie的fiber属性很关键

无界的很多疑难杂症和fiber有关,有时候高德地图无法渲染就和fiber设置为false有关;1.官方文档解析如下:js 的执行模式,由于子应用的执行会阻塞主应用的渲染线程,当设置为true时js采取类似react fiber的模式方式间断执行…

2026/7/23 12:35:07 阅读更多 →
多模态交互全解析,深度拆解Gemini 2.0最新API调用链与避坑清单

多模态交互全解析,深度拆解Gemini 2.0最新API调用链与避坑清单

更多请点击: https://codechina.net 第一章:多模态交互全解析与Gemini 2.0演进全景 多模态交互正从“感知融合”迈向“语义协同”新范式——文本、图像、音频、视频乃至传感器信号不再简单拼接,而是在统一表征空间中实现跨模态对齐、推理与生…

2026/7/23 12:35:07 阅读更多 →

最新新闻

Tiva C系列GPTM定时器B模式寄存器配置与应用实战

Tiva C系列GPTM定时器B模式寄存器配置与应用实战

1. GPTM定时器B模式寄存器深度解析 在嵌入式开发中,定时器是驱动一切时序逻辑的“心跳”。无论是精确的延时、PWM信号生成,还是捕获外部事件的脉宽,都离不开对定时器寄存器的精准操控。Tiva™ C系列微控制器的通用定时器模块功能强大&#xf…

2026/7/23 12:53:14 阅读更多 →
2026高端门窗品牌怎么选?主流门窗品牌选购指南

2026高端门窗品牌怎么选?主流门窗品牌选购指南

门窗是家装中的基础硬装构件,直接影响居室隔音、隔热、防风防水等居住体验,关乎室内空间质感与居住安全。随着家装需求不断升级,传统门窗的基础性能已无法适配现代住宅的居住需求,工艺精良、性能稳定、设计简约的高端系统门窗&…

2026/7/23 12:53:14 阅读更多 →
2026木纹砖十大品牌全新发布,优质瓷砖十大品牌盘点

2026木纹砖十大品牌全新发布,优质瓷砖十大品牌盘点

新房整装、旧房翻新、工装空间装修中,地面建材的选择直接影响空间质感与长期使用体验。相较于传统木地板易受潮变形、起拱发霉、养护繁琐的短板,木纹砖依托自然原木外观、防水防滑、耐磨耐造、无甲醛、易清洁的特性,广泛适配原木风、极简风、…

2026/7/23 12:53:14 阅读更多 →
RocketMQ顺序消息原理与电商系统实践

RocketMQ顺序消息原理与电商系统实践

1. 项目背景与问题概述 去年我们电商平台在双十一大促期间,由于订单处理系统的消息乱序问题,导致价值超过50万的优惠券被错误发放。事后排查发现,问题根源在于RocketMQ顺序消息的使用不当。这个惨痛教训促使我深入研究了RocketMQ顺序消息的实…

2026/7/23 12:53:14 阅读更多 →
做 AI 口语陪练前,我用 3 天验证了它值不值得做

做 AI 口语陪练前,我用 3 天验证了它值不值得做

新系列开篇:这是「AI 外语口语陪练」单产品连载的第 1 篇。我会用同一个产品,带你从"一个想法"一路做到"有人付费"。上一辑《AI 电商详情页生成器》10 篇已收官,这辑换一个更大众的方向——帮人练口语。 先说结论&#x…

2026/7/23 12:53:14 阅读更多 →
Edge 148稳定版工作区迁移V2功能解析与优化

Edge 148稳定版工作区迁移V2功能解析与优化

1. Edge 148稳定版工作区迁移V2功能解析微软Edge浏览器148稳定版最引人注目的改进莫过于工作区迁移功能的重大升级。作为一名长期跟踪浏览器技术发展的从业者,我认为这次V2版本的迭代绝非简单的功能优化,而是微软对企业协同场景的深度重构。工作区功能最…

2026/7/23 12:52:14 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻