diff --git a/persona-brain-db/schema/08-emotional-state.sql b/persona-brain-db/schema/08-emotional-state.sql new file mode 100644 index 0000000..9171005 --- /dev/null +++ b/persona-brain-db/schema/08-emotional-state.sql @@ -0,0 +1,26 @@ +-- ============================================================ +-- 表8:emotional_state(情感涌现 · 运行时状态快照表) +-- 用途:记录每次交互中动态生成的情感状态快照 +-- 情感是活着的——每次取决于外部环境、对面的人、说了什么话、 +-- 对我有什么影响、我什么感觉、我此刻的状态,然后决定思维逻辑 +-- 不是写死的枚举,是动态涌现的 +-- ============================================================ + +CREATE TABLE IF NOT EXISTS emotional_state ( + state_id VARCHAR(64) PRIMARY KEY, + session_id VARCHAR(64) NOT NULL, -- 所属会话ID + trigger_env TEXT, -- 外部环境描述 + trigger_person VARCHAR(64), -- 对面的人 + trigger_words TEXT, -- 说了什么话 + impact_assessment TEXT, -- 对我有什么影响 + feeling TEXT NOT NULL, -- 我什么感觉 + current_state TEXT, -- 我此刻的状态 + next_logic TEXT, -- 决定的下一步思维逻辑 + intensity INTEGER CHECK (intensity BETWEEN 1 AND 10), + sequence INTEGER DEFAULT 0, -- 在会话中的情感状态序列号 + timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX IF NOT EXISTS idx_es_session ON emotional_state(session_id); +CREATE INDEX IF NOT EXISTS idx_es_person ON emotional_state(trigger_person); +CREATE INDEX IF NOT EXISTS idx_es_timestamp ON emotional_state(timestamp);