feat: 全新智能体功能
- 基于先进智能体框架,增加智能体编排功能 - 增加智能体聊天,并对接持久化
This commit is contained in:
@@ -52,6 +52,10 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>tech.easyflow</groupId>
|
||||
<artifactId>easyflow-module-agent</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>tech.easyflow</groupId>
|
||||
<artifactId>easyflow-module-auth</artifactId>
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_category` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`category_name` VARCHAR(128) NOT NULL COMMENT '分类名称',
|
||||
`sort_no` INT DEFAULT 0 COMMENT '排序',
|
||||
`status` INT DEFAULT 1 COMMENT '状态',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_agent_category_tenant` (`tenant_id`, `status`, `sort_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent 分类';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`dept_id` BIGINT NULL COMMENT '部门ID',
|
||||
`name` VARCHAR(128) NOT NULL COMMENT 'Agent 名称',
|
||||
`description` VARCHAR(1024) NULL COMMENT '描述',
|
||||
`avatar` VARCHAR(512) NULL COMMENT '头像',
|
||||
`category_id` BIGINT NULL COMMENT '分类ID',
|
||||
`model_id` BIGINT NULL COMMENT '模型ID',
|
||||
`model_config_json` JSON NULL COMMENT '模型配置',
|
||||
`generation_config_json` JSON NULL COMMENT '生成参数配置',
|
||||
`prompt_config_json` JSON NULL COMMENT '提示词配置',
|
||||
`memory_config_json` JSON NULL COMMENT '记忆配置',
|
||||
`execution_config_json` JSON NULL COMMENT '运行配置',
|
||||
`status` INT DEFAULT 1 COMMENT '数据状态',
|
||||
`visibility_scope` VARCHAR(32) NULL COMMENT '可见范围',
|
||||
`publish_status` VARCHAR(32) DEFAULT 'DRAFT' COMMENT '发布状态',
|
||||
`current_approval_instance_id` BIGINT NULL COMMENT '当前审批实例ID',
|
||||
`published_snapshot_json` JSON NULL COMMENT '已发布快照',
|
||||
`published_at` DATETIME NULL COMMENT '发布时间',
|
||||
`published_by` BIGINT NULL COMMENT '发布人',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_agent_tenant_category` (`tenant_id`, `category_id`, `status`),
|
||||
KEY `idx_agent_publish_status` (`publish_status`),
|
||||
KEY `idx_agent_created_by` (`created_by`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_tool_binding` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`agent_id` BIGINT NOT NULL COMMENT 'Agent ID',
|
||||
`tool_type` VARCHAR(32) NOT NULL COMMENT '工具类型',
|
||||
`target_id` BIGINT NOT NULL COMMENT '目标资源ID',
|
||||
`tool_name` VARCHAR(128) NULL COMMENT '工具名称',
|
||||
`enabled` TINYINT(1) DEFAULT 1 COMMENT '是否启用',
|
||||
`hitl_enabled` TINYINT(1) DEFAULT 0 COMMENT '是否启用工具执行前确认',
|
||||
`hitl_config_json` JSON NULL COMMENT 'HITL 配置',
|
||||
`options_json` JSON NULL COMMENT '选项',
|
||||
`sort_no` INT DEFAULT 0 COMMENT '排序',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_agent_tool_agent` (`agent_id`, `enabled`, `sort_no`),
|
||||
KEY `idx_agent_tool_target` (`tool_type`, `target_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent 工具绑定';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_knowledge_binding` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`agent_id` BIGINT NOT NULL COMMENT 'Agent ID',
|
||||
`knowledge_id` BIGINT NOT NULL COMMENT '知识库ID',
|
||||
`retrieval_mode` VARCHAR(32) NULL COMMENT '检索模式',
|
||||
`enabled` TINYINT(1) DEFAULT 1 COMMENT '是否启用',
|
||||
`options_json` JSON NULL COMMENT '选项',
|
||||
`sort_no` INT DEFAULT 0 COMMENT '排序',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_agent_knowledge_agent` (`agent_id`, `enabled`, `sort_no`),
|
||||
KEY `idx_agent_knowledge_target` (`knowledge_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent 知识库绑定';
|
||||
@@ -0,0 +1,210 @@
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000001, 0, 0, 'menus.ai.agents', '/ai/agents', '/ai/agents/AgentList', 'lucide:bot',
|
||||
1, '', 2, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, '管理端 Agent 编排菜单'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000001
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000011, 367300000000000001, 1, '查询', '', '', '',
|
||||
0, '/api/v1/agent/query', 1, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-查询'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000011
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000012, 367300000000000001, 1, '详情', '', '', '',
|
||||
0, '/api/v1/agent/getDetail', 2, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-详情'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000012
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000013, 367300000000000001, 1, '保存', '', '', '',
|
||||
0, '/api/v1/agent/save', 3, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-保存'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000013
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000014, 367300000000000001, 1, '更新', '', '', '',
|
||||
0, '/api/v1/agent/update', 4, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-更新'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000014
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000015, 367300000000000001, 1, '删除', '', '', '',
|
||||
0, '/api/v1/agent/remove', 5, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-删除'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000015
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000016, 367300000000000001, 1, '发布', '', '', '',
|
||||
0, '/api/v1/agent/submitPublishApproval', 6, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-发布审批'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000016
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000017, 367300000000000001, 1, '下线', '', '', '',
|
||||
0, '/api/v1/agent/submitOfflineApproval', 7, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-下线审批'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000017
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000018, 367300000000000001, 1, '删除审批', '', '', '',
|
||||
0, '/api/v1/agent/submitDeleteApproval', 8, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-删除审批'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000018
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000019, 367300000000000001, 1, '工具绑定', '', '', '',
|
||||
0, '/api/v1/agent/toolBinding/update', 9, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-工具绑定更新'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000019
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
SELECT
|
||||
367300000000000020, 367300000000000001, 1, '知识绑定', '', '', '',
|
||||
0, '/api/v1/agent/knowledgeBinding/update', 10, 0, '2026-05-20 10:00:00', 1, '2026-05-20 10:00:00', 1, 'Agent-知识库绑定更新'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_menu` WHERE `id` = 367300000000000020
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000101, 1, 367300000000000001
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000001
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000111, 1, 367300000000000011
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000011
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000112, 1, 367300000000000012
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000012
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000113, 1, 367300000000000013
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000013
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000114, 1, 367300000000000014
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000014
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000115, 1, 367300000000000015
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000015
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000116, 1, 367300000000000016
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000016
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000117, 1, 367300000000000017
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000017
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000118, 1, 367300000000000018
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000018
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000119, 1, 367300000000000019
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000019
|
||||
);
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
SELECT 367300000000000120, 1, 367300000000000020
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `tb_sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 367300000000000020
|
||||
);
|
||||
@@ -0,0 +1,73 @@
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_session` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`agent_id` BIGINT NULL COMMENT 'Agent ID',
|
||||
`chat_session_id` BIGINT NULL COMMENT '聊天会话ID',
|
||||
`runtime_session_id` VARCHAR(128) NOT NULL COMMENT '运行时会话ID',
|
||||
`session_key` VARCHAR(255) NOT NULL COMMENT 'AgentScope session key',
|
||||
`state_json` JSON NULL COMMENT 'AgentScope session state envelope',
|
||||
`version` BIGINT NOT NULL DEFAULT 0 COMMENT '版本号',
|
||||
`cache_version` BIGINT NOT NULL DEFAULT 0 COMMENT '缓存版本号',
|
||||
`last_access_at` DATETIME NULL COMMENT '最后访问时间',
|
||||
`expires_at` DATETIME NULL COMMENT '过期时间',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
`is_deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_agent_session_key` (`agent_id`, `session_key`),
|
||||
KEY `idx_agent_session_chat` (`chat_session_id`),
|
||||
KEY `idx_agent_session_runtime` (`runtime_session_id`),
|
||||
KEY `idx_agent_session_modified` (`modified`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AgentScope 会话状态';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_hitl_pending` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`agent_id` BIGINT NULL COMMENT 'Agent ID',
|
||||
`chat_session_id` BIGINT NULL COMMENT '聊天会话ID',
|
||||
`runtime_session_id` VARCHAR(128) NULL COMMENT '运行时会话ID',
|
||||
`request_id` VARCHAR(64) NULL COMMENT '运行请求ID',
|
||||
`resume_token` VARCHAR(128) NOT NULL COMMENT '恢复令牌',
|
||||
`tool_call_id` VARCHAR(128) NULL COMMENT '工具调用ID',
|
||||
`tool_name` VARCHAR(128) NULL COMMENT '工具名称',
|
||||
`tool_input_json` JSON NULL COMMENT '工具入参',
|
||||
`status` VARCHAR(32) NOT NULL DEFAULT 'PENDING' COMMENT '状态',
|
||||
`reject_reason` VARCHAR(1024) NULL COMMENT '拒绝原因',
|
||||
`expires_at` DATETIME NULL COMMENT '过期时间',
|
||||
`consumed_at` DATETIME NULL COMMENT '消费时间',
|
||||
`metadata_json` JSON NULL COMMENT '元数据',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
`modified_by` BIGINT NULL COMMENT '修改人',
|
||||
`is_deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_agent_hitl_resume_token` (`resume_token`),
|
||||
KEY `idx_agent_hitl_session_status` (`chat_session_id`, `status`, `expires_at`),
|
||||
KEY `idx_agent_hitl_request` (`request_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent 工具审批挂起态';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tb_agent_run_event` (
|
||||
`id` BIGINT NOT NULL COMMENT 'ID',
|
||||
`tenant_id` BIGINT NULL COMMENT '租户ID',
|
||||
`agent_id` BIGINT NULL COMMENT 'Agent ID',
|
||||
`chat_session_id` BIGINT NULL COMMENT '聊天会话ID',
|
||||
`round_id` BIGINT NULL COMMENT '聊天轮次ID',
|
||||
`round_no` INT NULL COMMENT '聊天轮次序号',
|
||||
`variant_index` INT NOT NULL DEFAULT 1 COMMENT '答案版本序号',
|
||||
`request_id` VARCHAR(64) NULL COMMENT '运行请求ID',
|
||||
`event_id` VARCHAR(64) NULL COMMENT '运行事件ID',
|
||||
`event_type` VARCHAR(64) NOT NULL COMMENT '运行事件类型',
|
||||
`event_phase` VARCHAR(64) NULL COMMENT '运行事件阶段',
|
||||
`tool_call_id` VARCHAR(128) NULL COMMENT '工具调用ID',
|
||||
`payload_json` JSON NULL COMMENT '事件载荷',
|
||||
`metadata_json` JSON NULL COMMENT '事件元数据',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`created_by` BIGINT NULL COMMENT '创建人',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_agent_event_session_round` (`chat_session_id`, `round_id`, `created`, `id`),
|
||||
KEY `idx_agent_event_request` (`request_id`, `created`, `id`),
|
||||
KEY `idx_agent_event_type` (`event_type`, `created`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Agent 运行事件摘要';
|
||||
@@ -0,0 +1,14 @@
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO `tb_sys_menu` (
|
||||
`id`, `parent_id`, `menu_type`, `menu_title`, `menu_url`, `component`, `menu_icon`,
|
||||
`is_show`, `permission_tag`, `sort_no`, `status`, `created`, `created_by`, `modified`, `modified_by`, `remark`
|
||||
)
|
||||
VALUES
|
||||
(367300000000000002, 0, 0, '智能体聊天', '/ai/agent-chat', '/ai/agent-chat/index', 'lucide:message-square', 1, '', 3, 0, '2026-05-24 19:30:00', 1, '2026-05-24 19:30:00', 1, '管理端 Agent 正式聊天菜单'),
|
||||
(367300000000000022, 367300000000000002, 1, '会话查询', '', '', '', 0, '/api/v1/agent/session/query', 1, 0, '2026-05-24 19:30:00', 1, '2026-05-24 19:30:00', 1, 'Agent-会话查询');
|
||||
|
||||
INSERT INTO `tb_sys_role_menu` (`id`, `role_id`, `menu_id`)
|
||||
VALUES
|
||||
(367300000000000102, 1, 367300000000000002),
|
||||
(367300000000000122, 1, 367300000000000022);
|
||||
Reference in New Issue
Block a user