sessionManager 负责“请求适配 → 会话连续性决策 → 生成编排 → 工具调用桥接 → 事件输出”的主链路。
当前已按职责拆分为四层:
contracts/:跨层共享的数据契约(请求、事件、输出接口)core/:核心编排与会话状态管理continuity/:会话连续性与索引tooling/:工具调用桥接、校验、规范化、编码等能力
建议依赖关系如下:
contracts <- core <- (continuity, tooling)
同时:
continuity可依赖contracts与core中的必要会话结构tooling可依赖contracts与core中的必要会话结构contracts不应反向依赖其他子目录
- 请求入口适配:
core/RequestAdapters.* - 会话状态与生命周期:
core/Session.* - 主编排服务:
core/GenerationService.* - 连续性策略:
continuity/ContinuityResolver.* - 工具调用桥接链路:
tooling/ToolCallBridge.*、tooling/XmlTagToolCallCodec.*
- 先判断是否属于“数据契约”再写到
contracts。 - 业务编排逻辑优先进入
core,避免分散到控制器。 - 与工具调用格式、校验、桥接相关的逻辑统一放在
tooling。 - 与会话 ID、续聊决策、响应索引相关的逻辑统一放在
continuity。
统一使用工程绝对相对路径风格,示例:
#include <sessionManager/core/Session.h>#include <sessionManager/contracts/GenerationRequest.h>#include <sessionManager/tooling/ToolCallBridge.h>