第六章:错误处理与资源清理
第六章:错误处理与资源清理6.1 错误处理的重要性在响应式编程中,错误处理比传统编程更重要: 12345678910111213传统同步:try { result = callApi(); // 抛出异常} catch (Exception e) { handleError(e); // 捕获处理}响应式:callApi() .subscribe( // 异步回调,try-catch 不起作用! result -> process(result), error -> handleError(error) // 必须在 subscribe 中处理 ); 关键点:响应式流中的异常不会自动抛出,必须通过操作符处理。 6.2 错误处理操作符6.2.1 onErrorReturn - 错误返回默认值1234567891011121314Flux.just(1, 2, 3) .map(i -> { if (i == 2...
第五章:File 智能体
05 - File 智能体一、定位FileReactAgent 是基于 ReAct + RAG 的文件问答智能体,专注于围绕已上传文件内容的对话式问答。核心工具是 FileContentService.loadContent,会根据文件的 embed 字段自动选择直接加载或RAG 语义检索模式。 二、核心特性 特性 说明 多文件类型 支持 PDF / DOCX / TXT(文本) + PNG / JPG / GIF / BMP(图片) RAG 自适应 embed=1 → RAG;embed=0/null → 全量 多轮 ReAct 可调用 loadContent 多次,支持追问 持久化记忆 默认从 MySQL 加载最近 30 条消息 图片问答 图片上传时使用 Qwen-VL 识别,存入 extractedText 引用溯源 引用类型响应携带 fileid 等元数据 三、执行流程1234567891011121314151617181920212223242526272...
第四章:WebSearch 智能体
04 - WebSearch 智能体一、定位WebSearchReactAgent 是基于 ReAct 模式 的联网搜索智能体,集成 Tavily 搜索引擎作为 MCP 工具,负责处理需要实时信息查询的场景。 二、核心字段1234567891011public class WebSearchReactAgent extends BaseAgent { private ChatClient chatClient; // Spring AI ChatClient private final List<ToolCallback> tools; // 工具回调(Tavily MCP) private final String systemPrompt; // 自定义系统提示词 @Setter private int maxRounds; // 最大工具调用轮次(默认 5) private final List<Advisor> advisors; //...
第三章:智能体框架
03 - 智能体框架(BaseAgent 抽象基类)一、定位agent/BaseAgent.java 是所有智能体的抽象基类,定义了统一的: 通用字段(ChatModel、ChatMemory、SessionService、TaskManager) 通用方法(持久化记忆加载、推荐问题生成、任务管理) 统一的 SSE 输出格式 子类只需实现 execute() 一个方法即可。 二、类图与继承关系123456789101112131415161718 ┌────────────────────────────┐ │ BaseAgent (抽象) │ │ - chatModel │ │ - name │ │ - chatMemory │ │ - sessionService...
第二章:REST API 接口
02 - REST API 接口一、接口总览Dodo-Agent 通过三个 Controller 暴露 HTTP 接口: Controller 路径前缀 主要功能 AgentController /agent 调用各智能体的流式接口 FileController /file 文件上传、查询、删除 SessionController /session 会话历史查询与删除 所有智能体接口均使用 SSE(Server-Sent Events) 协议流式输出 text/event-stream;charset=UTF-8。 二、AgentController 路径:/agent文件:controller/AgentController.java实现 InitializingBean,启动时通过 afterPropertiesSet() 初始化 Tavily MCP 工具回调。 2.1 联网智能问答12GET /agent/chat/streamContent-Type: text/event-stream;charset=UTF-8 参数 必填 类型 说...
第一章:架构概览
01 - 架构概览一、整体分层Dodo-Agent 采用经典的分层架构,从上到下依次为: 123456789101112131415161718192021222324252627282930313233┌────────────────────────────────────────────────────────────────────────────┐│ 应用层 (Application Layer) ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────────────────┐ ││ │ 智能问答 Agent │ │ 文件问答 Agent │ │ PPT 生成 Agent│ │ 深度研究 Agent │ ││ │ WebSearch │ │ File RAG │ │ PPT Builder│ │ Plan-Execute │ ││ │ ReAct ...
总览:DodoAgent 后端模块文档总览
Dodo-Agent 项目文档 本目录包含 dodo-agent 模块的完整技术文档,基于 code-review-graph 知识图谱对代码进行系统化解读生成。 模块定位dodo-agent 是 LLMentor 项目下的企业级端到端通用智能体(End-to-End Universal Agent)平台模块,基于 Spring AI 生态构建,深度融合大语言模型(LLM)能力与现代软件工程架构,提供从感知、推理到执行的全链路智能化解决方案。 文档目录 序号 文档 内容 01 架构概览 整体分层架构、技术栈、核心概念 02 REST API 接口 所有 HTTP 接口定义、请求/响应格式 03 智能体框架 BaseAgent 抽象基类、通用机制 04 WebSearch 智能体 WebSearchReactAgent 联网搜索 05 File 智能体 FileReactAgent 文件问答 + RAG 06 深度研究智能体 PlanExecuteAgent 计划-执行-批判 07 PPT Builder 智能体 PPTBuilderA...
最新版 1.3.16 + v3.15.3 终于能正常用了(无需降级)
困扰无数 WSL2 用户的“Select agent 只剩两个原生选项”问题,今天彻底解决!各位在 WSL2 里用 OpenCode 的朋友们,最近是不是也被这个 Bug 折磨得够呛? 你用 bunx oh-my-opencode install 成功安装了 oh-my-openagent(已改名),配置文件也正常生成,Sisyphus、Prometheus、Oracle 等一大堆高级代理都写进去了,doctor 检查也没问题…… 但一敲 opencode,Select agent 列表里永远只有两个:build native 和 plan native 多代理、ultrawork、@sisyphus 全部消失!😵 我同样在 WSL2 + Ubuntu 环境下反复折腾了三天,终于在今天(2026-04-06)找到了无需降级、直接用最新版的完美解决方案。 下面把最清晰、最完整、可直接复制执行的方案分享给大家。 一、问题现状 环境:WSL2 + OpenCode 1.3.16 + oh-my-openagent v3.15.3(均为最新版) 症状:插件安装成功、配置文件完全正确...











