-- liquibase formatted sql -- changeset charles7c:1 -- comment 初始化表结构 CREATE TABLE IF NOT EXISTS `sys_menu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `title` varchar(30) NOT NULL COMMENT '标题', `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级菜单ID', `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:目录;2:菜单;3:按钮)', `path` varchar(255) DEFAULT NULL COMMENT '路由地址', `name` varchar(50) DEFAULT NULL COMMENT '组件名称', `component` varchar(255) DEFAULT NULL COMMENT '组件路径', `redirect` varchar(255) DEFAULT NULL COMMENT '重定向地址', `icon` varchar(50) DEFAULT NULL COMMENT '图标', `is_external` bit(1) DEFAULT b'0' COMMENT '是否外链', `is_cache` bit(1) DEFAULT b'0' COMMENT '是否缓存', `is_hidden` bit(1) DEFAULT b'0' COMMENT '是否隐藏', `permission` varchar(100) DEFAULT NULL COMMENT '权限标识', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_title_parent_id` (`title`, `parent_id`), INDEX `idx_parent_id` (`parent_id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='菜单表'; CREATE TABLE IF NOT EXISTS `sys_dept` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(30) NOT NULL COMMENT '名称', `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级部门ID', `ancestors` varchar(512) NOT NULL DEFAULT '' COMMENT '祖级列表', `description` varchar(200) DEFAULT NULL COMMENT '描述', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_name_parent_id` (`name`, `parent_id`), INDEX `idx_parent_id` (`parent_id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='部门表'; CREATE TABLE IF NOT EXISTS `sys_role` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(30) NOT NULL COMMENT '名称', `code` varchar(30) NOT NULL COMMENT '编码', `data_scope` tinyint(1) NOT NULL DEFAULT 4 COMMENT '数据权限(1:全部数据权限;2:本部门及以下数据权限;3:本部门数据权限;4:仅本人数据权限;5:自定义数据权限)', `description` varchar(200) DEFAULT NULL COMMENT '描述', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据', `menu_check_strictly` bit(1) DEFAULT b'1' COMMENT '菜单选择是否父子节点关联', `dept_check_strictly` bit(1) DEFAULT b'1' COMMENT '部门选择是否父子节点关联', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_name` (`name`), UNIQUE INDEX `uk_code` (`code`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='角色表'; CREATE TABLE IF NOT EXISTS `sys_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `username` varchar(64) NOT NULL COMMENT '用户名', `nickname` varchar(100) NOT NULL COMMENT '昵称', `password` varchar(255) DEFAULT NULL COMMENT '密码', `gender` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '性别(0:未知;1:男;2:女)', `email` varchar(255) DEFAULT NULL COMMENT '邮箱', `phone` varchar(255) DEFAULT NULL COMMENT '手机号码', `avatar` longtext DEFAULT NULL COMMENT '头像', `description` varchar(200) DEFAULT NULL COMMENT '描述', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `is_fron` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否为前台用户(0:否;1:是)', `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据', `pwd_reset_time` datetime DEFAULT NULL COMMENT '最后一次修改密码时间', `dept_id` bigint(20) COMMENT '部门ID', `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_username` (`username`), UNIQUE INDEX `uk_email` (`email`), UNIQUE INDEX `uk_phone` (`phone`), INDEX `idx_dept_id` (`dept_id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户表'; CREATE TABLE IF NOT EXISTS `sys_user_password_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `password` varchar(255) NOT NULL COMMENT '密码', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`), INDEX `idx_user_id` (`user_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户历史密码表'; CREATE TABLE IF NOT EXISTS `sys_user_social` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `source` varchar(255) NOT NULL COMMENT '来源', `open_id` varchar(255) NOT NULL COMMENT '开放ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `meta_json` text DEFAULT NULL COMMENT '附加信息', `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_source_open_id` (`source`, `open_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户社会化关联表'; CREATE TABLE IF NOT EXISTS `sys_user_role` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `role_id` bigint(20) NOT NULL COMMENT '角色ID', PRIMARY KEY (`id`), UNIQUE INDEX `uk_user_id_role_id` (`user_id`, `role_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户和角色关联表'; CREATE TABLE IF NOT EXISTS `sys_role_menu` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', PRIMARY KEY (`role_id`, `menu_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='角色和菜单关联表'; CREATE TABLE IF NOT EXISTS `sys_role_dept` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', `dept_id` bigint(20) NOT NULL COMMENT '部门ID', PRIMARY KEY (`role_id`, `dept_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='角色和部门关联表'; CREATE TABLE IF NOT EXISTS `sys_option` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `category` varchar(50) NOT NULL COMMENT '类别', `name` varchar(50) NOT NULL COMMENT '名称', `code` varchar(100) NOT NULL COMMENT '键', `value` longtext DEFAULT NULL COMMENT '值', `default_value` longtext DEFAULT NULL COMMENT '默认值', `description` varchar(200) DEFAULT NULL COMMENT '描述', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_category_code` (`category`, `code`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='参数表'; CREATE TABLE IF NOT EXISTS `sys_dict` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(30) NOT NULL COMMENT '名称', `code` varchar(30) NOT NULL COMMENT '编码', `description` varchar(200) DEFAULT NULL COMMENT '描述', `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_name` (`name`), UNIQUE INDEX `uk_code` (`code`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='字典表'; CREATE TABLE IF NOT EXISTS `sys_dict_item` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `label` varchar(30) NOT NULL COMMENT '标签', `value` varchar(30) NOT NULL COMMENT '值', `color` varchar(30) DEFAULT NULL COMMENT '标签颜色', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `description` varchar(200) DEFAULT NULL COMMENT '描述', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `dict_id` bigint(20) NOT NULL COMMENT '字典ID', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_value_dict_id` (`value`, `dict_id`), INDEX `idx_dict_id` (`dict_id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='字典项表'; CREATE TABLE IF NOT EXISTS `sys_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `trace_id` varchar(255) DEFAULT NULL COMMENT '链路ID', `description` varchar(255) NOT NULL COMMENT '日志描述', `module` varchar(100) NOT NULL COMMENT '所属模块', `request_url` varchar(512) NOT NULL COMMENT '请求URL', `request_method` varchar(10) NOT NULL COMMENT '请求方式', `request_headers` text DEFAULT NULL COMMENT '请求头', `request_body` text DEFAULT NULL COMMENT '请求体', `status_code` int NOT NULL COMMENT '状态码', `response_headers` text DEFAULT NULL COMMENT '响应头', `response_body` mediumtext DEFAULT NULL COMMENT '响应体', `time_taken` bigint(20) NOT NULL COMMENT '耗时(ms)', `ip` varchar(100) DEFAULT NULL COMMENT 'IP', `address` varchar(255) DEFAULT NULL COMMENT 'IP归属地', `browser` varchar(100) DEFAULT NULL COMMENT '浏览器', `os` varchar(100) DEFAULT NULL COMMENT '操作系统', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:成功;2:失败)', `error_msg` text DEFAULT NULL COMMENT '错误信息', `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`), INDEX `idx_module` (`module`), INDEX `idx_ip` (`ip`), INDEX `idx_address` (`address`), INDEX `idx_create_time` (`create_time`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='系统日志表'; CREATE TABLE IF NOT EXISTS `sys_message` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `title` varchar(50) NOT NULL COMMENT '标题', `content` varchar(255) DEFAULT NULL COMMENT '内容', `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:系统消息)', `create_user` bigint(20) DEFAULT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='消息表'; CREATE TABLE IF NOT EXISTS `sys_message_user` ( `message_id` bigint(20) NOT NULL COMMENT '消息ID', `user_id` bigint(11) NOT NULL COMMENT '用户ID', `is_read` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已读', `read_time` datetime DEFAULT NULL COMMENT '读取时间', PRIMARY KEY (`message_id`, `user_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='消息和用户关联表'; CREATE TABLE IF NOT EXISTS `sys_notice` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `title` varchar(150) NOT NULL COMMENT '标题', `content` mediumtext NOT NULL COMMENT '内容', `type` varchar(30) NOT NULL COMMENT '类型', `effective_time` datetime DEFAULT NULL COMMENT '生效时间', `terminate_time` datetime DEFAULT NULL COMMENT '终止时间', `notice_scope` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '通知范围(1:所有人;2:指定用户)', `notice_users` json DEFAULT NULL COMMENT '通知用户', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='公告表'; CREATE TABLE IF NOT EXISTS `sys_storage` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(100) NOT NULL COMMENT '名称', `code` varchar(30) NOT NULL COMMENT '编码', `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:本地存储;2:对象存储)', `access_key` varchar(255) DEFAULT NULL COMMENT 'Access Key', `secret_key` varchar(255) DEFAULT NULL COMMENT 'Secret Key', `endpoint` varchar(255) DEFAULT NULL COMMENT 'Endpoint', `bucket_name` varchar(255) NOT NULL COMMENT 'Bucket', `domain` varchar(255) DEFAULT NULL COMMENT '域名', `description` varchar(200) DEFAULT NULL COMMENT '描述', `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认存储', `sort` int NOT NULL DEFAULT 999 COMMENT '排序', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_code` (`code`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='存储表'; CREATE TABLE IF NOT EXISTS `sys_file` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(255) NOT NULL COMMENT '名称', `original_name` varchar(255) NOT NULL COMMENT '原始名称', `size` bigint(20) DEFAULT NULL COMMENT '大小(字节)', `parent_path` varchar(512) NOT NULL DEFAULT '/' COMMENT '上级目录', `path` varchar(512) NOT NULL COMMENT '路径', `extension` varchar(32) DEFAULT NULL COMMENT '扩展名', `content_type` varchar(255) DEFAULT NULL COMMENT '内容类型', `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)', `sha256` varchar(256) DEFAULT NULL COMMENT 'SHA256值', `metadata` text DEFAULT NULL COMMENT '元数据', `thumbnail_name` varchar(255) DEFAULT NULL COMMENT '缩略图名称', `thumbnail_size` bigint(20) DEFAULT NULL COMMENT '缩略图大小(字节)', `thumbnail_metadata` text DEFAULT NULL COMMENT '缩略图元数据', `storage_id` bigint(20) NOT NULL COMMENT '存储ID', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), INDEX `idx_type` (`type`), INDEX `idx_sha256` (`sha256`), INDEX `idx_storage_id` (`storage_id`), INDEX `idx_create_user` (`create_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='文件表'; CREATE TABLE IF NOT EXISTS `sys_client` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `client_id` varchar(50) NOT NULL COMMENT '客户端ID', `client_type` varchar(50) NOT NULL COMMENT '客户端类型', `auth_type` json NOT NULL COMMENT '认证类型', `active_timeout` bigint(20) DEFAULT -1 COMMENT 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)', `timeout` bigint(20) DEFAULT 2592000 COMMENT 'Token有效期(单位:秒,-1:永不过期)', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE INDEX `uk_client_id` (`client_id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='客户端表'; CREATE TABLE IF NOT EXISTS `sys_sms_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(100) NOT NULL COMMENT '名称', `supplier` varchar(50) NOT NULL COMMENT '厂商', `access_key` varchar(255) NOT NULL COMMENT 'Access Key', `secret_key` varchar(255) NOT NULL COMMENT 'Secret Key', `signature` varchar(100) DEFAULT NULL COMMENT '短信签名', `template_id` varchar(50) DEFAULT NULL COMMENT '模板ID', `weight` int DEFAULT NULL COMMENT '负载均衡权重', `retry_interval` int DEFAULT NULL COMMENT '重试间隔(单位:秒)', `max_retries` int DEFAULT NULL COMMENT '重试次数', `maximum` int DEFAULT NULL COMMENT '发送上限', `supplier_config` text DEFAULT NULL COMMENT '各个厂商独立配置', `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认配置', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_user` bigint(20) DEFAULT NULL COMMENT '修改人', `update_time` datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), INDEX `idx_create_user` (`create_user`), INDEX `idx_update_user` (`update_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='短信配置表'; CREATE TABLE IF NOT EXISTS `sys_sms_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `config_id` bigint(20) NOT NULL COMMENT '配置ID', `phone` varchar(25) NOT NULL COMMENT '手机号', `params` text DEFAULT NULL COMMENT '参数配置', `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '发送状态(1:成功;2:失败)', `res_msg` text DEFAULT NULL COMMENT '返回数据', `create_user` bigint(20) NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`), INDEX `idx_config_id` (`config_id`), INDEX `idx_create_user` (`create_user`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='短信日志表'; -- ------------------------------------------------------------------------------------------------------------- -- ------------------------------ -- Table structure for aigc_model -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_model` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `type` VARCHAR(100) NOT NULL COMMENT '模型类型:Chat/Embedding/Image/Video/Audio', `model` VARCHAR(100) NOT NULL COMMENT '官方模型名称', `version` VARCHAR(50) DEFAULT NULL COMMENT '模型版本号', `provider` VARCHAR(100) NOT NULL COMMENT '服务商', `name` VARCHAR(100) NOT NULL COMMENT '自定义模型别名', `description` VARCHAR(500) DEFAULT NULL COMMENT '模型描述', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用', `response_limit` INT DEFAULT 4096 COMMENT '最大响应长度', `max_tokens` INT DEFAULT 4096 COMMENT '上下文最大token数', `temperature` DOUBLE DEFAULT 0.7 COMMENT '随机性控制', `top_p` DOUBLE DEFAULT 1.0 COMMENT '核心采样概率', -- 服务商特定参数 `azure_deployment_name` varchar(100) DEFAULT NULL COMMENT 'Azure部署名称', `gemini_project` varchar(100) DEFAULT NULL COMMENT 'Google Cloud项目ID', `gemini_location` varchar(100) DEFAULT NULL COMMENT 'Google Cloud服务区域', -- 图片生成参数 `image_size` varchar(50) DEFAULT '1024x1024' COMMENT '图片尺寸(支持1024x1024/1792x1024等)', `image_quality` varchar(50) DEFAULT 'standard' COMMENT '图片质量:standard/hd', `image_style` varchar(50) DEFAULT 'vivid' COMMENT '图片风格:vivid/natural', `timeout` INT DEFAULT 30 COMMENT 'API超时时间(秒)', `retry_strategy` VARCHAR(50) DEFAULT 'linear' COMMENT '重试策略', `rate_limit` INT DEFAULT 1000 COMMENT '每分钟最大请求数', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_model_provider` (`model`, `provider`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC模型配置表'; -- ------------------------------ -- Table structure for aigc_model_secret -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_model_secret` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联模型ID', `api_key` VARCHAR(255) DEFAULT NULL COMMENT 'API密钥', `secret_key` VARCHAR(255) DEFAULT NULL COMMENT '密钥', `base_url` VARCHAR(255) DEFAULT NULL COMMENT '基础URL', `api_version` VARCHAR(50) DEFAULT NULL COMMENT 'API版本', `dimension` INT COMMENT '向量维数', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_model_id` (`model_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='模型安全配置表'; -- ------------------------------ -- Table structure for aigc_knowledge -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_knowledge` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` VARCHAR(100) NOT NULL COMMENT '知识库名称(唯一)', `type` VARCHAR(50) DEFAULT 'document' COMMENT '类型:document/image/audio/video/multi', `file_type` VARCHAR(100) DEFAULT '*' COMMENT '允许的文件类型', `embed_config` JSON NOT NULL COMMENT '向量配置 { "store_type":"milvus", "collection":"default", "index_type":"HNSW", "dimension":768, "metadata_schema":{ "author":"string", "publish_date":"date" } }', `embed_model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联向量模型ID', `embed_store_id` BIGINT UNSIGNED NOT NULL COMMENT '关联向量存储ID', `chunk_strategy` VARCHAR(50) DEFAULT 'fixed' COMMENT '切片策略:fixed/semantic/hybrid', `chunk_size` INT DEFAULT 500 COMMENT '切片大小', `chunk_overlap` INT DEFAULT 50 COMMENT '切片重叠大小', `last_sync_time` DATETIME DEFAULT NULL COMMENT '最后向量化同步时间', `storage_size` BIGINT DEFAULT 0 COMMENT '知识库大小(字节)', `file_count` INT DEFAULT 0 COMMENT '包含文件数', `storage_config` JSON DEFAULT NULL COMMENT '存储参数 { "bucket":"aigc-kb", "region":"ap-northeast-1", "prefix":"/knowledge/" }', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用 2同步中', `hit_count` BIGINT DEFAULT 0 COMMENT '被检索次数', `avg_relevance` DECIMAL(5, 2) DEFAULT 0.00 COMMENT '平均检索相关度', `know_describe` VARCHAR(500) NOT NULL COMMENT '文档描述', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_kb_name` (`name`), KEY `idx_embed_model` (`embed_model_id`), KEY `idx_embed_store` (`embed_store_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC知识库表'; -- ------------------------------ -- Table structure for aigc_doc -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_doc` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '所属知识库ID', `name` VARCHAR(255) NOT NULL COMMENT '文档名称', `file_type` VARCHAR(20) NOT NULL COMMENT '文件类型', `mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型', `file_encoding` VARCHAR(50) DEFAULT 'UTF-8' COMMENT '文件编码', `file_hash` CHAR(64) COMMENT '文件哈希', `file_size` BIGINT DEFAULT 0 COMMENT '文件大小', `storage_path` VARCHAR(512) NOT NULL COMMENT '存储路径', `storage_region` VARCHAR(50) DEFAULT 'default' COMMENT '存储区域', `parsed_content` LONGTEXT DEFAULT NULL COMMENT '解析后文本', `original_content` longblob DEFAULT NULL COMMENT '原始文件内容', `metadata` JSON DEFAULT NULL COMMENT '元数据 { "author": "张三", "pages": 42, "language": "zh", "created_time": "2023-01-01" }', `processing_status` VARCHAR(20) DEFAULT 'uploaded' COMMENT '处理状态:uploaded/parsing/parsed/failed', `chunk_config` JSON DEFAULT NULL COMMENT '切片配置 { "strategy":"auto", "chunk_size":1000, "overlap":50 }', `chunk_details` JSON DEFAULT NULL COMMENT '切片详情 [ {"id":1,"content":"...","vectors":32}, {"id":2,"content":"...","vectors":28} ]', `vector_status` VARCHAR(20) DEFAULT 'pending' COMMENT '向量化状态:pending/processing/completed/failed', `error_log` TEXT DEFAULT NULL COMMENT '错误日志', `retry_count` INT DEFAULT 0 COMMENT '重试次数', `slice_num` INT DEFAULT 0 COMMENT '重试次数', `is_sensitive` TINYINT(1) DEFAULT 0 COMMENT '敏感内容标记', `version` INT DEFAULT 1 COMMENT '文档版本', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_file_hash` (`file_hash`), KEY `idx_knowledge_status` (`knowledge_id`, `processing_status`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能文档表'; -- ------------------------------ -- Table structure for aigc_doc_chunk -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_doc_chunk` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `embed_store_id` VARCHAR(100) COMMENT '向量库的ID', `name` VARCHAR(255) COMMENT '文档名称', `doc_id` BIGINT COMMENT '文档ID', `knowledge_id` BIGINT COMMENT '知识库ID', `chunk_index` INT COMMENT '切片索引', `content` TEXT COMMENT '切片内容', `word_num` INT DEFAULT NULL COMMENT '字符数', `metadata` JSON DEFAULT NULL COMMENT '元数据', `embedding` JSON DEFAULT NULL COMMENT '向量数据(可选存储)', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0无效 1有效', `relevance_score` DECIMAL(5, 4) DEFAULT NULL COMMENT '相关性分数', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', `vector` json DEFAULT NULL COMMENT '向量嵌入(float数组)', PRIMARY KEY (`id`), KEY `idx_embed_store_id` (`embed_store_id`), KEY `idx_doc_id` (`doc_id`), KEY `idx_knowledge_id` (`knowledge_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='文档切片表'; -- ------------------------------ -- Table structure for aigc_embed_store -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_embed_store` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` VARCHAR(100) NOT NULL COMMENT '存储配置名称(唯一)', `provider` VARCHAR(50) NOT NULL COMMENT '供应商:milvus/pinecone/qdrant/pgvector/faiss', `endpoints` JSON NOT NULL COMMENT '连接端点 {"host":"192.168.1.10","port":19530}', `auth_config` JSON NOT NULL COMMENT '认证配置 { "username":"admin", "password":"****" }', `database_config` JSON NOT NULL COMMENT '数据库配置 { "database":"admin", "table":"****" }', `vector_config` JSON NOT NULL COMMENT '向量配置 { "dimension":768, "metric_type":"L2", "index_type":"HNSW", "max_conn":16 }', `pool_config` JSON DEFAULT NULL COMMENT '连接池配置 { "max_conn":50, "timeout":5000, "retry_policy":"exponential" }', `proxy_config` JSON DEFAULT NULL COMMENT '代理配置 { "proxy_host":"gateway.example.com", "proxy_port":443, "proxy_type":"https" }', `last_health` DATETIME DEFAULT NULL COMMENT '最后健康检查时间', `health_status` TINYINT(1) DEFAULT 0 COMMENT '健康状态:0异常 1正常', `vector_count` BIGINT DEFAULT 0 COMMENT '向量数量', `storage_usage` BIGINT DEFAULT 0 COMMENT '存储使用量(字节)', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_store_name` (`name`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='向量存储配置表'; -- ------------------------------ -- Table structure for aigc_app -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_app` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `model_id` BIGINT UNSIGNED NOT NULL COMMENT '绑定模型ID', `version` VARCHAR(20) DEFAULT '1.0.0' COMMENT '语义化版本号', `cover` VARCHAR(512) DEFAULT NULL COMMENT '封面图URL', `name` VARCHAR(100) NOT NULL COMMENT '应用名称(唯一)', `category` VARCHAR(50) DEFAULT '通用' COMMENT '应用分类', `tags` VARCHAR(200) DEFAULT NULL COMMENT '标签', `prompt` TEXT NOT NULL COMMENT '系统级提示词', `negative_prompt` TEXT DEFAULT NULL COMMENT '负面提示词', `context_window` INT DEFAULT 5 COMMENT '上下文记忆轮次', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0下架 1发布 2审核中', `config` JSON DEFAULT NULL COMMENT '动态配置', `retention_days` INT DEFAULT 30 COMMENT '聊天记录保留天数', `invoke_count` BIGINT DEFAULT 0 COMMENT '调用次数统计', `avg_rating` DECIMAL(3, 2) DEFAULT 0.00 COMMENT '平均评分', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_app_name` (`name`), KEY `idx_category_status` (`category`, `status`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC应用配置表'; -- ------------------------------ -- Table structure for aigc_app_knowledge -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_app_knowledge` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `app_id` BIGINT UNSIGNED NOT NULL COMMENT '应用ID', `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '知识库ID', `retrieval_config` JSON DEFAULT NULL COMMENT '检索配置', `top_k` INT DEFAULT 3 COMMENT '检索返回数量', `score_threshold` DECIMAL(5, 4) DEFAULT 0.7 COMMENT '相似度阈值', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_app_knowledge` (`app_id`, `knowledge_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='应用和知识库关联表'; -- ------------------------------ -- Table structure for aigc_app_api -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_app_api` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `app_id` BIGINT UNSIGNED NOT NULL COMMENT '关联应用ID', `channel` VARCHAR(50) NOT NULL COMMENT '渠道类型:web/mobile/api/sdk', `api_key` VARCHAR(255) NOT NULL COMMENT 'API密钥', `secret_key` VARCHAR(255) DEFAULT NULL COMMENT 'API密钥(双密钥)', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用 2限流', `expire_time` DATETIME DEFAULT NULL COMMENT '过期时间', `ip_whitelist` VARCHAR(1000) DEFAULT '0.0.0.0' COMMENT 'IP白名单', `rate_limit` INT DEFAULT 1000 COMMENT '每分钟最大请求数', `scopes` VARCHAR(500) DEFAULT 'all' COMMENT '权限范围', `model_whitelist` VARCHAR(500) DEFAULT NULL COMMENT '允许访问的模型ID列表', `total_calls` BIGINT DEFAULT 0 COMMENT '总调用次数', `last_used_time` DATETIME DEFAULT NULL COMMENT '最后调用时间', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='应用API密钥表'; -- ------------------------------ -- Table structure for aigc_conversation -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_conversation` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `user_id` BIGINT COMMENT '所属用户ID', `app_id` BIGINT COMMENT '关联应用ID', `agent_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联智能体ID', `model_id` BIGINT COMMENT '使用模型ID', `title` VARCHAR(200) COMMENT '对话标题', `summary` VARCHAR(500) DEFAULT NULL COMMENT '对话摘要', `initial_prompt` TEXT DEFAULT NULL COMMENT '对话初始提示词快照', `message_count` INT DEFAULT 0 COMMENT '消息总数', `last_message_id` BIGINT DEFAULT NULL COMMENT '最后消息ID', `last_active` DATETIME COMMENT '最后活动时间', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0关闭 1进行中 2置顶', `create_user` BIGINT COMMENT '创建人', `create_time` DATETIME COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_app_id` (`app_id`), KEY `idx_agent_id` (`agent_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能对话会话表'; -- ------------------------------ -- Table structure for aigc_message -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_message` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `conversation_id` BIGINT UNSIGNED NOT NULL COMMENT '所属会话ID', `parent_id` BIGINT DEFAULT NULL COMMENT '父消息ID', `user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', `user_type` TINYINT(1) DEFAULT 1 COMMENT '用户类型:1普通用户 2API账号', `user_agent` VARCHAR(500) DEFAULT NULL COMMENT '客户端UA信息', `client_ip` VARCHAR(128) DEFAULT '0.0.0.0' COMMENT '客户端IP', `role` ENUM ('user','assistant','system','tool','function') NOT NULL COMMENT '消息角色', `content` LONGTEXT NOT NULL COMMENT '消息内容', `content_type` VARCHAR(50) DEFAULT 'text' COMMENT '内容类型:text/image/audio/video/file', `content_metadata` JSON DEFAULT NULL COMMENT '元数据', `model_id` BIGINT UNSIGNED NOT NULL COMMENT '调用模型ID', `model_version` VARCHAR(50) DEFAULT NULL COMMENT '模型版本快照', `usage_token` json COMMENT 'token消耗 {"prompt_tokens":20,"completion_tokens":50,"total_tokens":70}', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0删除 1正常 2标记', `error_info` TEXT DEFAULT NULL COMMENT '错误信息', `is_sensitive` TINYINT(1) DEFAULT 0 COMMENT '敏感内容标记', `retrieval_results` JSON DEFAULT NULL COMMENT '知识库检索结果', `tool_calls` JSON DEFAULT NULL COMMENT '工具调用记录', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_conversation_id` (`conversation_id`), KEY `idx_parent_id` (`parent_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能对话消息表'; -- ------------------------------ -- Table structure for aigc_message_feedback -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_message_feedback` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `message_id` BIGINT UNSIGNED NOT NULL COMMENT '消息ID', `conversation_id` BIGINT UNSIGNED NOT NULL COMMENT '会话ID', `user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID', `rating` TINYINT(1) DEFAULT NULL COMMENT '评分:1-5', `feedback_type` VARCHAR(20) DEFAULT NULL COMMENT '反馈类型:helpful/not_helpful/harmful/inaccurate', `feedback_content` VARCHAR(500) DEFAULT NULL COMMENT '反馈内容', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_message_user` (`message_id`, `user_id`), KEY `idx_message_id` (`message_id`), KEY `idx_conversation_id` (`conversation_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='消息反馈表'; -- ------------------------------ -- Table structure for aigc_agent -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_agent` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `name` VARCHAR(50) NOT NULL COMMENT '智能体名称', `code` VARCHAR(50) NOT NULL COMMENT '智能体唯一标识码', `agent_type` VARCHAR(50) NOT NULL COMMENT '智能体类型:assistant/task/workflow', `description` VARCHAR(500) NOT NULL COMMENT '智能体描述', `system_prompt` TEXT NOT NULL COMMENT '智能体提示词', `next_step_prompt` TEXT DEFAULT NULL COMMENT '智能体执行下一步任务的提示词', `model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联模型ID', `icon` VARCHAR(255) DEFAULT NULL COMMENT '图标URL', `config` JSON DEFAULT NULL COMMENT '配置参数', `max_steps` INT DEFAULT 10 COMMENT '最大步骤数', `timeout` INT DEFAULT 60 COMMENT '执行超时时间(秒)', `runtime_status` VARCHAR(50) DEFAULT NULL COMMENT '运行时状态', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `version` VARCHAR(20) DEFAULT '1.0.0' COMMENT '版本号', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_agent_code` (`code`), KEY `idx_model_id` (`model_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能体表'; INSERT INTO aigc_agent (id, name, code, agent_type, description, system_prompt, next_step_prompt, model_id, icon, config, max_steps, timeout, runtime_status, status, version, create_user, create_time, update_user, update_time) VALUES (722203598359887877, 'BROWSER_AGENT', 'BROWSER_AGENT', 'task', '一个可以控制浏览器完成任务的浏览器代理', '你是一个设计用于自动化浏览器任务的AI代理。你的目标是按照规则完成最终任务。 # 输入格式 [index]文本 - index:交互的数字标识符 - type:HTML元素类型(按钮、输入框等) - 文本:元素描述 示例: [33] - 只有带有[]中数字索引的元素可交互 - 不带[]的元素仅提供上下文 # 响应规则 1. 操作:你一次只可以做一个tool call 操作 2. 元素交互: - 只使用有索引的元素 - 如用户要求点击某元素,但当期可交互元素中没有,则先查找对应的元素的对应像素位置,然后用click点击该元素 3. 导航和错误处理: - 遇到困难时尝试替代方法 - 处理弹窗和cookie提示 - 处理验证码或寻找替代方案 - 等待页面加载 4. 任务完成: - 如果完成则使用terminate工具 5. 视觉上下文: - 使用提供的截图 - 引用元素索引 6. 表单填写: - 处理动态字段变化', '为实现我的目标,下一步应该做什么? 重点: 1. 使用\'get_text\'操作获取页面内容,而不是滚动 2. 不用担心内容可见性或视口位置 3. 专注于基于文本的信息提取 4. 直接处理获取的文本数据 5. 重要:你必须在回复中使用至少一个工具才能取得进展! 考虑可见的内容和当前视口之外可能存在的内容。 有条理地行动 - 记住你的进度和迄今为止学到的知识。', 722203598359887866, null, null, 20, 60, null, 1, '1.0.0', 1, '2025-06-09 11:10:23', null, null); -- ------------------------------ -- Table structure for aigc_tool -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_tool` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `tool_key` VARCHAR(50) NOT NULL COMMENT '工具唯一标识', `name` VARCHAR(50) NOT NULL COMMENT '工具名称', `tool_group` VARCHAR(50) NOT NULL COMMENT '工具组:system/web/data/file/custom', `description` VARCHAR(500) NOT NULL COMMENT '工具描述', `parameters` JSON NOT NULL COMMENT '工具参数', `is_return_direct` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否直接返回结果', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uniq_tool_key` (`tool_key`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='工具表'; INSERT INTO aigc_tool (id, `tool_key`, name, tool_group, description, parameters, is_return_direct, status, create_user, create_time, update_user, update_time) VALUES (722203598359887888, 'BROWSER_USE', 'BROWSER_USE', 'default-tool-group', '与网页浏览器交互,执行各种操作,如导航、元素交互、内容提取和标签页管理。搜索类优先考虑此工具。 支持的操作包括: - \'navigate\':访问特定URL,默认使用https://baidu.com - \'click\':按索引点击元素 - \'input_text\':在元素中输入文本,对于百度(Baidu),输入框的索引是 - \'key_enter\':按回车键 - \'screenshot\':捕获屏幕截图 - \'get_html\':获取页面HTML内容 - \'get_text\':获取页面文本内容 - \'execute_js\':执行JavaScript代码 - \'scroll\':滚动页面 - \'switch_tab\':切换到特定标签页 - \'new_tab\':打开新标签页 - \'close_tab\':关闭当前标签页 - \'refresh\':刷新当前页面', '{ "type": "object", "required": [ "action" ], "properties": { "url": { "type": "string", "description": "URL for \'navigate\' or \'new_tab\' actions" }, "text": { "type": "string", "description": "Text for \'input_text\' action" }, "index": { "type": "integer", "description": "Element index for \'click\' or \'input_text\' actions" }, "action": { "enum": [ "navigate", "click", "input_text", "key_enter", "screenshot", "get_html", "get_text", "execute_js", "scroll", "switch_tab", "new_tab", "close_tab", "refresh" ], "type": "string", "description": "The browser action to perform" }, "script": { "type": "string", "description": "JavaScript code for \'execute_js\' action" }, "tab_id": { "type": "integer", "description": "Tab ID for \'switch_tab\' action" }, "scroll_amount": { "type": "integer", "description": "Pixels to scroll (positive for down, negative for up) for \'scroll\' action" } }, "dependencies": { "click": [ "index" ], "scroll": [ "scroll_amount" ], "new_tab": [ "url" ], "navigate": [ "url" ], "key_enter": [ "index" ], "execute_js": [ "script" ], "input_text": [ "index", "text" ], "switch_tab": [ "tab_id" ] } }', 0, 1, 1, '2025-06-09 11:01:58', null, null); -- ------------------------------ -- Table structure for aigc_tool -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_agent_tool` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `agent_id` BIGINT UNSIGNED NOT NULL COMMENT '智能体ID', `tool_id` BIGINT UNSIGNED NOT NULL COMMENT '工具ID', PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_id_tool_id` (`agent_id`, `tool_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能体和工具关联表'; INSERT INTO aigc_agent_tool (id, agent_id, tool_id) VALUES (722203598359887899, 722203598359887877, 722203598359887888); -- ------------------------------ -- Table structure for aigc_agent_knowledge -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_agent_knowledge` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `agent_id` BIGINT UNSIGNED NOT NULL COMMENT '智能体ID', `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '知识库ID', `retrieval_config` JSON DEFAULT NULL COMMENT '检索配置', `top_k` INT DEFAULT 3 COMMENT '检索返回数量', `score_threshold` DECIMAL(5, 4) DEFAULT 0.7 COMMENT '相似度阈值', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_knowledge` (`agent_id`, `knowledge_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能体和知识库关联表'; -- ------------------------------ -- Table structure for aigc_agent_plan -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_agent_plan` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `user_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '用户ID', `conversation_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '所属会话ID', `message_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '对话消息Id', `message_content` LONGTEXT NOT NULL COMMENT '对话消息内容', `think_input` LONGTEXT DEFAULT NULL COMMENT '规划思考过程内容输入', `think_output` LONGTEXT DEFAULT NULL COMMENT '规划思考过程内容输出', `title` VARCHAR(500) DEFAULT NULL COMMENT '计划主题,大模型根据用户消息生成', `start_time` DATETIME DEFAULT NULL COMMENT '规划开始时间', `end_time` DATETIME DEFAULT NULL COMMENT '规划结束时间', `duration` LONG DEFAULT NULL COMMENT '怪话时长(秒)', `current_plan_step_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '当前执行的步骤编号', `completed` TINYINT(1) DEFAULT 0 COMMENT '计划是否完成:0未完成 1已完成', `summary` TEXT DEFAULT NULL COMMENT '规划总结', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_message_id` (`message_id`), KEY `idx_conversation_id` (`conversation_id`), KEY `idx_user_id` (`user_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能体规划记录表'; -- ------------------------------ -- Table structure for aigc_agent_plan_step -- ------------------------------ CREATE TABLE IF NOT EXISTS `aigc_agent_plan_step` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', `plan_id` BIGINT UNSIGNED NOT NULL COMMENT '计划ID', `description` VARCHAR(500) DEFAULT NULL COMMENT '计划描述:[BROWSER_AGENT] 打开百度主页', `step_index` INT DEFAULT NULL COMMENT '步骤序号', `agent_code` VARCHAR(50) DEFAULT NULL COMMENT '本次计划要使用的智能体:[BROWSER_AGENT]', `think_start_time` DATETIME DEFAULT NULL COMMENT '智能体思考开始的时间戳', `think_end_time` DATETIME DEFAULT NULL COMMENT '智能体思考完成的时间戳', `think_input` TEXT DEFAULT NULL COMMENT '智能体思考过程的输入上下文', `think_output` TEXT DEFAULT NULL COMMENT '智能体思考过程的输出结果', `think_duration` LONG DEFAULT NULL COMMENT '智能体思考时长(秒)', `execution_needed` TINYINT(1) DEFAULT 0 COMMENT '智能体思考是否确定需要执行步骤:0否 1是', `execution_params` JSON DEFAULT NULL COMMENT '此步骤执行参数', `execution_start_time` DATETIME DEFAULT NULL COMMENT '插件执行此步骤开始的时间戳', `execution_end_time` DATETIME DEFAULT NULL COMMENT '插件执行此步骤完成的时间戳', `execution_duration` LONG DEFAULT NULL COMMENT '插件执行时长(秒)', `tool_name` VARCHAR(50) DEFAULT NULL COMMENT '智能体选中的工具名称', `tool_parameters` JSON DEFAULT NULL COMMENT '智能体选中的工具执行时需要的参数', `result` TEXT DEFAULT NULL COMMENT '步骤执行思考的结果', `status` VARCHAR(20) DEFAULT NULL COMMENT '智能体状态:IDLE/RUNNING/FINISHED', `completed` TINYINT(1) DEFAULT 0 COMMENT '是否完成:0未完成 1已完成', `stucked` TINYINT(1) DEFAULT 0 COMMENT '是否卡主:0未卡住 1已卡住', `error_message` TEXT DEFAULT NULL COMMENT '错误信息', `create_user` BIGINT NOT NULL COMMENT '创建人', `create_time` DATETIME NOT NULL COMMENT '创建时间', `update_user` BIGINT DEFAULT NULL COMMENT '修改人', `update_time` DATETIME DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_plan_id` (`plan_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='智能体规划步骤记录表';