POST /api/v1/chat 同步对话POST /api/v1/chat/stream SSE 流式GET /api/v1/chat/simple 简单问答
POST /api/v1/rag/ingestGET /api/v1/rag/search 知识检索
AgentOrchestrator.chat(),SseEmitter + 专用线程池 chatStreamExecutorAgentOrchestrator.streamChat()。ai:session:{sessionId}SummarizationRequestEventConcurrentHashMap
temperature=0.3),接收用户消息 + 全部工具描述,List<PlanStep>,每个步骤包含 step / action / reason。BeanOutputConverter 结构化输出finish 结尾ToolRegistry 自动扫描 Spring Bean(Function<> + @Description)ToolExecutionAspect 拦截所有 tool.apply() 调用StepCollector 强制最大步骤数,超出抛出 MaxStepsExceededException
Function<> + @Description 即注册SkillRegistry 启动扫描:classpath*:skills-builtin/*/SKILL.md + ${app.skills.path}/*/SKILL.md
| 支持热重载 POST /actuator/skills
load_skill 工具,获取 SKILL.md 全部 Markdown 内容read_skill_resource,读取 skill 目录下嵌入的模板/参考文件StepCollector 基于 ThreadLocal + Micrometer ThreadLocalAccessor 实现跨 Reactor Netty 线程传播。ai.tool.duration(耗时)、ai.tool.calls.total(调用次数)
MemoryServiceMemorySummarizerReflectionWorker · importance=0.9UserProfileService — Redis Hash 存储用户画像,注入 system promptImportanceDecayManager — 每日 03:30 指数衰减 importance(半衰期 30 天)EvictionPolicyManager — 每日 03:00 清理低重要性过期文档MemoryAccessUpdater — RAG 命中时异步刷新 lastAccessedAt
ai:session:{sessionId} · ai:profile:{userId}