Agent管理后台实现
2025年10月20日...大约 5 分钟
一、介绍
本章节主要设计并实现一套 AI Agent 管理后台页面,使用户能够通过后台系统完成 AI Agent 的资源配置,并以拖拽方式维护智能体结构。
本章的逻辑实现相对简单,主要以 CRUD 操作 为主。它将原本需要在数据库中手动完成的配置过程,转化为更符合运营与管理习惯的可视化操作界面,提升使用效率与易用性。
因此,本节内容的重点在于理解整体结构与操作流程。你只需熟悉其原理与实现方式,便可在此基础上继续迭代,扩展或优化你所需要的功能。
二、实现效果
本章节展示了一套完整的 AI Agent 智能体管理后台系统,涵盖了所有核心资源的配置,包括 Model、Client、MCP、Advisor、Prompt 等模块。
通过该系统,用户可以以可视化拖拽的方式,对资源进行灵活编排,从而快速构建和管理 AI Agent 智能体。
1. 登录界面

- 这一部分在数据库中新增了 admin_user 表,用于配置登录账号和密码,实现基础的身份校验功能。
2. 管理界面

当前管理后台包含以下主要功能:
- 代理管理:支持以拖拽编排的方式创建与配置智能体,提升配置灵活性与可视化体验。
- 资源管理:集中管理各类核心资源,包括 model、client、mcp、advisor、prompt 等。
另外,数据分析 与 系统设置 模块作为示例功能,用户可根据实际需求进一步拓展或自定义更多模块。
3. 代理管理
3.1 代理列表

代理列表展示的是通过拖拽编排方式配置的智能体。
用户可以通过以下操作进行管理:
- 点击 【查看】 查看智能体的详细信息;
- 点击 【新建】 创建新的智能体配置;
- 通过 删除 功能移除不需要的智能体。
此外,点击 【加载】 按钮会调用服务端接口,将相关配置数据加载到 Spring 容器 中,加载完成后即可直接使用对应的智能体。
3.2 代理配置

当点击某个代理配置时,系统会将对应的拖拽编排数据从数据库中读取,并在页面上以可视化的方式完整呈现,方便查看与编辑。
若点击 【Save】,系统会生成一份新的配置副本,用于保存当前修改内容。原有配置不会被覆盖,用户可根据需要手动删除旧版本,以保持配置清晰与整洁。
4. 资源管理

在 资源管理 模块中,可以维护智能体运行所需的各类资源信息。
用户可在此对相关资源进行新增、编辑与管理操作,例如:
- MCP 工具管理:用于配置与维护智能体可调用的 MCP 工具;
- 其他资源(如 model、client、advisor、prompt 等)也可在此模块中统一管理,确保智能体具备完整的运行依赖与配置支持。
5. 页面使用

- 配置后的智能体,可以在智能体选择里进行获取使用。之后进行提问。
三、接口设计
如图,是整个系统的 API 设计架构;

- API 分为应用功能,以服务智能体为主;自动智能对话、装配代理(智能体)、查询可用的代理(给前端UI使用),另外一部分API是管理层的,给运营后台使用,配置相关的智能体服务等。
四、功能实现
1. 改动说明 - 后端
- 数据库表调整
新增了admin_user表,用于管理后台的简单登录验证。同时,在ai_client_model表中新增了model_usage字段,用于描述模型的使用场景,方便在拖拽配置时区分不同的模型。 - 领域层(Domain)
- 新增了
IArmoryService装配接口服务,提供了可用的所有 Agent 能力以及单个 Agent 的装配功能。同时,提供查询所有可用 Agent 能力的接口。 - 新增了
IRagService知识库服务接口,用于存储上传的知识文件数据。这部分实现较简单,主要是将之前单测中的能力集成过来。
- 新增了
- 应用启动模块(App)
AiAgentAutoConfiguration中原先通过 Client 初始化数据的操作,已修改为通过IArmoryService进行智能体的装配。这样,就不需要手动逐个配置 Client。- 相应地,去掉了
AiAgentAutoConfigProperties中与 Client 配置相关的部分,并修改了application-dev中ai.agent.auto-config.enabled的配置。(具体可参考工程代码)
- 触发器层(Trigger)
AiAgentController实现了armoryAgent装配智能体功能,以及queryAvailableAgents查询可用智能体的接口。admin下的所有操作都为 CRUD 操作,专门为后台管理页面服务。
2. 改动说明 - 前端
- 管理界面
在src/page层新增了多个管理界面,分别是:login、dashboard、agent、client、model、mcp、prompt和rag。这些页面将调用后端服务的接口进行数据交互。 - 配置文件
在src/config层新增了api.ts配置文件,用于存储服务端接口的配置信息。如果需要更换服务的 IP 和端口,可以在这里进行修改。 - 节点操作
在src/nodes层,实现了各项节点操作,用于可视化编排。该部分将从服务端拉取数据,以供节点配置使用。
- 具体的改动代码基本都涉及到 CRUD 操作,建议参考系统工程代码。
- 如果前端代码较为难懂,可以使用像 trae.ai/cursor 等 AI 软件进行辅助查看和提问。
赞助