Appearance
智能体管理、会话与执行控制
智能体管理接口
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。具体状态字段和路由见智能体执行引擎。