feat(audit): persist message source and token usage

This commit is contained in:
姚章浩
2026-07-15 13:41:41 +08:00
parent 4022040e98
commit 9645de64a1
15 changed files with 385 additions and 23 deletions
+12
View File
@@ -168,6 +168,14 @@ CREATE TABLE IF NOT EXISTS messages (
is_completed BOOLEAN NOT NULL DEFAULT 0,
is_fallback BOOLEAN NOT NULL DEFAULT 0,
channel VARCHAR(50) NOT NULL DEFAULT '',
source_platform VARCHAR(20) NOT NULL DEFAULT '',
source_channel_id VARCHAR(36) NOT NULL DEFAULT '',
source_message_id VARCHAR(128) NOT NULL DEFAULT '',
source_user_id VARCHAR(128) NOT NULL DEFAULT '',
source_chat_id VARCHAR(128) NOT NULL DEFAULT '',
source_thread_id VARCHAR(128) NOT NULL DEFAULT '',
searched_knowledge_base_ids TEXT NOT NULL DEFAULT '[]',
token_usage TEXT,
agent_duration_ms INTEGER DEFAULT 0,
knowledge_id VARCHAR(36),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
@@ -177,6 +185,10 @@ CREATE TABLE IF NOT EXISTS messages (
CREATE INDEX IF NOT EXISTS idx_messages_session_id ON messages(session_id);
CREATE INDEX IF NOT EXISTS idx_messages_knowledge_id ON messages(knowledge_id);
CREATE INDEX IF NOT EXISTS idx_messages_request_role ON messages(request_id, role);
CREATE INDEX IF NOT EXISTS idx_messages_source_channel ON messages(source_platform, source_channel_id);
CREATE INDEX IF NOT EXISTS idx_messages_source_message ON messages(source_platform, source_message_id);
CREATE INDEX IF NOT EXISTS idx_messages_source_user ON messages(source_platform, source_user_id);
CREATE TABLE IF NOT EXISTS chunks (
id VARCHAR(36) PRIMARY KEY,