xiaoski 2f11aed44a feat(skills): add built-in skill packaging mechanism and about-picobot documentation
- Add build.rs: scan resources/skills/, compress each with tar+zstd, embed via include_bytes!
- Add src/skills/builtin.rs: runtime auto-install built-in skills to ~/.picobot/skills/
- Add about-picobot built-in skill: SKILL.md index + references/ (config, db-schema, architecture, faq, commands) + assets/config.example.json
- Update skill loading: reverse priority (agents < picobot < workspace), deduplicate by name
- Update skills prompt: re-query get_skill when user asks about installed skills
- Change max_tool_iterations default from 20 to 99
2026-05-15 12:00:18 +08:00

3.5 KiB
Raw 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 秒)

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 耗时(毫秒)