Appearance
智能体管理与扩展
管理域是 Agent 运行时的控制面。它保存 Agent 的可编辑定义、模型与用户密钥、Dataset、工具、Skill、FileRoom 和轻应用资源;聊天请求进入运行时后,LoadAgentConfigNode 会重新读取这些关系,生成本轮可执行的 AgentConfig。管理接口写入的是下一次运行的配置,不会直接修改已经创建的 LoopRuntime。
1. 从资源到一次运行
管理面与执行面的边界如下:
| 管理面保存 | 执行面重建 | 不能直接复用 |
|---|---|---|
| Agent、模型、工具、Skill、Dataset 的 ID 和状态 | ChatModel、EmbeddingModel、工具执行器和 workspace 句柄 | 数据库实体、Spring Bean、网络连接 |
| 发布状态、绑定关系和权限 | 本轮配置摘要、toolset hash、surface digest | 草稿内容和已删除资源 |
| FileRoom、成员和配额 | session 的 room binding 与相对路径 | 用户上一轮提交的任意绝对路径 |
2. 配置生命周期
text
创建草稿 -> 保存引用 -> 校验权限/Schema -> 发布版本
-> 绑定 Agent/session
-> LoadAgentConfigNode 组装
-> 执行、审计、计费
\-> 下线/解除绑定/回滚发布不是简单地把 status 改成可用。至少要确认模型能力、工具 Schema、Skill release、Dataset 权限和 Sandbox workspace 都能被当前租户解析。资源下线后不能删除已有 session 所需的历史快照;删除前要解除 Agent 绑定,并检查异步向量化、Skill 包下载、文件清理和正在运行的任务。
3. 租户和权限校验
查询条件必须带 tenant/user 范围,资源绑定必须在服务层重新校验,不能只依赖前端隐藏按钮。Agent 可以引用公共模型或官方 Skill,但用户私有模型、Dataset、FileRoom 和 BYOK 密钥不能被其他租户通过 ID 直接读取。跨服务调用还要保留调用方租户上下文。
4. 修改配置的影响范围
| 修改 | 新请求 | 运行中的 session |
|---|---|---|
| prompt/模型参数 | 下次 load_config 使用新快照 | 保持当前 runtime,恢复时做版本校验 |
| 工具绑定/权限 | 新 run 重新计算 toolset | 已产生的工具调用按 journal 继续,不自动补发新工具 |
| Skill release | 新 run 读取当前发布 release | 恢复可能进入配置不一致保护 |
| Dataset/Embedding | 新查询使用新配置 | 已写入的 RAG 结果和引用不重算 |
| FileRoom 成员权限 | 后续访问重新 ACL 校验 | 已打开的句柄不能绕过撤权 |
5. 扩展顺序
新增管理资源时按实体和迁移、Mapper/Service、租户授权、管理 Controller、运行时 DTO/serializer、LoadAgentConfigNode 消费、审计事件、恢复校验和指标的顺序实现。只增加管理表而不接入运行时,前端虽然能保存资源,Agent 仍然看不到它。
6. 阅读路径
- 智能体管理模型:智能体、绑定关系和发布边界。
- 模型、数据集与向量化:模型路由、知识库入库和任务幂等。
- 工具与技能管理:注册、版本、Schema 和安全发布。
- 文件空间管理:成员、虚拟文件系统、分片上传、回收站和配额。
执行层见 AI 智能体核心引擎,接口见 前端对接接口。