create_tables.sql 7.9 KB
-- ----------------------------
-- AI1 Provider
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_provider" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "name" varchar(50) NOT NULL,
    "base_url" varchar(200) NOT NULL,
    "api_key" varchar(200) DEFAULT NULL,
    "headers" varchar(2000) DEFAULT NULL,
    "status" tinyint NOT NULL DEFAULT 0,
    "remark" varchar(255) DEFAULT NULL,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 Provider 模型
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_model" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "provider_id" bigint NOT NULL,
    "name" varchar(50) NOT NULL,
    "model" varchar(100) NOT NULL,
    "type" tinyint NOT NULL DEFAULT 0,
    "status" tinyint NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 MCP 服务
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_mcp" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "name" varchar(100) NOT NULL,
    "transport" varchar(32) NOT NULL,
    "url" varchar(200) DEFAULT NULL,
    "headers" varchar(500) DEFAULT NULL,
    "config" text DEFAULT NULL,
    "status" tinyint NOT NULL DEFAULT 0,
    "remark" varchar(500) DEFAULT NULL,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 SKILL
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_skill" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "name" varchar(100) NOT NULL,
    "description" varchar(500) DEFAULT NULL,
    "version" varchar(20) NOT NULL DEFAULT '1.0',
    "status" tinyint NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 SKILL 内容文件
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_skill_file" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "skill_id" bigint NOT NULL,
    "parent_id" bigint NOT NULL DEFAULT 0,
    "name" varchar(200) NOT NULL,
    "type" tinyint NOT NULL DEFAULT 1,
    "file_type" varchar(20) DEFAULT NULL,
    "content" text DEFAULT NULL,
    "locked" tinyint NOT NULL DEFAULT 0,
    "sort" int NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 知识库
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_knowledge_base" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "name" varchar(100) NOT NULL,
    "description" varchar(500) DEFAULT NULL,
    "embedding_provider_id" bigint NOT NULL DEFAULT 0,
    "embedding_model_id" bigint NOT NULL DEFAULT 0,
    "chunk_size" int NOT NULL DEFAULT 500,
    "chunk_overlap" int NOT NULL DEFAULT 50,
    "top_k" int NOT NULL DEFAULT 5,
    "status" tinyint NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 知识文档
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_knowledge_document" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "knowledge_base_id" bigint NOT NULL,
    "name" varchar(255) NOT NULL,
    "content" text DEFAULT NULL,
    "chunk_count" int NOT NULL DEFAULT 0,
    "status" tinyint NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 Agent
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_agent" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "name" varchar(100) NOT NULL,
    "introduction" varchar(500) DEFAULT NULL,
    "provider_id" bigint NOT NULL DEFAULT 0,
    "model_id" bigint NOT NULL DEFAULT 0,
    "system_prompt" text DEFAULT NULL,
    "knowledge_base_ids" varchar(500) DEFAULT NULL,
    "mcp_ids" varchar(500) DEFAULT NULL,
    "skill_ids" varchar(500) DEFAULT NULL,
    "memory_enabled" bit NOT NULL DEFAULT FALSE,
    "status" tinyint NOT NULL DEFAULT 1,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 会话
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_session" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "agent_id" bigint NOT NULL,
    "user_id" bigint NOT NULL,
    "title" varchar(100) NOT NULL DEFAULT '新会话',
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 会话消息
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_session_message" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "session_id" bigint NOT NULL,
    "role" varchar(10) NOT NULL,
    "reasoning" mediumtext DEFAULT NULL,
    "content" mediumtext NOT NULL,
    "status" tinyint NOT NULL DEFAULT 1,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);

-- ----------------------------
-- AI1 长期记忆
-- ----------------------------
CREATE TABLE IF NOT EXISTS "ai1_memory" (
    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
    "agent_id" bigint NOT NULL,
    "user_id" bigint NOT NULL,
    "content" mediumtext NOT NULL,
    "last_message_id" bigint NOT NULL DEFAULT 0,
    "creator" varchar(64) DEFAULT '',
    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "updater" varchar(64) DEFAULT '',
    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    "deleted" bit NOT NULL DEFAULT FALSE,
    "tenant_id" bigint NOT NULL DEFAULT 0,
    PRIMARY KEY ("id")
);