Skip to content

智能体管理、会话与执行控制 ​

智能体管理接口 ​

AiAgentManagementController 的基础路径为 /v1/agent,提供创建、分页、按 ID 或 UID 查询、删除、更新、按类型查询、发布/下架、提示词模板、模型配置和市场 Agent 查询。

发布状态决定 Agent 是否能被用户或渠道选用;更新模型、工具、Skill 或知识库关系后,应重新检查已发布 Agent 的运行配置。

会话持久化 ​

ChatSessionManager 管理 session 生命周期,ChatSessionPersistenceService、SessionPersistenceRecorder 和 persistence/store 负责事件账本、检查点、分支、历史投影和恢复。当前配置项:

yaml
agent:
  session:
    persistence:
      enabled: true

会话运行目录保存 JSONL 事件、检查点和可能的文件引用。容器重建前若未挂载持久化目录,恢复能力会丢失。

JSONL 与 checkpoint 的恢复不是“读取最后一条消息”:系统会校验 schemaVersion、graphVersion、工具集哈希、租户/Agent/branch,并用 SessionLease 抢占恢复权。恢复成功后才重建 LoopRuntime 和 Sandbox;版本不兼容时进入 RECOVERY_BLOCKED,避免重复执行副作用工具。

执行控制接口 ​

AiChatbotAgentController 除了聊天和 SSE,还提供暂停、恢复、取消、分支创建/列表/激活、运行状态、会话详情、历史消息、Artifact 和运行时文件访问。AiAgentExecutionController 提供按 Agent ID、UID 和预置场景直接执行的入口。

幂等与权限 ​

  • sessionId、run version 和 messageId 是不同概念,接口实现不能混用。
  • Agent、会话、文件和渠道操作都必须在租户和用户上下文下校验。
  • 自动化任务使用 HeadlessAgentExecutionService,应配置独立的执行身份和超时,不能复用浏览器 SSE 连接。

执行控制的安全点位于子图的 checkpoint 节点。暂停不会强行打断正在进行的模型或工具调用,而是在本轮 refining 完成后保存 Agent checkpoint 和 Sandbox workspace 状态;恢复命令通过 dispatcher 串行投递,避免同一 session 出现并发 graph run。具体状态字段和路由见智能体执行引擎。