docs(studio): 补全扩展能力与观测设计
This commit is contained in:
48
script/sql/mcp.sql
Normal file
48
script/sql/mcp.sql
Normal file
@@ -0,0 +1,48 @@
|
||||
-- MCP 服务与能力表。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS mcp_server (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
server_code VARCHAR(100) NOT NULL,
|
||||
server_name VARCHAR(200) NOT NULL,
|
||||
import_type VARCHAR(50) NOT NULL,
|
||||
endpoint_url VARCHAR(500),
|
||||
package_name VARCHAR(200),
|
||||
manifest_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
auth_type VARCHAR(50),
|
||||
secret_ref VARCHAR(200),
|
||||
health_status VARCHAR(50) NOT NULL DEFAULT 'UNKNOWN',
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
version INTEGER NOT NULL DEFAULT 1,
|
||||
create_time TIMESTAMP,
|
||||
update_time TIMESTAMP,
|
||||
remark VARCHAR(500) DEFAULT '',
|
||||
create_by VARCHAR(64),
|
||||
update_by VARCHAR(64),
|
||||
CONSTRAINT uk_mcp_server_code UNIQUE (server_code)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS mcp_capability (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
server_id BIGINT NOT NULL,
|
||||
capability_code VARCHAR(150) NOT NULL,
|
||||
capability_name VARCHAR(200) NOT NULL,
|
||||
capability_type VARCHAR(50) NOT NULL,
|
||||
schema_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
version INTEGER NOT NULL DEFAULT 1,
|
||||
create_time TIMESTAMP,
|
||||
update_time TIMESTAMP,
|
||||
remark VARCHAR(500) DEFAULT '',
|
||||
create_by VARCHAR(64),
|
||||
update_by VARCHAR(64),
|
||||
CONSTRAINT uk_mcp_capability_code UNIQUE (server_id, capability_code),
|
||||
CONSTRAINT fk_mcp_capability_server_id FOREIGN KEY (server_id) REFERENCES mcp_server (id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_mcp_server_import_type ON mcp_server (import_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_mcp_server_health_status ON mcp_server (health_status);
|
||||
CREATE INDEX IF NOT EXISTS idx_mcp_capability_server_id ON mcp_capability (server_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_mcp_capability_type ON mcp_capability (capability_type);
|
||||
|
||||
COMMENT ON TABLE mcp_server IS 'MCP服务表';
|
||||
COMMENT ON TABLE mcp_capability IS 'MCP能力表';
|
||||
46
script/sql/skill.sql
Normal file
46
script/sql/skill.sql
Normal file
@@ -0,0 +1,46 @@
|
||||
-- Skill 定义与版本表。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS skill_definition (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
skill_code VARCHAR(100) NOT NULL,
|
||||
skill_name VARCHAR(200) NOT NULL,
|
||||
skill_type VARCHAR(50) NOT NULL,
|
||||
description VARCHAR(1000),
|
||||
status VARCHAR(50) NOT NULL DEFAULT 'DRAFT',
|
||||
version INTEGER NOT NULL DEFAULT 1,
|
||||
create_time TIMESTAMP,
|
||||
update_time TIMESTAMP,
|
||||
remark VARCHAR(500) DEFAULT '',
|
||||
create_by VARCHAR(64),
|
||||
update_by VARCHAR(64),
|
||||
CONSTRAINT uk_skill_definition_code UNIQUE (skill_code)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS skill_version (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
skill_id BIGINT NOT NULL,
|
||||
version_no INTEGER NOT NULL,
|
||||
prompt_text TEXT,
|
||||
code_text TEXT,
|
||||
config_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
variable_schema_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
test_result_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
publish_status VARCHAR(50) NOT NULL DEFAULT 'DRAFT',
|
||||
published_time TIMESTAMP,
|
||||
version INTEGER NOT NULL DEFAULT 1,
|
||||
create_time TIMESTAMP,
|
||||
update_time TIMESTAMP,
|
||||
remark VARCHAR(500) DEFAULT '',
|
||||
create_by VARCHAR(64),
|
||||
update_by VARCHAR(64),
|
||||
CONSTRAINT uk_skill_version_no UNIQUE (skill_id, version_no),
|
||||
CONSTRAINT fk_skill_version_skill_id FOREIGN KEY (skill_id) REFERENCES skill_definition (id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_skill_definition_status ON skill_definition (status);
|
||||
CREATE INDEX IF NOT EXISTS idx_skill_definition_type ON skill_definition (skill_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_skill_version_skill_id ON skill_version (skill_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_skill_version_publish_status ON skill_version (publish_status);
|
||||
|
||||
COMMENT ON TABLE skill_definition IS 'Skill定义表';
|
||||
COMMENT ON TABLE skill_version IS 'Skill版本表';
|
||||
60
script/sql/studio_enum.sql
Normal file
60
script/sql/studio_enum.sql
Normal file
@@ -0,0 +1,60 @@
|
||||
-- Studio 相关枚举初始化。
|
||||
-- 保持 sys_enum 现有 catalog/type/name/value/strvalue/sort/remark 格式不变。
|
||||
|
||||
INSERT INTO sys_enum (catalog, type, name, value, strvalue, sort, version, remark)
|
||||
VALUES
|
||||
('studio', 'environment', '开发环境', 1, 'DEV', 1, 1, 'Studio环境'),
|
||||
('studio', 'environment', '测试环境', 2, 'TEST', 2, 1, 'Studio环境'),
|
||||
('studio', 'environment', '生产环境', 3, 'PROD', 3, 1, 'Studio环境'),
|
||||
('studio', 'publish_status', '草稿', 1, 'DRAFT', 1, 1, '发布状态'),
|
||||
('studio', 'publish_status', '已发布', 2, 'PUBLISHED', 2, 1, '发布状态'),
|
||||
('studio', 'publish_status', '已归档', 3, 'ARCHIVED', 3, 1, '发布状态'),
|
||||
('workflow', 'status', '草稿', 1, 'DRAFT', 1, 1, 'Workflow状态'),
|
||||
('workflow', 'status', '启用', 2, 'ENABLED', 2, 1, 'Workflow状态'),
|
||||
('workflow', 'status', '停用', 3, 'DISABLED', 3, 1, 'Workflow状态'),
|
||||
('workflow', 'run_status', '排队中', 1, 'QUEUED', 1, 1, 'Workflow运行状态'),
|
||||
('workflow', 'run_status', '运行中', 2, 'RUNNING', 2, 1, 'Workflow运行状态'),
|
||||
('workflow', 'run_status', '成功', 3, 'SUCCESS', 3, 1, 'Workflow运行状态'),
|
||||
('workflow', 'run_status', '失败', 4, 'FAILED', 4, 1, 'Workflow运行状态'),
|
||||
('workflow', 'run_status', '取消', 5, 'CANCELED', 5, 1, 'Workflow运行状态'),
|
||||
('workflow', 'node_type', '开始', 1, 'START', 1, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', '大模型', 2, 'LLM', 2, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', '知识检索', 3, 'KNOWLEDGE_RETRIEVAL', 3, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', 'MCP工具', 4, 'MCP_TOOL', 4, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', 'Skill', 5, 'SKILL', 5, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', '条件', 6, 'CONDITION', 6, 1, 'Workflow节点类型'),
|
||||
('workflow', 'node_type', '回答', 7, 'ANSWER', 7, 1, 'Workflow节点类型'),
|
||||
('agent', 'session_status', '活跃', 1, 'ACTIVE', 1, 1, 'Agent会话状态'),
|
||||
('agent', 'session_status', '已关闭', 2, 'CLOSED', 2, 1, 'Agent会话状态'),
|
||||
('agent', 'session_status', '异常终止', 3, 'FAILED', 3, 1, 'Agent会话状态'),
|
||||
('agent', 'message_role', '用户', 1, 'USER', 1, 1, 'Agent消息角色'),
|
||||
('agent', 'message_role', '助手', 2, 'ASSISTANT', 2, 1, 'Agent消息角色'),
|
||||
('agent', 'message_role', '系统', 3, 'SYSTEM', 3, 1, 'Agent消息角色'),
|
||||
('agent', 'message_role', '工具', 4, 'TOOL', 4, 1, 'Agent消息角色'),
|
||||
('mcp', 'import_type', 'URL导入', 1, 'URL', 1, 1, 'MCP导入方式'),
|
||||
('mcp', 'import_type', 'npm包导入', 2, 'NPM_PACKAGE', 2, 1, 'MCP导入方式'),
|
||||
('mcp', 'import_type', 'JSON声明导入', 3, 'JSON_MANIFEST', 3, 1, 'MCP导入方式'),
|
||||
('mcp', 'capability_type', '工具', 1, 'TOOL', 1, 1, 'MCP能力类型'),
|
||||
('mcp', 'capability_type', '资源', 2, 'RESOURCE', 2, 1, 'MCP能力类型'),
|
||||
('mcp', 'capability_type', '提示词', 3, 'PROMPT', 3, 1, 'MCP能力类型'),
|
||||
('mcp', 'health_status', '未知', 1, 'UNKNOWN', 1, 1, 'MCP健康状态'),
|
||||
('mcp', 'health_status', '健康', 2, 'HEALTHY', 2, 1, 'MCP健康状态'),
|
||||
('mcp', 'health_status', '异常', 3, 'UNHEALTHY', 3, 1, 'MCP健康状态'),
|
||||
('skill', 'skill_type', '提示词', 1, 'PROMPT', 1, 1, 'Skill类型'),
|
||||
('skill', 'skill_type', '代码', 2, 'CODE', 2, 1, 'Skill类型'),
|
||||
('skill', 'skill_type', '混合', 3, 'MIXED', 3, 1, 'Skill类型'),
|
||||
('skill', 'status', '草稿', 1, 'DRAFT', 1, 1, 'Skill状态'),
|
||||
('skill', 'status', '已发布', 2, 'PUBLISHED', 2, 1, 'Skill状态'),
|
||||
('skill', 'status', '已归档', 3, 'ARCHIVED', 3, 1, 'Skill状态'),
|
||||
('agent', 'capability_owner_type', 'Agent', 1, 'AGENT', 1, 1, '能力绑定主体类型'),
|
||||
('agent', 'capability_owner_type', 'Workflow', 2, 'WORKFLOW', 2, 1, '能力绑定主体类型'),
|
||||
('agent', 'capability_type', '知识库', 1, 'RAG_STORE', 1, 1, '能力绑定能力类型'),
|
||||
('agent', 'capability_type', 'MCP能力', 2, 'MCP_CAPABILITY', 2, 1, '能力绑定能力类型'),
|
||||
('agent', 'capability_type', 'Skill', 3, 'SKILL', 3, 1, '能力绑定能力类型')
|
||||
ON CONFLICT (catalog, type, name)
|
||||
DO UPDATE SET
|
||||
value = EXCLUDED.value,
|
||||
strvalue = EXCLUDED.strvalue,
|
||||
sort = EXCLUDED.sort,
|
||||
remark = EXCLUDED.remark,
|
||||
update_time = CURRENT_TIMESTAMP;
|
||||
Reference in New Issue
Block a user