docs(agent): 补全会话与对话设计
This commit is contained in:
23
script/sql/agent_capability_binding.sql
Normal file
23
script/sql/agent_capability_binding.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- Agent 与 Workflow 能力绑定表。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS agent_capability_binding (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
owner_type VARCHAR(50) NOT NULL,
|
||||
owner_id BIGINT NOT NULL,
|
||||
capability_type VARCHAR(50) NOT NULL,
|
||||
capability_id BIGINT NOT NULL,
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
config_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
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_agent_capability_binding UNIQUE (owner_type, owner_id, capability_type, capability_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_capability_owner ON agent_capability_binding (owner_type, owner_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_capability_type ON agent_capability_binding (capability_type, capability_id);
|
||||
|
||||
COMMENT ON TABLE agent_capability_binding IS 'Agent能力绑定表';
|
||||
44
script/sql/agent_session.sql
Normal file
44
script/sql/agent_session.sql
Normal file
@@ -0,0 +1,44 @@
|
||||
-- Agent 会话与消息表。
|
||||
|
||||
CREATE TABLE IF NOT EXISTS agent_session (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
session_code VARCHAR(100) NOT NULL,
|
||||
agent_id BIGINT NOT NULL,
|
||||
workflow_run_id BIGINT,
|
||||
title VARCHAR(200),
|
||||
status VARCHAR(50) NOT NULL DEFAULT 'ACTIVE',
|
||||
metadata_json JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
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_agent_session_code UNIQUE (session_code),
|
||||
CONSTRAINT fk_agent_session_agent_id FOREIGN KEY (agent_id) REFERENCES agent_definition (id),
|
||||
CONSTRAINT fk_agent_session_run_id FOREIGN KEY (workflow_run_id) REFERENCES workflow_run (id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS agent_message (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
session_id BIGINT NOT NULL,
|
||||
role VARCHAR(50) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
citation_json JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
token_count INTEGER,
|
||||
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 fk_agent_message_session_id FOREIGN KEY (session_id) REFERENCES agent_session (id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_session_agent_id ON agent_session (agent_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_session_status ON agent_session (status);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_message_session_id ON agent_message (session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_message_role ON agent_message (role);
|
||||
|
||||
COMMENT ON TABLE agent_session IS 'Agent会话表';
|
||||
COMMENT ON TABLE agent_message IS 'Agent消息表';
|
||||
Reference in New Issue
Block a user