4.4 KiB
Raw Permalink Blame History

PicoBot 数据库表结构

数据库为 SQLite默认位于 workspace 下的 picobot.db

sessions 表

会话表,一个 session 对应一个 (channel, chat_id, dialog_id) 组合。

字段 类型 说明
id TEXT PK session ID格式 <channel>:<chat_id>:<dialog_id>
channel TEXT 渠道名称
chat_id TEXT 聊天/群组标识
dialog_id TEXT 对话标识
title TEXT 会话标题(默认 "新对话"
created_at INTEGER 创建时间unix 秒)
last_active_at INTEGER 最后活跃时间
message_count INTEGER 消息计数
routing_info TEXT 路由信息
deleted_at INTEGER 软删除时间戳
last_consolidated_at INTEGER 上次记忆归并时间
last_compressed_message_at INTEGER 上次上下文压缩消息序号

messages 表

字段 类型 说明
id TEXT PK 消息 UUID
session_id TEXT FK 所属会话,外键关联 sessions(id)
seq INTEGER 消息序号
role TEXT 角色: user / assistant / tool / system
content TEXT 消息内容
media_refs TEXT 多媒体引用 JSON
tool_call_id TEXT 工具调用 ID
tool_name TEXT 工具名称
tool_calls TEXT 工具调用参数 JSON
source TEXT 消息来源(跨会话消息时标记来源 session_id
created_at INTEGER 创建时间unix 秒)
reasoning_content TEXT provider 返回的推理内容(如有)

background_tasks 表

delegate 后台子任务表。session_id 不使用数据库外键,因为 session 使用软删除,关联关系由应用层维护。

字段 类型 说明
id TEXT PK 后台任务 ID
session_id TEXT 所属会话
channel TEXT 回传渠道
chat_id TEXT 回传目标对话
prompt TEXT 子任务提示
allowed_tools TEXT 允许工具 JSON
status TEXT pending / running / completed / failed / cancelled
result TEXT 执行结果
error TEXT 错误信息
tool_calls_count INTEGER 工具调用次数
iterations INTEGER Agent 迭代次数
started_at INTEGER 开始时间
finished_at INTEGER 结束时间
created_at INTEGER 创建时间

memories 表

长期记忆存储。

字段 类型 说明
id TEXT PK 记忆 UUID
key TEXT UNIQUE 记忆唯一键
content TEXT 记忆内容
category TEXT 类别: knowledge / timeline
importance REAL 重要性权重 (0-1)
session_id TEXT 关联会话
created_at TEXT 创建时间
updated_at TEXT 更新时间

配套 FTS5 全文索引虚拟表 memory_fts(key, content),用于关键词搜索,通过触发器自动同步。

scheduled_jobs 表

字段 类型 说明
id TEXT PK 任务 UUID
name TEXT 任务名称
schedule TEXT 调度规则 JSONonce/every/cron
prompt TEXT 任务提示词
channel TEXT 执行渠道
chat_id TEXT 目标对话
model TEXT 使用的模型(可选)
enabled INTEGER 是否启用 (1/0)
delete_after_run INTEGER 执行后自动删除 (1/0)
next_run_at INTEGER 下次执行时间
last_run_at INTEGER 上次执行时间
last_status TEXT 上次执行状态
last_error TEXT 上次错误信息

job_runs 表

字段 类型 说明
id INTEGER PK 自增 ID
job_id TEXT FK 关联任务,外键关联 scheduled_jobs(id)
started_at INTEGER 开始时间
finished_at INTEGER 结束时间
status TEXT 执行状态
output TEXT 执行输出
error TEXT 错误信息
duration_ms INTEGER 耗时(毫秒)

llm_calls 表

记录所有 LLM API 调用的请求/响应详情,自动保留最近 1000 条。

字段 类型 说明
id INTEGER PK 自增 ID
created_at INTEGER 调用时间
provider TEXT 提供商类型
model TEXT 模型名称
request_body TEXT 请求体 JSON
response_body TEXT 响应体 JSON
error TEXT 错误信息
duration_ms INTEGER 耗时(毫秒)