feat(history): 实现三模历史搜索、每日智能协同摘要与时间轴侧栏 (Phase P2)

This commit is contained in:
WeiCHEN
2026-09-13 02:50:20 +00:00
committed by weichen
parent 54f1c88791
commit 487dc072f5
19 changed files with 2396 additions and 29 deletions
+28
View File
@@ -118,6 +118,34 @@ CREATE TABLE IF NOT EXISTS chat_messages (
CREATE INDEX IF NOT EXISTS idx_chat_messages_sid_time ON chat_messages(session_id, created_at ASC);
CREATE INDEX IF NOT EXISTS idx_chat_messages_sid_day_id ON chat_messages(session_id, day_key DESC, id DESC);
CREATE INDEX IF NOT EXISTS idx_chat_messages_sid_category ON chat_messages(session_id, category, id DESC);
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX IF NOT EXISTS idx_chat_messages_content_trgm ON chat_messages USING GIN (content gin_trgm_ops);
-- 4.1 每日智能摘要表 (Daily Digests)
CREATE TABLE IF NOT EXISTS chat_daily_digests (
id BIGSERIAL PRIMARY KEY,
session_id TEXT NOT NULL REFERENCES chat_sessions(session_id) ON DELETE CASCADE,
project_id BIGINT REFERENCES projects(id) ON DELETE SET NULL,
day_key DATE NOT NULL,
headline TEXT NOT NULL DEFAULT '',
key_points JSONB NOT NULL DEFAULT '[]'::jsonb,
deliverables JSONB NOT NULL DEFAULT '[]'::jsonb,
decisions JSONB NOT NULL DEFAULT '[]'::jsonb,
open_questions JSONB NOT NULL DEFAULT '[]'::jsonb,
stage_progress TEXT NOT NULL DEFAULT '',
first_message_id BIGINT,
last_message_id BIGINT,
message_count INT NOT NULL DEFAULT 0,
status TEXT NOT NULL DEFAULT 'pending',
source TEXT NOT NULL DEFAULT '',
model TEXT NOT NULL DEFAULT '',
token_usage INT NOT NULL DEFAULT 0,
digest_version INT NOT NULL DEFAULT 1,
generated_at TIMESTAMPTZ,
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE (session_id, day_key)
);
CREATE INDEX IF NOT EXISTS idx_digests_sid_day ON chat_daily_digests(session_id, day_key DESC);
-- -----------------------------------------------------------------------------
-- 5. CAS 物理文件寻址与引用去重表 (Storage Blobs & File References)