跳到主要内容

能力与集成表

能力目录域 7 张表:管理员目录(skills/prompts/mcp_servers/image_styles)+ 用户私有副本(user_skills/user_prompts/user_mcp_servers)。沙箱会话状态不在数据库里——sidecar 内存 + /workspace 按 conversation id 归档到对象存储(见沙箱概览)(记法约定见总览)。

skills — 管理员技能目录

Agent Skill = 指令 + 资源包。共 10 列。

列名类型可空默认值说明
idTEXT否(PK)sk_ + 12 位十六进制
nameTEXT技能名;lower(trim(name)) 唯一(重名在迁移中合并 dedupeSkillNames
descriptionTEXT模型可见的触发元数据(决定何时启用该技能)
display_descriptionTEXT''仅目录展示的文案,与触发元数据分离
iconTEXT''图标
instructionsTEXT技能正文(注入模型上下文)
assetsTEXT(JSON)'[]'可打包资源清单(管理员专属——用户副本没有这列,见下)
enabledINTEGER1是否上架
sort_orderINTEGER0排序
updated_atINTEGER → BIGINTnow()更新时间
  • 入向model_skills.skill_id(CASCADE)、user_skills.source_skill_id(SET NULL)。

prompts — 管理员提示词模板

共 8 列。

列名类型可空默认值说明
idTEXT否(PK)pt_ + 12 位十六进制
nameTEXT名字;lower(trim(name)) 唯一
descriptionTEXT''描述
iconTEXT''图标
contentTEXT模板正文(内容会被复制进 user_prompts;公开目录只暴露 name/description/icon)
enabledINTEGER1是否上架
sort_orderINTEGER0排序
updated_atINTEGER → BIGINTnow()更新时间
  • 入向user_prompts.source_prompt_id(SET NULL)。

user_skills — 用户私有技能

管理员技能的私有副本或用户自建。共 10 列。故意没有 assets/存储列——私人技能只有指令,永远不能向沙箱投放文件(安全边界)。

列名类型可空默认值说明
idTEXT否(PK)usk_ + 12 位十六进制
user_idTEXTFK→users(id),CASCADE
workspace_idTEXT''软引用;'' = 个人库,非空 = 该空间共享
nameTEXT名字(唯一性按作用域拆成两组部分唯一索引,见下)
descriptionTEXT触发描述
iconTEXT''图标
instructionsTEXT正文
source_skill_idTEXTNULLFK→skills(id)SET NULL——溯源"从目录复制"
created_atINTEGER → BIGINTnow()创建时间
updated_atINTEGER → BIGINTnow()更新时间
  • 索引(均在迁移中创建,store.go:598-607):idx_user_skills_user(user_id, updated_at DESC)idx_user_skills_workspace(workspace_id, updated_at DESC);名字唯一按作用域:个人行 (user_id, lower(trim(name))) WHERE workspace_id='',空间行 (workspace_id, lower(trim(name))) WHERE workspace_id<>'';另有两个防目录重复复制的 source 唯一索引(同样按作用域拆)。

user_prompts — 用户私有提示词

共 9 列。与 user_skills 同样的空间作用域模型。

列名类型可空默认值说明
idTEXT否(PK)upm_ + 12 位十六进制
user_idTEXTFK→users(id),CASCADE
workspace_idTEXT'''' = 个人,非空 = 空间共享
nameTEXT名字(作用域内唯一)
descriptionTEXT''描述
contentTEXT正文
source_prompt_idTEXTNULLFK→prompts(id)SET NULL
created_atINTEGER → BIGINTnow()创建时间
updated_atINTEGER → BIGINTnow()更新时间
  • 索引:同 user_skills 的模式((user_id, updated_at DESC)(workspace_id, updated_at DESC) + 按作用域拆分的名字/source 部分唯一索引,store.go:600-611)。

mcp_servers — 管理员 MCP 服务

Streamable-HTTP MCP 服务端点。共 13 列。

列名类型可空默认值说明
idTEXT否(PK)mcp_ + 12 位十六进制
nameTEXT服务名;lower(trim(name)) 唯一
iconTEXT''图标
descriptionTEXT''描述
urlTEXTStreamable-HTTP 端点
headersTEXT(JSON)'{}'请求头——可含凭据:明文存储,API 层掩码
enabledINTEGER0默认关闭(新建即停用,显式启用)
discovered_toolsTEXT(JSON)'[]'上次成功 tools/list 的快照——运行时注册表读它,而不是实时拉取
protocol_versionTEXT''握手协商到的 MCP 协议版本
last_errorTEXT''最近一次同步失败原因
last_synced_atINTEGER → BIGINT0最近一次成功同步时间
created_atINTEGER → BIGINTnow()创建时间
updated_atINTEGER → BIGINTnow()更新时间
  • 索引:名字 UNIQUE、idx_mcp_servers_enabled(enabled, name)
  • 入向models.mcp_server_ids(JSON id 数组,软引用)、workspace_policies.allowed_mcp_server_ids(软引用)。

user_mcp_servers — 用户级 MCP(资源库)

镜像 mcp_servers 的快照/掩码契约 + user_skills 的空间作用域列。共 15 列。

列名类型可空默认值说明
idTEXT否(PK)umcp_ + 12 位十六进制
user_idTEXTFK→users(id),CASCADE
workspace_idTEXT'''' = 个人库,非空 = 空间共享
nameTEXT名字(按作用域部分唯一,store.go:614-615
iconTEXT''图标
descriptionTEXT''描述
urlTEXT端点
headersTEXT(JSON)'{}'可含凭据,明文存储、API 掩码
enabledINTEGER0默认关闭
discovered_toolsTEXT(JSON)'[]'同步快照(同 mcp_servers 契约)
protocol_versionTEXT''协议版本
last_errorTEXT''最近失败
last_synced_atINTEGER → BIGINT0最近成功同步
created_atINTEGER → BIGINTnow()创建时间
updated_atINTEGER → BIGINTnow()更新时间
  • 索引(user_id, updated_at DESC)(workspace_id, updated_at DESC) + 两组名字部分唯一索引。

image_styles — 图片工作室风格

§4.20 图片生成工作室的风格预设。共 8 列。

列名类型可空默认值说明
idTEXT否(PK)imgsty_ + 12 位十六进制
nameTEXT风格名;lower(trim(name)) 唯一
example_image_urlTEXT''示例缩略图 URL
hidden_promptTEXT''隐藏提示词:服务端拼接,绝不出现在非管理员响应
enabledINTEGER1是否可选
sort_orderINTEGER0排序
created_atINTEGER → BIGINTnow()创建时间
updated_atINTEGER → BIGINTnow()更新时间
  • 索引idx_image_styles_sort(sort_order)、名字 UNIQUE。

相关页面