zhou zhou
20 小时以前 d5884d0974d17d96225a5d80e432de33a5ee6552
version/db/ai_feature.sql
@@ -113,6 +113,59 @@
  KEY `idx_sys_ai_chat_message_session_seq` (`session_id`,`seq_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI 对话消息';
CREATE TABLE IF NOT EXISTS `sys_ai_call_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `request_id` varchar(128) NOT NULL COMMENT '请求ID',
  `session_id` bigint(20) DEFAULT NULL COMMENT '会话ID',
  `prompt_code` varchar(128) DEFAULT NULL COMMENT 'Prompt编码',
  `prompt_name` varchar(255) DEFAULT NULL COMMENT 'Prompt名称',
  `model` varchar(255) DEFAULT NULL COMMENT '模型',
  `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
  `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
  `status` varchar(32) DEFAULT NULL COMMENT '状态',
  `error_category` varchar(64) DEFAULT NULL COMMENT '错误分类',
  `error_stage` varchar(64) DEFAULT NULL COMMENT '错误阶段',
  `error_message` varchar(1000) DEFAULT NULL COMMENT '错误信息',
  `configured_mcp_count` int(11) DEFAULT NULL COMMENT '配置MCP数量',
  `mounted_mcp_count` int(11) DEFAULT NULL COMMENT '挂载MCP数量',
  `mounted_mcp_names` varchar(1000) DEFAULT NULL COMMENT '挂载MCP名称',
  `tool_call_count` int(11) DEFAULT NULL COMMENT '工具调用总数',
  `tool_success_count` int(11) DEFAULT NULL COMMENT '工具成功数',
  `tool_failure_count` int(11) DEFAULT NULL COMMENT '工具失败数',
  `elapsed_ms` bigint(20) DEFAULT NULL COMMENT '总耗时',
  `first_token_latency_ms` bigint(20) DEFAULT NULL COMMENT '首包耗时',
  `prompt_tokens` int(11) DEFAULT NULL COMMENT 'Prompt Tokens',
  `completion_tokens` int(11) DEFAULT NULL COMMENT 'Completion Tokens',
  `total_tokens` int(11) DEFAULT NULL COMMENT 'Total Tokens',
  `deleted` int(11) DEFAULT '0' COMMENT '删除标记',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_sys_ai_call_log_tenant_create` (`tenant_id`,`create_time`),
  KEY `idx_sys_ai_call_log_request` (`request_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI 调用日志';
CREATE TABLE IF NOT EXISTS `sys_ai_mcp_call_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `call_log_id` bigint(20) NOT NULL COMMENT 'AI调用日志ID',
  `request_id` varchar(128) DEFAULT NULL COMMENT '请求ID',
  `session_id` bigint(20) DEFAULT NULL COMMENT '会话ID',
  `tool_call_id` varchar(128) DEFAULT NULL COMMENT '工具调用ID',
  `mount_name` varchar(255) DEFAULT NULL COMMENT '挂载名称',
  `tool_name` varchar(255) DEFAULT NULL COMMENT '工具名称',
  `status` varchar(32) DEFAULT NULL COMMENT '状态',
  `input_summary` text COMMENT '输入摘要',
  `output_summary` text COMMENT '输出摘要',
  `error_message` varchar(1000) DEFAULT NULL COMMENT '错误信息',
  `duration_ms` bigint(20) DEFAULT NULL COMMENT '耗时',
  `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
  `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_sys_ai_mcp_call_log_call` (`call_log_id`,`create_time`),
  KEY `idx_sys_ai_mcp_call_log_tenant` (`tenant_id`,`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI MCP 调用日志';
SET @ai_param_validate_status_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
@@ -394,7 +447,9 @@
(5312, 'Query AI MCP Mount', 5311, NULL, '1,5311', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiMcpMount:list', NULL, 0, NULL, 1, 1, 0, '2026-03-18 19:00:00', 2, '2026-03-18 19:00:00', 2, NULL),
(5313, 'Create AI MCP Mount', 5311, NULL, '1,5311', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiMcpMount:save', NULL, 1, NULL, 1, 1, 0, '2026-03-18 19:00:00', 2, '2026-03-18 19:00:00', 2, NULL),
(5314, 'Update AI MCP Mount', 5311, NULL, '1,5311', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiMcpMount:update', NULL, 2, NULL, 1, 1, 0, '2026-03-18 19:00:00', 2, '2026-03-18 19:00:00', 2, NULL),
(5315, 'Delete AI MCP Mount', 5311, NULL, '1,5311', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiMcpMount:remove', NULL, 3, NULL, 1, 1, 0, '2026-03-18 19:00:00', 2, '2026-03-18 19:00:00', 2, NULL)
(5315, 'Delete AI MCP Mount', 5311, NULL, '1,5311', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiMcpMount:remove', NULL, 3, NULL, 1, 1, 0, '2026-03-18 19:00:00', 2, '2026-03-18 19:00:00', 2, NULL),
(5316, 'menu.aiCallLog', 1, 'menu.system', '1', 'menu.system', '/system/aiCallLog', 'aiCallLog', NULL, NULL, 0, NULL, 'QueryStats', 14, NULL, 1, 1, 0, '2026-03-19 13:00:00', 2, '2026-03-19 13:00:00', 2, NULL),
(5317, 'Query AI Call Log', 5316, NULL, '1,5316', NULL, NULL, NULL, NULL, NULL, 1, 'system:aiCallLog:list', NULL, 0, NULL, 1, 1, 0, '2026-03-19 13:00:00', 2, '2026-03-19 13:00:00', 2, NULL)
ON DUPLICATE KEY UPDATE
`name` = VALUES(`name`),
`parent_id` = VALUES(`parent_id`),
@@ -428,7 +483,9 @@
(5312, 1, 5312),
(5313, 1, 5313),
(5314, 1, 5314),
(5315, 1, 5315)
(5315, 1, 5315),
(5316, 1, 5316),
(5317, 1, 5317)
ON DUPLICATE KEY UPDATE
`role_id` = VALUES(`role_id`),
`menu_id` = VALUES(`menu_id`);