115 lines
6.9 KiB
SQL
115 lines
6.9 KiB
SQL
-- pbl_agent_runtime 表 DDL(自动生成,与 apps/pbls/scripts/ddl/pbls_tables.sql 同源)
|
||
CREATE TABLE IF NOT EXISTS `pbl_agent_def` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`code` VARCHAR(64) NOT NULL COMMENT "Agent编码",
|
||
`agent_type` VARCHAR(64) NOT NULL COMMENT "类型",
|
||
`name` VARCHAR(128) NOT NULL COMMENT "名称",
|
||
`model_route` VARCHAR(64) NOT NULL COMMENT "pipeline-llm 路由",
|
||
`system_prompt_txt` TEXT NULL COMMENT "提示词",
|
||
`tool_whitelist_json` LONGTEXT NULL COMMENT "工具白名单",
|
||
`permission_mode` VARCHAR(64) NOT NULL COMMENT "read/write 模式",
|
||
`is_enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "启用",
|
||
`version_no` INT NOT NULL DEFAULT 0 COMMENT "版本",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_ad_code` (`tenant_id`, `code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Agent 定义(Designer/Critic)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_tool_registry` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`tool_key` VARCHAR(64) NOT NULL COMMENT "工具键",
|
||
`title` VARCHAR(128) NOT NULL COMMENT "标题",
|
||
`agent_scope` VARCHAR(64) NOT NULL COMMENT "作用域",
|
||
`permission_required` VARCHAR(64) NOT NULL COMMENT "所需权限",
|
||
`enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "启用",
|
||
`params_schema_json` LONGTEXT NULL COMMENT "参数白名单Schema",
|
||
`disabled_reason` VARCHAR(64) NOT NULL COMMENT "禁用原因",
|
||
`version_no` INT NOT NULL DEFAULT 0 COMMENT "版本",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_tr_key` (`tenant_id`, `tool_key`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="工具注册表(13 启用 / 9 禁用含 pbl.publish)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_agent_trace` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`trace_uid` VARCHAR(32) NOT NULL COMMENT "轨迹UID",
|
||
`agent_code` VARCHAR(64) NOT NULL COMMENT "Agent",
|
||
`blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "目标蓝图",
|
||
`input_ref_json` LONGTEXT NULL COMMENT "要素1 输入引用",
|
||
`thought_txt` TEXT NULL COMMENT "要素2 思考",
|
||
`action_code` VARCHAR(64) NOT NULL COMMENT "要素3 动作",
|
||
`action_params_json` LONGTEXT NULL COMMENT "要素4 动作参数",
|
||
`observation_json` LONGTEXT NULL COMMENT "要素5 观察",
|
||
`result_state` VARCHAR(64) NOT NULL COMMENT "要素6 结果状态",
|
||
`llm_calls` INT NOT NULL DEFAULT 0 COMMENT "要素7 LLM调用数",
|
||
`duration_ms` INT NOT NULL DEFAULT 0 COMMENT "耗时",
|
||
`created_by` VARCHAR(32) NOT NULL COMMENT "触发用户",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_at_uid` (`tenant_id`, `trace_uid`),
|
||
KEY `idx_at_tenant` (`tenant_id`, `created_at`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Agent 执行轨迹(第28章 7 要素)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_agent_tool_call` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`trace_id` BIGINT UNSIGNED NOT NULL COMMENT "轨迹ID",
|
||
`tool_key` VARCHAR(64) NOT NULL COMMENT "工具键",
|
||
`request_json` LONGTEXT NULL COMMENT "请求",
|
||
`response_json` LONGTEXT NULL COMMENT "响应",
|
||
`ok` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "成功",
|
||
`error_code` VARCHAR(64) NOT NULL COMMENT "错误码",
|
||
`adjudication_code` VARCHAR(64) NOT NULL COMMENT "裁决结论",
|
||
`duration_ms` INT NOT NULL DEFAULT 0 COMMENT "耗时",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_tc_trace` (`tenant_id`, `trace_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="工具调用明细(服务端裁决留痕)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_approval` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`approval_uid` VARCHAR(32) NOT NULL COMMENT "审批UID",
|
||
`approval_type` VARCHAR(64) NOT NULL COMMENT "类型",
|
||
`target_type` VARCHAR(64) NOT NULL COMMENT "对象类型",
|
||
`target_id` BIGINT UNSIGNED NOT NULL COMMENT "对象ID",
|
||
`payload_json` LONGTEXT NULL COMMENT "变更内容",
|
||
`status` VARCHAR(64) NOT NULL COMMENT "状态",
|
||
`requested_by` VARCHAR(32) NOT NULL COMMENT "发起人",
|
||
`decided_by` VARCHAR(32) NOT NULL COMMENT "决策人",
|
||
`decided_at` DATETIME NULL NULL COMMENT "决策时间",
|
||
`comment_txt` TEXT NULL COMMENT "意见",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_ap_uid` (`tenant_id`, `approval_uid`),
|
||
KEY `idx_ap_status` (`tenant_id`, `status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="人工审批单(14.2 四类,无绕过路径)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_llm_call_log` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`call_uid` VARCHAR(32) NOT NULL COMMENT "调用UID",
|
||
`agent_code` VARCHAR(64) NOT NULL COMMENT "Agent",
|
||
`route` VARCHAR(64) NOT NULL COMMENT "路由",
|
||
`model` VARCHAR(64) NOT NULL COMMENT "实际模型",
|
||
`prompt_hash` VARCHAR(32) NOT NULL COMMENT "提示词哈希",
|
||
`completion_tokens` INT NOT NULL DEFAULT 0 COMMENT "tokens",
|
||
`latency_ms` INT NOT NULL DEFAULT 0 COMMENT "时延",
|
||
`status` VARCHAR(64) NOT NULL COMMENT "状态",
|
||
`error_code` VARCHAR(64) NOT NULL COMMENT "错误码",
|
||
`fallback_used` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "走兜底",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_lc_uid` (`tenant_id`, `call_uid`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="LLM 调用日志(超时/重试/限流/兜底留痕)";
|
||
|