dify表结果解析

dify在1.0开始,开源部分已经拆分两个数据表,一个是原来的dify,另外一个是dify_plugin,本次先基于dify库进行分析,大概有83张表:
版本:1.17.0
来源:基于开源项目https://github.com/langgenius/dify.git

整理方法:cusor工具

accounts 表结构详细分析
表基本信息
表名: accounts
主键: id (UUID)
索引: account_email_idx (email字段)
字段详细说明

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()用户唯一标识符
nameVARCHAR(255)非空-用户姓名/昵称
emailVARCHAR(255)非空-用户邮箱地址
passwordVARCHAR(255)可空NULL加密后的密码
password_saltVARCHAR(255)可空NULL密码加密盐值
avatarVARCHAR(255)可空NULL用户头像URL
interface_languageVARCHAR(255)可空NULL界面语言设置
interface_themeVARCHAR(255)可空NULL界面主题设置
timezoneVARCHAR(255)可空NULL用户时区设置
statusVARCHAR(16)非空‘active’账户状态
last_login_atDATETIME可空NULL最后登录时间
last_login_ipVARCHAR(255)可空NULL最后登录IP地址
last_active_atDATETIME非空CURRENT_TIMESTAMP最后活跃时间
initialized_atDATETIME可空NULL账户初始化时间
created_atDATETIME非空CURRENT_TIMESTAMP账户创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP账户更新时间

tenants 表结构详细分析
表基本信息
表名: tenants
主键: id (UUID)
描述: 租户/工作空间表,是多租户SaaS系统的核心表
字段详细说明

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()租户唯一标识符
nameVARCHAR(255)非空-租户/工作空间名称
encrypt_public_keyTEXT可空NULL加密公钥,用于数据加密
planVARCHAR(255)非空‘basic’订阅计划类型
statusVARCHAR(255)非空‘normal’租户状态
custom_configTEXT可空NULL自定义配置(JSON格式)
created_atDATETIME非空CURRENT_TIMESTAMP租户创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP租户更新时间

account_integrates 表结构详细分析

  • 表基本信息
  • 表名: account_integrates
  • 主键: id (UUID)
  • 描述: 第三方账户集成表,用于存储用户的第三方登录信息
  • 字段详细说明
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()集成记录唯一标识符
account_idUUID非空-关联的账户ID

第三方提供商信息

字段名类型约束默认值说明
providerVARCHAR(16)非空-第三方提供商名称
open_idVARCHAR(255)非空-第三方平台返回的用户唯一标识
encrypted_tokenVARCHAR(255)非空-加密存储的第三方访问令牌
created_atDATETIME非空CURRENT_TIMESTAMP集成记录创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP集成记录更新时间

– 每个账户在每个提供商下只能有一个集成记录
UNIQUE(account_id, provider)

– 每个提供商下的open_id必须唯一
UNIQUE(provider, open_id)

  1. 与账户表的一对多关系
    account_integrates.account_id → accounts.id
    一个账户可以有多个第三方集成
    每个第三方集成只属于一个账户

invitation_codes 表 - 邀请码表

表基本信息
– 表名: invitation_codes
– 主键: id (INTEGER)
– 描述: 系统邀请码管理表,用于控制用户注册

字段名类型约束默认值说明
idINTEGER主键-邀请码记录ID
batchVARCHAR(255)非空-邀请码批次名称
codeVARCHAR(32)非空-邀请码字符串
statusVARCHAR(16)非空‘unused’邀请码状态
used_atDATETIME可空NULL使用时间
used_by_tenant_idUUID可空NULL使用该邀请码的租户ID
used_by_account_idUUID可空NULL使用该邀请码的账户ID
deprecated_atDATETIME可空NULL邀请码废弃时间
created_atDATETIME非空CURRENT_TIMESTAMP创建时间

索引
主键索引: invitation_code_pkey
批次索引: invitation_codes_batch_idx
状态索引: invitation_codes_code_idx (code, status)

account_plugin_permissions 表 - 账户插件权限表
表基本信息
表名: account_plugin_permissions (注意:类名是TenantPluginPermission,但表名是account_plugin_permissions)
主键: id (UUID)
描述: 租户插件权限管理表

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()权限记录ID
tenant_idUUID非空-租户ID
install_permissionVARCHAR(16)非空‘everyone’安装权限
debug_permissionVARCHAR(16)非空‘noone’调试权限

权限枚举
安装权限 (InstallPermission)
EVERYONE = “everyone” # 所有人可安装
ADMINS = “admins” # 仅管理员可安装
NOBODY = “noone” # 禁止安装

调试权限 (DebugPermission)
EVERYONE = “everyone” # 所有人可调试
ADMINS = “admins” # 仅管理员可调试
NOBODY = “noone” # 禁止调试
约束
主键约束: account_plugin_permission_pkey
唯一约束: unique_tenant_plugin (tenant_id)
3. tenant_plugin_auto_upgrade_strategies 表 - 租户插件自动升级策略表
表基本信息
表名: tenant_plugin_auto_upgrade_strategies
主键: id (UUID)
描述: 租户插件自动升级策略配置表

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()策略记录ID
tenant_idUUID非空-租户ID
strategy_settingVARCHAR(16)非空‘fix_only’升级策略设置
upgrade_time_of_dayINTEGER非空0每日升级时间(秒)
upgrade_modeVARCHAR(16)非空‘exclude’升级模式
exclude_pluginsARRAY[VARCHAR(255)]非空-排除的插件列表
include_pluginsARRAY[VARCHAR(255)]非空-包含的插件列表
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间

策略枚举
升级策略设置 (StrategySetting)
DISABLED = “disabled” # 禁用自动升级
FIX_ONLY = “fix_only” # 仅修复版本升级
LATEST = “latest” # 升级到最新版本
升级模式 (UpgradeMode)
ALL = “all” # 升级所有插件
PARTIAL = “partial” # 部分升级
EXCLUDE = “exclude” # 排除模式
约束
主键约束: tenant_plugin_auto_upgrade_strategy_pkey
唯一约束: unique_tenant_plugin_auto_upgrade_strategy (tenant_id)

tenant_account_joins 表结构详细分析
表基本信息
表名: tenant_account_joins
主键: id (UUID)
描述: 租户-用户关联表(中间表),实现多对多关系
作用: 管理用户在不同租户中的成员关系和权限

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()关联记录唯一标识符
tenant_idUUID非空-租户ID
account_idUUID非空-用户账户ID
currentBOOLEAN非空false是否为当前活跃租户
roleVARCHAR(16)非空‘normal’用户在租户中的角色
invited_byUUID可空NULL邀请人账户ID
created_atDATETIME非空CURRENT_TIMESTAMP关联记录创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP关联记录更新时间

class TenantAccountRole(enum.StrEnum):
OWNER = “owner” # 所有者 - 最高权限
ADMIN = “admin” # 管理员 - 管理权限
EDITOR = “editor” # 编辑者 - 编辑权限
NORMAL = “normal” # 普通用户 - 基础权限
DATASET_OPERATOR = “dataset_operator” # 数据集操作员 - 数据集权限

  1. 多对多关系
    tenants (租户) ←→ tenant_account_joins (中间表) ←→ accounts (用户)
  2. 外键关联
    tenant_account_joins.tenant_id → tenants.id
    tenant_account_joins.account_id → accounts.id
    tenant_account_joins.invited_by → accounts.id

apps 表结构详细分析

表基本信息
表名: apps
主键: id (UUID)
索引: app_tenant_id_idx (tenant_id字段)
描述: 应用主表,存储所有应用的基本信息和配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()应用唯一标识符
tenant_idUUID非空-所属租户ID
nameVARCHAR(255)非空-应用名称
descriptionTEXT可空‘’应用描述
modeVARCHAR(255)非空-应用模式,可选值: completion, workflow, chat, advanced-chat, agent-chat
icon_typeVARCHAR(255)可空NULL图标类型 (image/emoji)
iconVARCHAR(255)可空NULL图标URL或emoji
icon_backgroundVARCHAR(255)可空NULL图标背景色
use_icon_as_answer_iconBOOLEAN非空false是否使用图标作为回答图标
app_model_config_idUUID可空NULL应用模型配置ID
workflow_idUUID可空NULL工作流ID
statusVARCHAR(255)非空‘normal’应用状态
enable_siteBOOLEAN非空-是否启用站点
enable_apiBOOLEAN非空-是否启用API
is_demoBOOLEAN非空false是否为演示应用
is_publicBOOLEAN非空false是否公开
is_universalBOOLEAN非空false是否通用应用
api_rpmINTEGER非空0API每分钟请求限制
api_rphINTEGER非空0API每小时请求限制
max_active_requestsINTEGER可空NULL最大活跃请求数
tracingTEXT可空NULL追踪配置
created_byUUID可空NULL创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_byUUID可空NULL更新者ID
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间

与其他表的关联关系

  1. 一对多关系
    apps → conversations: 一个应用可以有多个对话
    关联字段: conversations.app_id = apps.id
    apps → messages: 一个应用可以有多个消息
    关联字段: messages.app_id = apps.id
    apps → sites: 一个应用可以有多个站点配置
    关联字段: sites.app_id = apps.id
    apps → api_tokens: 一个应用可以有多个API令牌
    关联字段: api_tokens.app_id = apps.id
  2. 多对一关系
    tenants → apps: 一个租户可以有多个应用
    关联字段: apps.tenant_id = tenants.id
    app_model_configs → apps: 一个应用配置对应一个应用
    关联字段: apps.app_model_config_id = app_model_configs.id
    workflows → apps: 一个工作流对应一个应用
    关联字段: apps.workflow_id = workflows.id
  3. 多对多关系
    apps ↔ tags: 通过 tag_bindings 中间表
    关联字段: tag_bindings.target_id = apps.id AND tag_bindings.tag_id = tags.id
  4. 特殊关联
    installed_apps: 应用安装关系表
    关联字段: installed_apps.app_id = apps.id AND installed_apps.tenant_id = apps.tenant_id
    recommended_apps: 推荐应用表
    关联字段: recommended_apps.app_id = apps.id

应用模式说明

应用支持以下5种模式:
completion: 文本补全模式
workflow: 工作流模式
chat: 聊天模式
advanced-chat: 高级聊天模式
agent-chat: 智能体聊天模式

重要属性方法

is_agent: 判断是否为智能体应用
mode_compatible_with_agent: 获取兼容智能体的模式
site: 获取应用的站点配置
app_model_config: 获取应用的模型配置
workflow: 获取应用的工作流配置
tenant: 获取应用所属的租户

九个表结构详细分析

  1. app_model_configs - 应用模型配置表
    表基本信息
    表名: app_model_configs
    主键: id (UUID)
    索引: app_app_id_idx (app_id字段)
    描述: 存储应用的AI模型配置和提示词设置
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()配置唯一标识符
app_idUUID非空-关联的应用ID
providerVARCHAR(255)可空NULLAI模型提供商
model_idVARCHAR(255)可空NULL模型ID
configsJSON可空NULL模型配置参数
opening_statementTEXT可空NULL开场白
suggested_questionsTEXT可空NULL建议问题(JSON)
suggested_questions_after_answerTEXT可空NULL回答后建议问题(JSON)
speech_to_textTEXT可空NULL语音转文字配置(JSON)
text_to_speechTEXT可空NULL文字转语音配置(JSON)
more_like_thisTEXT可空NULL相似内容配置(JSON)
modelTEXT可空NULL模型配置(JSON)
user_input_formTEXT可空NULL用户输入表单(JSON)
dataset_query_variableVARCHAR(255)可空NULL数据集查询变量
pre_promptTEXT可空NULL前置提示词
agent_modeTEXT可空NULL智能体模式配置(JSON)
sensitive_word_avoidanceTEXT可空NULL敏感词规避配置(JSON)
retriever_resourceTEXT可空NULL检索资源配置(JSON)
prompt_typeVARCHAR(255)非空‘simple’提示词类型
chat_prompt_configTEXT可空NULL聊天提示词配置(JSON)
completion_prompt_configTEXT可空NULL补全提示词配置(JSON)
dataset_configsTEXT可空NULL数据集配置(JSON)
external_data_toolsTEXT可空NULL外部数据工具(JSON)
file_uploadTEXT可空NULL文件上传配置(JSON)
  1. recommended_apps - 推荐应用表
    表基本信息
    表名: recommended_apps
    主键: id (UUID)
    索引: recommended_app_app_id_idx, recommended_app_is_listed_idx
    描述: 管理推荐应用展示
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()推荐记录ID
app_idUUID非空-应用ID
descriptionJSON非空-多语言描述
copyrightVARCHAR(255)非空-版权信息
privacy_policyVARCHAR(255)非空-隐私政策
custom_disclaimerTEXT可空‘’自定义免责声明
categoryVARCHAR(255)非空-应用分类
positionINTEGER非空0排序位置
is_listedBOOLEAN非空true是否上架
install_countINTEGER非空0安装次数
languageVARCHAR(255)非空‘en-US’语言
  1. installed_apps - 已安装应用表(中间表)
    表基本信息
    表名: installed_apps
    主键: id (UUID)
    唯一约束: unique_tenant_app (tenant_id, app_id)
    描述: 租户与应用的多对多关系表
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()安装记录ID
tenant_idUUID非空-租户ID
app_idUUID非空-应用ID
app_owner_tenant_idUUID非空-应用所有者租户ID
positionINTEGER非空0排序位置
is_pinnedBOOLEAN非空false是否置顶
last_used_atDATETIME可空NULL最后使用时间
  1. sites - 应用站点配置表
    表基本信息
    表名: sites
    主键: id (UUID)
    索引: site_app_id_idx, site_code_idx
    描述: 应用的公开站点配置
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()站点ID
app_idUUID非空-应用ID
titleVARCHAR(255)非空-站点标题
icon_typeVARCHAR(255)可空NULL图标类型
iconVARCHAR(255)可空NULL图标
icon_backgroundVARCHAR(255)可空NULL图标背景
descriptionTEXT可空NULL描述
default_languageVARCHAR(255)非空-默认语言
chat_color_themeVARCHAR(255)可空NULL聊天主题色
chat_color_theme_invertedBOOLEAN非空false主题色反转
copyrightVARCHAR(255)可空NULL版权信息
privacy_policyVARCHAR(255)可空NULL隐私政策
show_workflow_stepsBOOLEAN非空true显示工作流步骤
use_icon_as_answer_iconBOOLEAN非空false使用图标作为回答图标
custom_disclaimerTEXT可空‘’自定义免责声明
customize_domainVARCHAR(255)可空NULL自定义域名
customize_token_strategyVARCHAR(255)非空-自定义令牌策略
prompt_publicBOOLEAN非空false提示词公开
statusVARCHAR(255)非空‘normal’状态
codeVARCHAR(255)可空NULL站点代码
  1. api_tokens - API令牌表
    表基本信息
    表名: api_tokens
    主键: id (UUID)
    索引: api_token_app_id_type_idx, api_token_token_idx, api_token_tenant_idx
    描述: 管理API访问令牌
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()令牌ID
app_idUUID可空NULL应用ID
tenant_idUUID可空NULL租户ID
typeVARCHAR(16)非空-令牌类型
tokenVARCHAR(255)非空-令牌字符串
last_used_atDATETIME可空NULL最后使用时间
  1. app_annotation_settings - 应用标注设置表
    表基本信息
    表名: app_annotation_settings
    主键: id (UUID)
    索引: app_annotation_settings_app_idx
    描述: 应用的知识库标注配置
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()设置ID
app_idUUID非空-应用ID
score_thresholdFLOAT非空0相似度阈值
collection_binding_idUUID非空-知识库绑定ID
created_user_idUUID非空-创建用户ID
updated_user_idUUID非空-更新用户ID
  1. app_annotation_hit_histories - 标注命中历史表
    表基本信息
    表名: app_annotation_hit_histories
    主键: id (UUID)
    索引: 多个索引用于查询优化
    描述: 记录标注匹配的历史记录
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()历史记录ID
app_idUUID非空-应用ID
annotation_idUUID非空-标注ID
sourceTEXT非空-来源
questionTEXT非空-用户问题
account_idUUID非空-账户ID
scoreFLOAT非空0相似度分数
message_idUUID非空-消息ID
annotation_questionTEXT非空-标注问题
annotation_contentTEXT非空-标注内容
  1. app_mcp_servers - MCP服务器配置表
    表基本信息
    表名: app_mcp_servers
    主键: id (UUID)
    唯一约束: unique_app_mcp_server_tenant_app_id, unique_app_mcp_server_server_code
    描述: 应用的多通道协议(MCP)服务器配置
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()服务器ID
tenant_idUUID非空-租户ID
app_idUUID非空-应用ID
nameVARCHAR(255)非空-服务器名称
descriptionVARCHAR(255)非空-描述
server_codeVARCHAR(255)非空-服务器代码
statusVARCHAR(255)非空‘normal’状态
parametersTEXT非空-参数配置(JSON)
  1. trace_app_config - 应用追踪配置表
    表基本信息
    表名: trace_app_config
    主键: id (UUID)
    索引: trace_app_config_app_id_idx
    描述: 应用的追踪和监控配置
字段名类型约束默认值说明
idUUID主键uuid_generate_v4()配置ID
app_idUUID非空-应用ID
tracing_providerVARCHAR(255)可空NULL追踪提供商
tracing_configJSON可空NULL追踪配置
is_activeBOOLEAN非空true是否激活

表关联关系总结
一对多关系:
apps → app_model_configs (一个应用一个配置)
apps → sites (一个应用一个站点)
apps → api_tokens (一个应用多个令牌)
apps → app_annotation_settings (一个应用一个标注设置)
apps → app_mcp_servers (一个应用一个MCP服务器)
apps → trace_app_config (一个应用一个追踪配置)
多对多关系:
apps ↔ tenants 通过 installed_apps (租户可以安装多个应用)
一对多关系:
apps → recommended_apps (一个应用一个推荐记录)
apps → app_annotation_hit_histories (一个应用多个命中历史)

conversations 表结构详细分析
表基本信息
表名: conversations
主键: id (UUID)
索引: conversation_app_from_user_idx (app_id, from_source, from_end_user_id)
描述: 对话表,存储用户与AI应用的对话会话信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()对话唯一标识符
app_idUUID非空-关联的应用ID
nameVARCHAR(255)非空-对话名称
app_model_config_idUUID可空NULL应用模型配置ID
model_providerVARCHAR(255)可空NULLAI模型提供商
model_idVARCHAR(255)可空NULL模型ID
override_model_configsTEXT可空NULL覆盖的模型配置(JSON)
modeVARCHAR(255)非空-对话模式
summaryTEXT可空NULL对话摘要
_inputsJSON非空-输入参数(JSON格式)
introductionTEXT可空NULL对话介绍
system_instructionTEXT可空NULL系统指令
system_instruction_tokensINTEGER非空0系统指令token数
statusVARCHAR(255)非空-对话状态
dialogue_countINTEGER非空0对话轮次计数
invoke_fromVARCHAR(255)可空NULL调用来源
from_sourceVARCHAR(255)非空-用户来源
from_end_user_idUUID可空NULL终端用户ID
from_account_idUUID可空NULL账户用户ID
read_atDATETIME可空NULL阅读时间
read_account_idUUID可空NULL阅读者账户ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
is_deletedBOOLEAN非空false是否已删除

与其他表的关联关系

  1. 一对多关系
    conversations → messages: 一个对话包含多个消息
    关联字段: messages.conversation_id = conversations.id
    关系: messages = db.relationship(“Message”, backref=“conversation”, lazy=“select”, passive_deletes=“all”)
    conversations → message_annotations: 一个对话可以有多个消息标注
    关联字段: message_annotations.conversation_id = conversations.id
    关系: message_annotations = db.relationship(“MessageAnnotation”, backref=“conversation”, lazy=“select”, passive_deletes=“all”)
  2. 多对一关系
    apps → conversations: 一个应用可以有多个对话
    关联字段: conversations.app_id = apps.id
    app_model_configs → conversations: 一个模型配置对应多个对话
    关联字段: conversations.app_model_config_id = app_model_configs.id
    accounts → conversations: 一个账户用户可以创建多个对话
    关联字段: conversations.from_account_id = accounts.id
    end_users → conversations: 一个终端用户可以创建多个对话
    关联字段: conversations.from_end_user_id = end_users.id
  3. 间接关联
    conversations → message_feedbacks: 通过messages表关联
    关联字段: message_feedbacks.conversation_id = conversations.id

重要属性方法

  1. 输入处理
    inputs: 处理文件映射,将JSON格式的输入转换为File对象
    inputs.setter: 将File对象转换为JSON格式存储
  2. 模型配置
    model_config: 获取对话的模型配置,支持覆盖配置
  3. 统计信息
    summary_or_query: 获取对话摘要或第一条消息的查询
    message_count: 统计对话中的消息数量
    dialogue_count: 对话轮次计数
  4. 反馈统计
    user_feedback_stats: 用户反馈统计(点赞/点踩)
    admin_feedback_stats: 管理员反馈统计(点赞/点踩)
  5. 状态统计
    status_count: 工作流执行状态统计(成功/失败/部分成功)
  6. 关联查询
    first_message: 获取对话的第一条消息
    app: 获取关联的应用
    from_end_user_session_id: 获取终端用户会话ID
    from_account_name: 获取账户用户名
  7. 调试模式
    in_debug_mode: 判断是否处于调试模式(有覆盖配置)

对话来源类型

from_source 字段可能的值:
“user”: 普通用户
“admin”: 管理员
“api”: API调用
“web”: Web界面

对话状态

status 字段可能的值:
“normal”: 正常状态
“archived”: 已归档
“deleted”: 已删除

对话模式

mode 字段对应应用模式:
“completion”: 文本补全
“chat”: 聊天对话
“advanced-chat”: 高级聊天
“agent-chat”: 智能体聊天
“workflow”: 工作流

messages 表结构详细分析
表基本信息
表名: messages
主键: id (UUID)
索引: 多个索引用于查询优化
描述: 消息表,存储用户与AI的每次交互消息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()消息唯一标识符
app_idUUID非空-关联的应用ID
conversation_idUUID非空-关联的对话ID
parent_message_idUUID可空NULL父消息ID(用于消息链)
model_providerVARCHAR(255)可空NULLAI模型提供商
model_idVARCHAR(255)可空NULL模型ID
override_model_configsTEXT可空NULL覆盖的模型配置(JSON)
_inputsJSON非空-输入参数(JSON格式)
queryTEXT非空-用户查询内容
messageJSON非空-消息内容(JSON格式)
answerTEXT非空-AI回答内容
message_tokensINTEGER非空0消息token数
message_unit_priceNUMERIC(10,4)非空-消息单价
message_price_unitNUMERIC(10,7)非空0.001消息价格单位
answer_tokensINTEGER非空0回答token数
answer_unit_priceNUMERIC(10,4)非空-回答单价
answer_price_unitNUMERIC(10,7)非空0.001回答价格单位
total_priceNUMERIC(10,7)可空NULL总价格
currencyVARCHAR(255)非空-货币类型
provider_response_latencyFLOAT非空0提供商响应延迟
statusVARCHAR(255)非空‘normal’消息状态
errorTEXT可空NULL错误信息
message_metadataTEXT可空NULL消息元数据(JSON)
invoke_fromVARCHAR(255)可空NULL调用来源
from_sourceVARCHAR(255)非空-用户来源
from_end_user_idUUID可空NULL终端用户ID
from_account_idUUID可空NULL账户用户ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
agent_basedBOOLEAN非空false是否为智能体模式
workflow_run_idUUID可空NULL工作流运行ID

与其他表的关联关系

  1. 多对一关系
    conversations → messages: 一个对话包含多个消息
    关联字段: messages.conversation_id = conversations.id
    外键约束: db.ForeignKey(“conversations.id”)
    apps → messages: 一个应用可以有多个消息
    关联字段: messages.app_id = apps.id
    accounts → messages: 一个账户用户可以发送多个消息
    关联字段: messages.from_account_id = accounts.id
    end_users → messages: 一个终端用户可以发送多个消息
    关联字段: messages.from_end_user_id = end_users.id
  2. 一对多关系
    messages → message_feedbacks: 一个消息可以有多个反馈
    关联字段: message_feedbacks.message_id = messages.id
    messages → message_annotations: 一个消息可以有多个标注
    关联字段: message_annotations.message_id = messages.id
    messages → message_files: 一个消息可以包含多个文件
    关联字段: message_files.message_id = messages.id
    messages → message_agent_thoughts: 一个消息可以有多个智能体思考过程
    关联字段: message_agent_thoughts.message_id = messages.id
    messages → dataset_retriever_resources: 一个消息可以有多个检索资源
    关联字段: dataset_retriever_resources.message_id = messages.id
  3. 自关联关系
    messages → messages: 消息链关系
    关联字段: messages.parent_message_id = messages.id
  4. 间接关联
    workflows → messages: 通过workflow_run_id关联
    关联字段: messages.workflow_run_id = workflow_runs.id

重要属性方法

  1. 输入处理
    inputs: 处理文件映射,将JSON格式的输入转换为File对象
    inputs.setter: 将File对象转换为JSON格式存储
  2. 文件URL重新签名
    re_sign_file_url_answer: 重新签名文件URL,确保安全性
  3. 反馈查询
    user_feedback: 获取用户反馈
    admin_feedback: 获取管理员反馈
    feedbacks: 获取所有反馈
  4. 标注查询
    annotation: 获取消息标注
    annotation_hit_history: 获取标注命中历史
  5. 模型配置
    app_model_config: 获取应用模型配置
    in_debug_mode: 判断是否处于调试模式
  6. 元数据处理
    message_metadata_dict: 将JSON元数据转换为字典
  7. 智能体功能
    agent_thoughts: 获取智能体思考过程
    retriever_resources: 获取检索资源
  8. 文件管理
    message_files: 获取消息关联的文件列表
  9. 工作流关联
    workflow_run: 获取关联的工作流运行

消息来源类型

from_source 字段可能的值:
“user”: 普通用户
“admin”: 管理员
“api”: API调用
“web”: Web界面

消息状态

status 字段可能的值:
“normal”: 正常状态
“error”: 错误状态
“pending”: 等待状态
“processing”: 处理中

消息类型

根据 agent_based 字段:
true: 智能体模式消息
false: 普通对话消息

message_feedbacks - 消息反馈表

表基本信息

表名: message_feedbacks
主键: id (UUID)
描述: 存储用户对消息的反馈评价

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()反馈记录唯一标识符
app_idUUID非空-关联的应用ID
conversation_idUUID非空-关联的对话ID
message_idUUID非空-关联的消息ID
ratingVARCHAR(255)非空-评分等级
contentTEXT可空NULL反馈内容
from_sourceVARCHAR(255)非空-反馈来源
from_end_user_idUUID可空NULL终端用户ID
from_account_idUUID可空NULL账户ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
索引

主键索引: message_feedback_pkey
应用索引: message_feedback_app_idx
消息索引: message_feedback_message_idx
对话索引: message_feedback_conversation_idx

message_files - 消息文件表

表基本信息

表名: message_files
主键: id (UUID)
描述: 存储消息中附带的文件信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()文件记录唯一标识符
message_idUUID非空-关联的消息ID
typeVARCHAR(255)非空-文件类型
transfer_methodVARCHAR(255)非空-传输方式
urlTEXT可空NULL文件URL
belongs_toVARCHAR(255)可空NULL归属方(user/assistant)
upload_file_idUUID可空NULL上传文件ID
created_by_roleVARCHAR(255)非空-创建者角色
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: message_file_pkey
消息索引: message_file_message_idx
创建者索引: message_file_created_by_idx

message_annotations - 消息标注表

表基本信息

表名: message_annotations
主键: id (UUID)
描述: 存储消息的标注信息,用于知识库检索

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()标注记录唯一标识符
app_idUUID非空-关联的应用ID
conversation_idUUID可空NULL关联的对话ID
message_idUUID可空NULL关联的消息ID
questionTEXT可空NULL问题内容
contentTEXT非空-标注内容
hit_countINTEGER非空0命中次数
account_idUUID非空-创建者账户ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
索引

主键索引: message_annotation_pkey
应用索引: message_annotation_app_idx
对话索引: message_annotation_conversation_idx
消息索引: message_annotation_message_idx

message_chains - 消息链表

表基本信息

表名: message_chains
主键: id (UUID)
描述: 存储消息的处理链信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()消息链唯一标识符
message_idUUID非空-关联的消息ID
typeVARCHAR(255)非空-链类型
inputTEXT可空NULL输入内容
outputTEXT可空NULL输出内容
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: message_chain_pkey
消息索引: message_chain_message_id_idx

message_agent_thoughts - 智能体思考表

表基本信息

表名: message_agent_thoughts
主键: id (UUID)
描述: 存储智能体的思考过程和工具使用记录

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()思考记录唯一标识符
message_idUUID非空-关联的消息ID
message_chain_idUUID可空NULL关联的消息链ID
positionINTEGER非空-思考位置
thoughtTEXT可空NULL思考内容
toolTEXT可空NULL使用的工具
tool_labels_strTEXT非空‘{}’工具标签(JSON)
tool_meta_strTEXT非空‘{}’工具元数据(JSON)
tool_inputTEXT可空NULL工具输入
observationTEXT可空NULL观察结果
tool_process_dataTEXT可空NULL工具处理数据
messageTEXT可空NULL消息内容
message_tokenINTEGER可空NULL消息令牌数
message_unit_priceNUMERIC可空NULL消息单价
message_price_unitNUMERIC(10,7)非空0.001消息价格单位
message_filesTEXT可空NULL消息文件
answerTEXT可空NULL回答内容
answer_tokenINTEGER可空NULL回答令牌数
answer_unit_priceNUMERIC可空NULL回答单价
answer_price_unitNUMERIC(10,7)非空0.001回答价格单位
tokensINTEGER可空NULL总令牌数
total_priceNUMERIC可空NULL总价格
currencyVARCHAR可空NULL货币
latencyFLOAT可空NULL延迟时间
created_by_roleVARCHAR非空-创建者角色
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: message_agent_thought_pkey
消息索引: message_agent_thought_message_id_idx
消息链索引: message_agent_thought_message_chain_id_idx

dataset_retriever_resources - 数据集检索资源表

表基本信息

表名: dataset_retriever_resources
主键: id (UUID)
描述: 存储数据集检索的资源信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()资源记录唯一标识符
message_idUUID非空-关联的消息ID
positionINTEGER非空-位置序号
dataset_idUUID非空-数据集ID
dataset_nameTEXT非空-数据集名称
document_idUUID可空NULL文档ID
document_nameTEXT非空-文档名称
data_source_typeTEXT可空NULL数据源类型
segment_idUUID可空NULL段落ID
scoreFLOAT可空NULL相似度分数
contentTEXT非空-检索内容
hit_countINTEGER可空NULL命中次数
word_countINTEGER可空NULL字数统计
segment_positionINTEGER可空NULL段落位置
index_node_hashTEXT可空NULL索引节点哈希
retriever_fromTEXT非空-检索来源
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: dataset_retriever_resource_pkey
消息索引: dataset_retriever_resource_message_id_idx

pinned_conversations - 置顶对话表

表基本信息

表名: pinned_conversations
主键: id (UUID)
描述: 存储用户置顶的对话信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()置顶记录唯一标识符
app_idUUID非空-关联的应用ID
conversation_idUUID非空-关联的对话ID
created_by_roleVARCHAR(255)非空‘end_user’创建者角色
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: pinned_conversation_pkey
对话索引: pinned_conversation_conversation_idx

saved_messages - 保存消息表

表基本信息

表名: saved_messages
主键: id (UUID)
描述: 存储用户保存的消息信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()保存记录唯一标识符
app_idUUID非空-关联的应用ID
message_idUUID非空-关联的消息ID
created_by_roleVARCHAR(255)非空‘end_user’创建者角色
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
索引

主键索引: saved_message_pkey
消息索引: saved_message_message_idx
表关联关系总结

主要关联关系

消息相关表:
messages ←→ message_feedbacks (一对多)
messages ←→ message_files (一对多)
messages ←→ message_annotations (一对多)
messages ←→ message_chains (一对多)
messages ←→ message_agent_thoughts (一对多)
messages ←→ dataset_retriever_resources (一对多)
对话相关表:
conversations ←→ pinned_conversations (一对多)
conversations ←→ message_annotations (一对多)
应用相关表:
apps ←→ saved_messages (一对多)
apps ←→ pinned_conversations (一对多)

datasets-数据集

表基本信息
表名: datasets
主键: id (UUID)
索引: dataset_tenant_idx (tenant_id字段), retrieval_model_idx (retrieval_model字段)
描述: 数据集主表,存储知识库的基本信息和配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()数据集唯一标识符
tenant_idUUID非空-所属租户ID
nameVARCHAR(255)非空-数据集名称
descriptionTEXT可空NULL数据集描述
providerVARCHAR(255)非空‘vendor’数据提供商类型
permissionVARCHAR(255)非空‘only_me’权限设置
可选值: only_me, all_team_members, partial_members
data_source_typeVARCHAR(255)可空NULL数据源类型
indexing_techniqueVARCHAR(255)可空NULL索引技术
可选值: high_quality, economy, NULL
index_structTEXT可空NULL索引结构(JSON格式)
embedding_modelVARCHAR(255)可空NULL嵌入模型名称
embedding_model_providerVARCHAR(255)可空NULL嵌入模型提供商
collection_binding_idUUID可空NULL集合绑定ID
retrieval_modelJSONB可空NULL检索模型配置
built_in_field_enabledBOOLEAN非空false是否启用内置字段
created_byUUID非空-创建者ID
updated_byUUID可空NULL更新者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间

索引结构

索引名字段类型说明
dataset_pkeyid主键数据集主键索引
dataset_tenant_idxtenant_id普通索引租户索引
retrieval_model_idxretrieval_modelGIN索引检索模型JSON索引
关联关系
一对多关系

数据集 → 文档:
datasets.id ←→ documents.dataset_id
一个数据集包含多个文档
数据集 → 处理规则:
datasets.id ←→ dataset_process_rules.dataset_id
一个数据集有多个处理规则版本
数据集 → 查询记录:
datasets.id ←→ dataset_queries.dataset_id
一个数据集有多个查询记录
数据集 → 权限:
datasets.id ←→ dataset_permissions.dataset_id
一个数据集有多个用户权限

多对多关系

数据集 ↔ 应用:
通过 app_dataset_joins 中间表关联
datasets.id ←→ app_dataset_joins.dataset_id
apps.id ←→ app_dataset_joins.app_id
数据集 ↔ 标签:
通过 tag_bindings 中间表关联
datasets.id ←→ tag_bindings.target_id
tags.id ←→ tag_bindings.tag_id

一对多关系(子表)

数据集 → 文档段落:
datasets.id ←→ document_segments.dataset_id
一个数据集包含多个文档段落
数据集 → 子块:
datasets.id ←→ child_chunks.dataset_id
一个数据集包含多个子块
数据集 → 外部知识绑定:
datasets.id ←→ external_knowledge_bindings.dataset_id
一个数据集有多个外部知识API绑定
特殊属性方法

统计属性

app_count: 关联的应用数量
document_count: 文档总数
available_document_count: 可用文档数量
available_segment_count: 可用段落数量
word_count: 总字数统计

配置属性

index_struct_dict: 索引结构字典
external_retrieval_model: 外部检索模型配置
retrieval_model_dict: 检索模型配置字典
tags: 关联的标签列表

用户属性

created_by_account: 创建者账户信息
latest_process_rule: 最新的处理规则
业务功能
核心功能
知识库管理: 存储和管理知识库的基本信息
权限控制: 通过 permission 字段控制访问权限
模型配置: 配置嵌入模型和检索模型
索引管理: 管理文档的索引结构和处理规则

数据处理流程

文档上传 → documents 表
段落分割 → document_segments 表
子块生成 → child_chunks 表
索引建立 → 向量数据库
检索查询 → dataset_queries 表

统计和分析

文档数量统计
段落数量统计
字数统计
应用关联统计
查询记录追踪
这个表是整个知识库系统的核心,管理着所有与数据集相关的配置、权限、统计和关联关系。

documents文档表

表基本信息
表名: documents
主键: id (UUID)
索引: 多个索引用于查询优化
描述: 文档表,存储知识库中的文档信息和处理状态

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()文档唯一标识符
tenant_idUUID非空-所属租户ID
dataset_idUUID非空-所属数据集ID
positionINTEGER非空-文档在数据集中的位置
nameVARCHAR(255)非空-文档名称
batchVARCHAR(255)非空-批次标识
data_source_typeVARCHAR(255)非空-数据源类型
可选值: upload_file, notion_import, website_crawl
data_source_infoTEXT可空NULL数据源详细信息(JSON)
created_fromVARCHAR(255)非空-创建来源
dataset_process_rule_idUUID可空NULL数据集处理规则ID
created_api_request_idUUID可空NULL创建API请求ID
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
processing_started_atDATETIME可空NULL开始处理时间
file_idTEXT可空NULL文件ID
word_countINTEGER可空NULL字数统计
parsing_completed_atDATETIME可空NULL解析完成时间
cleaning_completed_atDATETIME可空NULL清理完成时间
splitting_completed_atDATETIME可空NULL分割完成时间
tokensINTEGER可空NULL令牌数
indexing_latencyFLOAT可空NULL索引延迟
completed_atDATETIME可空NULL完成时间
is_pausedBOOLEAN可空false是否暂停
paused_byUUID可空NULL暂停操作者ID
paused_atDATETIME可空NULL暂停时间
errorTEXT可空NULL错误信息
stopped_atDATETIME可空NULL停止时间

| indexing_status | VARCHAR(255) | 非空 | ‘waiting’ | 索引状态,可选值: waiting, parsing, cleaning, splitting, indexing, completed, error |
| enabled | BOOLEAN | 非空 | true | 是否启用 |
| disabled_at | DATETIME | 可空 | NULL | 禁用时间 |
| disabled_by | UUID | 可空 | NULL | 禁用操作者ID |
| archived | BOOLEAN | 非空 | false | 是否归档 |
| archived_reason | VARCHAR(255) | 可空 | NULL | 归档原因 |
| archived_by | UUID | 可空 | NULL | 归档操作者ID |
| archived_at | DATETIME | 可空 | NULL | 归档时间 |
| doc_type | VARCHAR(40) | 可空 | NULL | 文档类型 |
| doc_metadata | JSONB | 可空 | NULL | 文档元数据 |
| doc_form | VARCHAR(255) | 非空 | ‘text_model’ | 文档形式 |
| doc_language | VARCHAR(255) | 可空 | NULL | 文档语言 |

索引结构
索引名字段类型说明
document_pkeyid主键文档主键索引
document_dataset_id_idxdataset_id普通索引数据集索引
document_is_paused_idxis_paused普通索引暂停状态索引
document_tenant_idxtenant_id普通索引租户索引
document_metadata_idxdoc_metadataGIN索引元数据JSON索引
关联关系
一对多关系

数据集 → 文档:
datasets.id ←→ documents.dataset_id
一个数据集包含多个文档
文档 → 段落:
documents.id ←→ document_segments.document_id
一个文档包含多个段落
文档 → 子块:
documents.id ←→ child_chunks.document_id
一个文档包含多个子块
处理规则 → 文档:
dataset_process_rules.id ←→ documents.dataset_process_rule_id
一个处理规则应用于多个文档
多对多关系
文档 ↔ 元数据:
通过 dataset_metadata_bindings 中间表关联
documents.id ←→ dataset_metadata_bindings.document_id
dataset_metadatas.id ←→ dataset_metadata_bindings.metadata_id

一对多关系(子表)

租户 → 文档:
tenants.id ←→ documents.tenant_id
一个租户包含多个文档
用户 → 文档:
accounts.id ←→ documents.created_by
一个用户创建多个文档
特殊属性方法

统计属性

segment_count: 段落数量
hit_count: 命中次数统计
average_segment_length: 平均段落长度

用户属性

uploader: 上传者姓名
upload_date: 上传日期
last_update_date: 最后更新日期

状态属性

display_status: 显示状态
queuing: 排队中
paused: 已暂停
indexing: 索引中
error: 错误
available: 可用
disabled: 已禁用
archived: 已归档

内容属性

data_source_info_dict: 数据源信息字典
data_source_detail_dict: 数据源详细信息
doc_metadata_details: 文档元数据详情
process_rule_dict: 处理规则字典

业务功能
文档处理流程

上传阶段: 文档上传到系统
解析阶段: 解析文档内容
清理阶段: 清理和预处理
分割阶段: 分割成段落
索引阶段: 建立向量索引
完成阶段: 文档可用于检索

状态管理

等待处理: waiting
处理中: parsing, cleaning, splitting, indexing
已完成: completed
错误状态: error
暂停状态: is_paused = true

检索支持

支持多种数据源类型
元数据索引支持
段落和子块管理
命中次数统计
这个表是整个知识库系统的核心文档管理表,负责管理文档的完整生命周期,从上传到索引完成的全过程。

document_segments - 文档片段表

表基本信息
表名: document_segments
主键: id (UUID)
描述: 存储文档分割后的段落信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()段落唯一标识符
tenant_idUUID非空-所属租户ID
dataset_idUUID非空-所属数据集ID
document_idUUID非空-所属文档ID
positionINTEGER非空-段落位置
contentTEXT非空-段落内容
answerTEXT可空NULL段落答案
word_countINTEGER非空-字数统计
tokensINTEGER非空-令牌数
keywordsJSON可空NULL关键词
index_node_idVARCHAR(255)可空NULL索引节点ID
index_node_hashVARCHAR(255)可空NULL索引节点哈希
hit_countINTEGER非空0命中次数
enabledBOOLEAN非空true是否启用
disabled_atDATETIME可空NULL禁用时间
disabled_byUUID可空NULL禁用操作者ID
statusVARCHAR(255)非空‘waiting’处理状态
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_byUUID可空NULL更新者ID
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
indexing_atDATETIME可空NULL索引时间
completed_atDATETIME可空NULL完成时间
errorTEXT可空NULL错误信息
stopped_atDATETIME可空NULL停止时间
child_chunks - 子块表

表基本信息
表名: child_chunks
主键: id (UUID)
描述: 存储段落进一步分割的子块信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()子块唯一标识符
tenant_idUUID非空-所属租户ID
dataset_idUUID非空-所属数据集ID
document_idUUID非空-所属文档ID
segment_idUUID非空-所属段落ID
positionINTEGER非空-子块位置
contentTEXT非空-子块内容
word_countINTEGER非空-字数统计
index_node_idVARCHAR(255)可空NULL索引节点ID
index_node_hashVARCHAR(255)可空NULL索引节点哈希
typeVARCHAR(255)非空‘automatic’子块类型
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_byUUID可空NULL更新者ID
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
indexing_atDATETIME可空NULL索引时间
completed_atDATETIME可空NULL完成时间
errorTEXT可空NULL错误信息
embeddings - 向量嵌入表

表基本信息
表名: embeddings
主键: id (UUID)
描述: 存储文本的向量嵌入表示

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()嵌入记录唯一标识符
model_nameVARCHAR(255)非空‘text-embedding-ada-002’模型名称
hashVARCHAR(64)非空-内容哈希值
embeddingLARGEBINARY非空-向量嵌入数据
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
provider_nameVARCHAR(255)非空‘’提供商名称
dataset_collection_bindings - 数据集集合绑定表

表基本信息
表名: dataset_collection_bindings
主键: id (UUID)
描述: 绑定数据集与向量数据库集合

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()绑定记录唯一标识符
provider_nameVARCHAR(255)非空-提供商名称
model_nameVARCHAR(255)非空-模型名称
typeVARCHAR(40)非空‘dataset’绑定类型
collection_nameVARCHAR(64)非空-集合名称
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
dataset_process_rules - 数据集处理规则表

表基本信息
表名: dataset_process_rules
主键: id (UUID)
描述: 存储数据集的处理规则配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()规则记录唯一标识符
dataset_idUUID非空-所属数据集ID
modeVARCHAR(255)非空‘automatic’处理模式
可选值: automatic, custom, hierarchical
rulesTEXT可空NULL处理规则(JSON)
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
dataset_queries - 数据集查询表

表基本信息
表名: dataset_queries
主键: id (UUID)
描述: 记录对数据集的查询历史

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()查询记录唯一标识符
dataset_idUUID非空-所属数据集ID
contentTEXT非空-查询内容
sourceVARCHAR(255)非空-查询来源
source_app_idUUID可空NULL来源应用ID
created_by_roleVARCHAR非空-创建者角色
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
dataset_keyword_tables - 数据集关键词表

表基本信息
表名: dataset_keyword_tables
主键: id (UUID)
描述: 存储数据集的关键词索引表

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()关键词表记录唯一标识符
dataset_idUUID非空,唯一-所属数据集ID
keyword_tableTEXT非空-关键词表(JSON)
data_source_typeVARCHAR(255)非空‘database’数据源类型
dataset_permissions - 数据集权限表

表基本信息
表名: dataset_permissions
主键: id (UUID)
描述: 管理用户对数据集的访问权限

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()权限记录唯一标识符
dataset_idUUID非空-数据集ID
account_idUUID非空-用户账户ID
tenant_idUUID非空-租户ID
has_permissionBOOLEAN非空true是否有权限
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
dataset_auto_disable_logs - 数据集自动禁用日志表

表基本信息
表名: dataset_auto_disable_logs
主键: id (UUID)
描述: 记录数据集自动禁用的日志

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()日志记录唯一标识符
tenant_idUUID非空-租户ID
dataset_idUUID非空-数据集ID
document_idUUID非空-文档ID
notifiedBOOLEAN非空false是否已通知
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
dataset_metadatas - 数据集元数据表

表基本信息
表名: dataset_metadatas
主键: id (UUID)
描述: 存储数据集的元数据字段定义

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()元数据记录唯一标识符
tenant_idUUID非空-租户ID
dataset_idUUID非空-数据集ID
typeVARCHAR(255)非空-元数据类型
nameVARCHAR(255)非空-元数据名称
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
created_byUUID非空-创建者ID
updated_byUUID可空NULL更新者ID
dataset_metadata_bindings - 数据集元数据绑定表

表基本信息
表名: dataset_metadata_bindings
主键: id (UUID)
描述: 绑定文档与元数据字段

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()绑定记录唯一标识符
tenant_idUUID非空-租户ID
dataset_idUUID非空-数据集ID
metadata_idUUID非空-元数据ID
document_idUUID非空-文档ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
created_byUUID非空-创建者ID
external_knowledge_apis - 外部知识API表

表基本信息
表名: external_knowledge_apis
主键: id (UUID)
描述: 存储外部知识API的配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()API记录唯一标识符
nameVARCHAR(255)非空-API名称
descriptionVARCHAR(255)非空-API描述
tenant_idUUID非空-租户ID
settingsTEXT可空NULLAPI设置(JSON)
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_byUUID可空NULL更新者ID
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
external_knowledge_bindings - 外部知识绑定表

表基本信息
表名: external_knowledge_bindings
主键: id (UUID)
描述: 绑定数据集与外部知识API

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()绑定记录唯一标识符
tenant_idUUID非空-租户ID
external_knowledge_api_idUUID非空-外部知识API ID
dataset_idUUID非空-数据集ID
external_knowledge_idTEXT非空-外部知识ID
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_byUUID可空NULL更新者ID
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tidb_auth_bindings - TiDB认证绑定表

表基本信息
表名: tidb_auth_bindings
主键: id (UUID)
描述: 存储TiDB数据库的认证绑定信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()绑定记录唯一标识符
tenant_idUUID可空NULL租户ID
cluster_idVARCHAR(255)非空-集群ID
cluster_nameVARCHAR(255)非空-集群名称
activeBOOLEAN非空false是否激活
statusVARCHAR(255)非空‘CREATING’状态
accountVARCHAR(255)非空-账户名
passwordVARCHAR(255)非空-密码
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
whitelists - 白名单表

表基本信息
表名: whitelists
主键: id (UUID)
描述: 存储系统白名单信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()白名单记录唯一标识符
tenant_idUUID可空NULL租户ID
categoryVARCHAR(255)非空-白名单类别
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
rate_limit_logs - 限流日志表

表基本信息
表名: rate_limit_logs
主键: id (UUID)
描述: 记录系统限流日志

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()日志记录唯一标识符
tenant_idUUID非空-租户ID
subscription_planVARCHAR(255)非空-订阅计划
operationVARCHAR(255)非空-操作类型
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
表关联关系总结
主要关联关系

数据集相关:
datasets ←→ dataset_process_rules (一对多)
datasets ←→ dataset_queries (一对多)
datasets ←→ dataset_keyword_tables (一对一)
datasets ←→ dataset_permissions (一对多)
datasets ←→ dataset_metadatas (一对多)
文档相关:
documents ←→ document_segments (一对多)
document_segments ←→ child_chunks (一对多)
元数据相关:
dataset_metadatas ←→ dataset_metadata_bindings (一对多)
documents ←→ dataset_metadata_bindings (一对多)
外部知识相关:
external_knowledge_apis ←→ external_knowledge_bindings (一对多)
datasets ←→ external_knowledge_bindings (一对多)
功能分类
文档处理: document_segments, child_chunks
向量存储: embeddings, dataset_collection_bindings
处理规则: dataset_process_rules
查询记录: dataset_queries
关键词索引: dataset_keyword_tables
权限管理: dataset_permissions
元数据管理: dataset_metadatas, dataset_metadata_bindings
外部集成: external_knowledge_apis, external_knowledge_bindings
系统管理: tidb_auth_bindings, whitelists, rate_limit_logs
这些表共同构成了完整的知识库管理系统,支持文档处理、向量检索、权限控制、外部集成等核心功能。

workflows-工作流表

表基本信息
表名: workflows
主键: id (UUID)
索引: workflow_version_idx (tenant_id, app_id, version)
描述: 工作流表,存储工作流应用和聊天应用工作流模式的配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()工作流唯一标识符
tenant_idUUID非空-所属租户ID
app_idUUID非空-所属应用ID
typeVARCHAR(255)非空-工作流类型,可选值: workflow(工作流应用), chat(聊天应用工作流模式)
versionVARCHAR(255)非空-版本号,draft 表示草稿版本(每个应用只有一个)
marked_nameVARCHAR(255)非空‘’标记名称
marked_commentVARCHAR(255)非空‘’标记注释
graphTEXT可空NULL工作流画布配置(JSON),包含节点、边和其他配置的完整画布配置
_featuresTEXT可空NULL功能特性配置(JSON)
created_byUUID非空-创建者ID
updated_byUUID可空NULL更新者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
_environment_variablesTEXT非空‘{}’环境变量(JSON)
_conversation_variablesTEXT非空‘{}’对话变量(JSON)
关联关系
一对多关系

应用 → 工作流:
apps.id ←→ workflows.app_id
一个应用可以有多个工作流版本
工作流 → 工作流运行:
workflows.id ←→ workflow_runs.workflow_id
一个工作流可以有多个运行记录
工作流 → 节点执行:
workflows.id ←→ workflow_node_executions.workflow_id
一个工作流可以有多个节点执行记录
工作流 → 应用日志:
workflows.id ←→ workflow_app_logs.workflow_id
一个工作流可以有多个应用日志记录
工作流 → 草稿变量:
workflows.app_id ←→ workflow_draft_variables.app_id
一个工作流可以有多个草稿变量

一对多关系(子表)

租户 → 工作流:
tenants.id ←→ workflows.tenant_id
一个租户可以有多个工作流
用户 → 工作流:
accounts.id ←→ workflows.created_by
一个用户可以创建多个工作流
特殊属性方法

配置属性

graph_dict: 工作流图配置字典
features_dict: 功能特性配置字典
environment_variables: 环境变量列表
conversation_variables: 对话变量列表

节点管理

get_node_config_by_id(): 根据节点ID获取节点配置
get_node_type_from_node_config(): 从节点配置获取节点类型
get_enclosing_node_type_and_id(): 获取包含节点的类型和ID

表单生成

user_input_form(): 生成用户输入表单

安全属性

unique_hash: 唯一哈希值
tool_published: 工具是否已发布

业务功能
工作流管理

版本控制: 支持草稿版本和发布版本
画布配置: 存储完整的节点和边配置
变量管理: 管理环境变量和对话变量
功能特性: 支持文件上传等功能配置

应用类型支持

工作流应用: type = ‘workflow’
聊天应用工作流模式: type = ‘chat’

执行追踪

支持工作流运行记录
支持节点执行记录
支持应用日志记录
支持草稿变量记录

安全特性

环境变量加密存储
支持密钥变量类型
变量访问控制

工作流类型枚举

class WorkflowType(Enum):
WORKFLOW = “workflow” # 工作流应用
CHAT = “chat” # 聊天应用工作流模式

版本管理

草稿版本: version = ‘draft’ (每个应用只有一个)
发布版本: version = ‘版本号’ (如时间戳)
这个表是整个工作流系统的核心,管理着所有工作流的配置、版本、变量和执行记录。它支持复杂的工作流设计,包括节点配置、变量管理、执行追踪等功能。

workflow_runs - 工作流运行表

表基本信息
表名: workflow_runs
主键: id (UUID)
描述: 记录工作流的执行运行信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()运行记录唯一标识符
tenant_idUUID非空-所属租户ID
app_idUUID非空-所属应用ID
workflow_idUUID非空-关联的工作流ID
typeVARCHAR(255)非空-工作流类型
triggered_fromVARCHAR(255)非空-触发来源,可选值: debugging(画布调试), app-run(应用执行)
versionVARCHAR(255)非空-工作流版本
graphTEXT可空NULL工作流画布配置(JSON)
inputsTEXT可空NULL输入参数(JSON)
statusVARCHAR(255)非空-执行状态,可选值: running, succeeded, failed, stopped, partial-succeeded
outputsTEXT可空‘{}’输出内容(JSON)
errorTEXT可空NULL错误原因
elapsed_timeFLOAT非空0耗时(秒)
total_tokensBIGINT非空0总令牌数
total_stepsINTEGER可空0总步数
created_by_roleVARCHAR(255)非空-创建者角色,可选值: account(控制台账户), end_user(终端用户)
created_byUUID非空-运行者ID
created_atDATETIME非空CURRENT_TIMESTAMP运行时间
finished_atDATETIME可空NULL结束时间
exceptions_countINTEGER可空0异常次数
workflow_node_executions - 工作流节点执行表

表基本信息
表名: workflow_node_executions
主键: id (UUID)
描述: 记录工作流中每个节点的执行详情

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()节点执行记录唯一标识符
tenant_idUUID非空-所属租户ID
app_idUUID非空-所属应用ID
workflow_idUUID非空-关联的工作流ID
triggered_fromVARCHAR(255)非空-触发来源,可选值: single-step(单步调试), workflow-run(工作流执行)
workflow_run_idUUID可空NULL关联的工作流运行ID
indexINTEGER非空-执行序号
predecessor_node_idVARCHAR(255)可空NULL前置节点ID
node_execution_idVARCHAR(255)可空NULL节点执行ID
node_idVARCHAR(255)非空-节点ID
node_typeVARCHAR(255)非空-节点类型(如 start)
titleVARCHAR(255)非空-节点标题
inputsTEXT可空NULL输入变量(JSON)
process_dataTEXT可空NULL节点处理数据(JSON)
outputsTEXT可空NULL输出变量(JSON)
statusVARCHAR(255)非空-执行状态,可选值: running, succeeded, failed
errorTEXT可空NULL错误原因
elapsed_timeFLOAT非空0耗时(秒)
execution_metadataTEXT可空NULL执行元数据(JSON),包含: total_tokens, total_price, currency
created_atDATETIME非空CURRENT_TIMESTAMP运行时间
created_by_roleVARCHAR(255)非空-创建者角色
created_byUUID非空-运行者ID
finished_atDATETIME可空NULL结束时间
workflow_app_logs - 工作流应用日志表

表基本信息
表名: workflow_app_logs
主键: id (UUID)
描述: 记录工作流应用的执行日志(排除调试记录)

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()日志记录唯一标识符
tenant_idUUID非空-所属租户ID
app_idUUID非空-所属应用ID
workflow_idUUID非空-关联的工作流ID
workflow_run_idUUID可空NULL关联的工作流运行ID
created_fromVARCHAR(255)非空-创建来源,可选值: service-api(OpenAPI), web-app(Web应用), installed-app(已安装应用)
created_by_roleVARCHAR(255)非空-创建者角色,可选值: account(控制台账户), end_user(终端用户)
created_byUUID非空-创建者ID
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
workflow_conversation_variables - 工作流对话变量表

表基本信息
表名: workflow_conversation_variables
主键: id (UUID)
描述: 存储工作流对话中的变量数据

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()变量记录唯一标识符
conversation_idUUID非空,主键-对话ID
app_idUUID非空-所属应用ID
dataTEXT非空-变量数据(JSON)
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
workflow_draft_variables - 工作流草稿变量表

表基本信息
表名: workflow_draft_variables
主键: id (UUID)
描述: 记录工作流调试过程中生成的变量和输出

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()草稿变量记录唯一标识符
app_idUUID非空-所属应用ID
node_idVARCHAR(255)非空-节点ID,特殊值: conversation(对话变量), sys(系统变量)
nameVARCHAR(255)非空-变量名称
descriptionVARCHAR(255)非空‘’变量描述
selectorVARCHAR(255)非空-变量选择器
value_typeENUM非空-值类型
valueTEXT非空-变量值(JSON)
visibleBOOLEAN非空true是否在变量检查面板显示
editableBOOLEAN非空false用户是否可修改
node_execution_idUUID可空NULL创建该变量的节点执行ID
last_edited_atDATETIME可空NULL最后编辑时间
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
关联关系
一对多关系

工作流 → 运行记录:
workflows.id ←→ workflow_runs.workflow_id
一个工作流可以有多个运行记录
工作流运行 → 节点执行:
workflow_runs.id ←→ workflow_node_executions.workflow_run_id
一个工作流运行包含多个节点执行
工作流 → 应用日志:
workflows.id ←→ workflow_app_logs.workflow_id
一个工作流可以有多个应用日志
应用 → 草稿变量:
apps.id ←→ workflow_draft_variables.app_id
一个应用可以有多个草稿变量

一对多关系(子表)

租户 → 运行记录:
tenants.id ←→ workflow_runs.tenant_id
一个租户可以有多个运行记录
用户 → 运行记录:
accounts.id ←→ workflow_runs.created_by
一个用户可以触发多个运行记录

providers表结构详细分析

表基本信息
表名: providers
主键: id (UUID)
索引: provider_tenant_id_provider_idx (tenant_id, provider_name)
描述: 存储API提供商及其配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()提供商记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称,如: openai, anthropic, google, azure 等
provider_typeVARCHAR(40)非空‘custom’提供商类型,可选值: custom(自定义), system(系统)
encrypted_configTEXT可空NULL加密的配置信息,包含API密钥、端点URL等敏感信息
is_validBOOLEAN非空false是否有效
last_usedDATETIME可空NULL最后使用时间
quota_typeVARCHAR(40)可空‘’配额类型
可选值: paid(付费), free(免费), trial(试用)
quota_limitBIGINT可空NULL配额限制
quota_usedBIGINT可空0已使用配额
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
索引结构
索引名字段类型说明
provider_pkeyid主键提供商主键索引
provider_tenant_id_provider_idxtenant_id, provider_name复合索引租户提供商查询索引
unique_provider_name_type_quotatenant_id, provider_name, provider_type, quota_type唯一约束提供商名称类型配额唯一约束
关联关系
一对多关系

租户 → 提供商:
tenants.id ←→ providers.tenant_id
一个租户可以有多个提供商配置
提供商 → 提供商模型:
providers.provider_name ←→ provider_models.provider_name
一个提供商可以有多个模型配置
提供商 → 默认模型:
providers.provider_name ←→ tenant_default_models.provider_name
一个提供商可以有多个默认模型
提供商 → 模型设置:
providers.provider_name ←→ provider_model_settings.provider_name
一个提供商可以有多个模型设置
提供商 → 负载均衡配置:
providers.provider_name ←→ load_balancing_model_configs.provider_name
一个提供商可以有多个负载均衡配置
提供商 → 订单:
providers.provider_name ←→ provider_orders.provider_name
一个提供商可以有多个订单记录

一对多关系(子表)

用户 → 提供商订单:
accounts.id ←→ provider_orders.account_id
一个用户可以创建多个提供商订单
特殊属性方法

安全属性

token_is_set: 检查是否设置了令牌
is_enabled: 检查提供商是否启用
系统提供商: 只需要 is_valid = true
自定义提供商: 需要 is_valid = true 且 token_is_set = true

枚举定义

ProviderType 枚举
class ProviderType(Enum):
CUSTOM = “custom” # 自定义提供商
SYSTEM = “system” # 系统提供商
ProviderQuotaType 枚举
class ProviderQuotaType(Enum):
PAID = “paid” # 托管付费配额
FREE = “free” # 第三方免费配额
TRIAL = “trial” # 托管试用配额

业务功能

提供商管理
配置管理: 存储API密钥、端点等配置信息
类型区分: 支持系统提供商和自定义提供商
状态管理: 管理提供商的有效性和启用状态
使用追踪: 记录最后使用时间

配额管理

配额类型: 支持付费、免费、试用三种配额类型
配额限制: 设置配额上限
使用统计: 跟踪已使用的配额量

安全特性

配置加密: 敏感配置信息加密存储
访问控制: 基于租户的访问控制
状态验证: 提供商启用状态验证
监控功能
使用统计: 记录最后使用时间
配额监控: 监控配额使用情况
状态追踪: 追踪提供商有效性

相关表结构
  1. provider_models - 提供商模型表
    存储每个提供商的具体模型配置
    包含模型名称、类型、配置等信息
  2. tenant_default_models - 租户默认模型表
    存储租户的默认模型设置
    按提供商和模型类型分组
  3. provider_model_settings - 提供商模型设置表
    管理模型的启用状态和负载均衡设置
  4. load_balancing_model_configs - 负载均衡模型配置表
    配置负载均衡的具体参数
  5. provider_orders - 提供商订单表
    记录提供商相关的订单信息
    包含支付状态、金额等信息
    这个表是整个AI提供商管理系统的核心,负责管理各种AI服务提供商的配置、配额、状态等信息,为应用提供AI模型服务支持。
provider_models - 提供商模型表

表基本信息
表名: provider_models
主键: id (UUID)
索引: provider_model_tenant_id_provider_idx (tenant_id, provider_name)
描述: 存储每个提供商下的具体模型配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()模型记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
model_nameVARCHAR(255)非空-模型名称
model_typeVARCHAR(40)非空-模型类型,如: llm, embedding, rerank, speech_to_text
encrypted_configTEXT可空NULL加密的模型配置
is_validBOOLEAN非空false模型是否有效
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
provider_orders - 提供商订单表

表基本信息
表名: provider_orders
主键: id (UUID)
索引: provider_order_tenant_provider_idx (tenant_id, provider_name)
描述: 存储提供商服务的购买订单信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()订单唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
account_idUUID非空-购买者账户ID
payment_product_idVARCHAR(191)非空-支付产品ID
payment_idVARCHAR(191)可空NULL支付ID
transaction_idVARCHAR(191)可空NULL交易ID
quantityINTEGER非空1购买数量
currencyVARCHAR(40)可空NULL货币类型
total_amountINTEGER可空NULL总金额(分)
payment_statusVARCHAR(40)非空‘wait_pay’支付状态,可选值: wait_pay, paid, failed, refunded
paid_atDATETIME可空NULL支付时间
pay_failed_atDATETIME可空NULL支付失败时间
refunded_atDATETIME可空NULL退款时间
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
provider_model_settings - 提供商模型设置表

表基本信息
表名: provider_model_settings
主键: id (UUID)
索引: provider_model_setting_tenant_provider_model_idx (tenant_id, provider_name, model_type)
描述: 存储模型启用状态和负载均衡配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()设置记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
model_nameVARCHAR(255)非空-模型名称
model_typeVARCHAR(40)非空-模型类型
enabledBOOLEAN非空true模型是否启用
load_balancing_enabledBOOLEAN非空false是否启用负载均衡
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
load_balancing_model_configs - 负载均衡模型配置表

表基本信息
表名: load_balancing_model_configs
主键: id (UUID)
索引: load_balancing_model_config_tenant_provider_model_idx (tenant_id, provider_name, model_type)
描述: 存储负载均衡模型的详细配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()配置记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
model_nameVARCHAR(255)非空-模型名称
model_typeVARCHAR(40)非空-模型类型
nameVARCHAR(255)非空-配置名称
encrypted_configTEXT可空NULL加密的负载均衡配置
enabledBOOLEAN非空true配置是否启用
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tenant_default_models - 租户默认模型表

表基本信息
表名: tenant_default_models
主键: id (UUID)
索引: tenant_default_model_tenant_id_provider_type_idx (tenant_id, provider_name, model_type)
描述: 存储租户的默认模型配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()默认模型记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
model_nameVARCHAR(255)非空-默认模型名称
model_typeVARCHAR(40)非空-模型类型
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tenant_preferred_model_providers - 租户首选模型提供商表

表基本信息
表名: tenant_preferred_model_providers
主键: id (UUID)
索引: tenant_preferred_model_provider_tenant_provider_idx (tenant_id, provider_name)
描述: 存储租户的首选模型提供商配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()首选提供商记录唯一标识符
tenant_idUUID非空-所属租户ID
provider_nameVARCHAR(255)非空-提供商名称
preferred_provider_typeVARCHAR(40)非空-首选提供商类型,如: custom, system
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
表关联关系
一对多关系:

providers → provider_models (一个提供商有多个模型)
providers → provider_orders (一个提供商有多个订单)
providers → provider_model_settings (一个提供商有多个模型设置)
providers → load_balancing_model_configs (一个提供商有多个负载均衡配置)

多对一关系:

provider_models → providers (多个模型属于一个提供商)
provider_orders → providers (多个订单属于一个提供商)
provider_model_settings → providers (多个设置属于一个提供商)
关联字段:
所有表都通过 tenant_id 关联到租户
通过 provider_name 关联到具体的提供商
通过 model_type 区分不同类型的模型(LLM、Embedding等)
这些表共同构成了完整的AI模型提供商管理系统,支持多租户、多提供商、多模型的复杂配置。

tool_builtin_providers - 内置工具提供商表

表基本信息
表名: tool_builtin_providers
主键: id (UUID)
描述: 存储内置工具的提供商配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()提供商记录唯一标识符
nameVARCHAR(256)非空‘API KEY 1’提供商名称
tenant_idUUID可空NULL所属租户ID
user_idUUID非空-创建者用户ID
providerVARCHAR(256)非空-提供商类型
encrypted_credentialsTEXT可空NULL加密的凭证信息
is_defaultBOOLEAN非空false是否为默认提供商
credential_typeVARCHAR(32)非空‘api-key’凭证类型
可选值: api-key, oauth2
expires_atBIGINT非空-1过期时间戳
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tool_api_providers - API工具提供商表

表基本信息
表名: tool_api_providers
主键: id (UUID)
描述: 存储API工具的提供商配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()提供商记录唯一标识符
nameVARCHAR(255)非空‘API KEY 1’提供商名称
iconVARCHAR(255)非空-提供商图标
schemaTEXT非空-原始Schema定义
schema_type_strVARCHAR(40)非空-Schema类型
user_idUUID非空-创建者用户ID
tenant_idUUID非空-所属租户ID
descriptionTEXT非空-提供商描述
tools_strTEXT非空-工具列表(JSON格式)
credentials_strTEXT非空-凭证信息(JSON格式)
privacy_policyVARCHAR(255)可空NULL隐私政策URL
custom_disclaimerTEXT可空‘’自定义免责声明
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tool_workflow_providers - 工作流工具提供商表

表基本信息
表名: tool_workflow_providers
主键: id (UUID)
描述: 存储工作流工具的提供商配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()提供商记录唯一标识符
nameVARCHAR(255)非空-提供商名称
labelVARCHAR(255)非空‘’提供商标签
iconVARCHAR(255)非空-提供商图标
app_idUUID非空-关联的应用ID
versionVARCHAR(255)非空‘’版本号
user_idUUID非空-创建者用户ID
tenant_idUUID非空-所属租户ID
descriptionTEXT非空-提供商描述
parameter_configurationTEXT非空‘[]’参数配置(JSON格式)
privacy_policyVARCHAR(255)可空‘’隐私政策URL
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tool_mcp_providers - MCP工具提供商表

表基本信息
表名: tool_mcp_providers
主键: id (UUID)
描述: 存储MCP(Model Context Protocol)工具的提供商配置信息

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()提供商记录唯一标识符
nameVARCHAR(40)非空-提供商名称
server_identifierVARCHAR(64)非空-服务器标识符
server_urlTEXT非空-加密的服务器URL
server_url_hashVARCHAR(64)非空-服务器URL哈希值
iconVARCHAR(255)可空NULL提供商图标
tenant_idUUID非空-所属租户ID
user_idUUID非空-创建者用户ID
encrypted_credentialsTEXT可空NULL加密的凭证信息
authedBOOLEAN非空false是否已认证
toolsTEXT非空‘[]’工具列表(JSON格式)
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tool_label_bindings - 工具标签绑定表

表基本信息
表名: tool_label_bindings
主键: id (UUID)
描述: 存储工具与标签的绑定关系

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()绑定记录唯一标识符
tool_idVARCHAR(64)非空-工具ID
tool_typeVARCHAR(40)非空-工具类型
label_nameVARCHAR(40)非空-标签名称
tool_model_invokes - 工具模型调用表

表基本信息
表名: tool_model_invokes
主键: id (UUID)
描述: 存储工具调用的日志记录

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()调用记录唯一标识符
user_idUUID非空-调用者用户ID
tenant_idUUID非空-所属租户ID
providerVARCHAR(255)非空-提供商名称
tool_typeVARCHAR(40)非空-工具类型
tool_nameVARCHAR(128)非空-工具名称
model_parametersTEXT非空-模型参数(JSON格式)
prompt_messagesTEXT非空-提示消息(JSON格式)
model_responseTEXT非空-模型响应(JSON格式)
prompt_tokensINTEGER非空0提示令牌数
answer_tokensINTEGER非空0回答令牌数
answer_unit_priceNUMERIC(10,4)非空-回答单价
answer_price_unitNUMERIC(10,7)非空0.001价格单位
provider_response_latencyFLOAT非空0提供商响应延迟
total_priceNUMERIC(10,7)可空NULL总价格
currencyVARCHAR(255)非空-货币类型
created_atDATETIME非空CURRENT_TIMESTAMP创建时间
updated_atDATETIME非空CURRENT_TIMESTAMP更新时间
tool_files - 工具文件表

表基本信息
表名: tool_files
主键: id (UUID)
描述: 存储工作流中生成的文件元数据

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()文件记录唯一标识符
user_idUUID可空NULL创建者用户ID
tenant_idUUID可空NULL所属租户ID
conversation_idUUID可空NULL关联的对话ID
file_keyVARCHAR(255)非空-文件键值
mimetypeVARCHAR(255)非空-MIME类型
original_urlVARCHAR(2048)可空NULL原始URL
nameVARCHAR(255)可空‘’文件名称
sizeINTEGER可空-1文件大小
tool_oauth_system_clients - 工具OAuth系统客户端表

表基本信息
表名: tool_oauth_system_clients
主键: id (UUID)
描述: 存储系统级别的OAuth客户端配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()客户端记录唯一标识符
plugin_idVARCHAR(512)非空-插件ID
providerVARCHAR(255)非空-提供商名称
encrypted_oauth_paramsTEXT非空-加密的OAuth参数
tool_oauth_tenant_clients - 工具OAuth租户客户端表

表基本信息
表名: tool_oauth_tenant_clients
主键: id (UUID)
描述: 存储租户级别的OAuth客户端配置

字段名类型约束默认值说明
idUUID主键uuid_generate_v4()客户端记录唯一标识符
tenant_idUUID非空-所属租户ID
plugin_idVARCHAR(512)非空-插件ID
providerVARCHAR(255)非空-提供商名称
enabledBOOLEAN非空true是否启用
encrypted_oauth_paramsTEXT非空-加密的OAuth参数
表关联关系
一对多关系:

accounts → tool_builtin_providers (一个用户创建多个内置工具提供商)
accounts → tool_api_providers (一个用户创建多个API工具提供商)
accounts → tool_workflow_providers (一个用户创建多个工作流工具提供商)
accounts → tool_mcp_providers (一个用户创建多个MCP工具提供商)
accounts → tool_model_invokes (一个用户有多个工具调用记录)

多对一关系:

tool_workflow_providers → apps (多个工作流工具提供商关联到一个应用)

关联字段:

所有表都通过 tenant_id 关联到租户
通过 user_id 关联到创建者用户
通过 provider 字段区分不同的工具提供商类型
通过 tool_type 字段区分不同的工具类型
这些表共同构成了完整的工具管理系统,支持内置工具、API工具、工作流工具和MCP工具等多种类型的工具提供商配置和管理。

upload_files(上传文件表)
字段名含义
id主键,UUID
tenant_id所属租户ID
storage_type存储类型(如本地、云存储等)
key存储key/路径
name文件名
size文件大小(字节)
extension文件扩展名
mime_type文件MIME类型
created_by_role创建者角色(如account等)
created_by创建者ID
created_at创建时间
used是否被使用
used_by被谁使用
used_at被使用时间
hash文件hash值
source_url来源URL
tags(标签表)
字段名含义
id主键,UUID
tenant_id所属租户ID
type标签类型(如knowledge, app)
name标签名称
created_by创建者ID
created_at创建时间
tag_bindings(标签绑定表/中间表)
字段名含义
id主键,UUID
tenant_id所属租户ID
tag_id标签ID
target_id绑定对象ID
created_by创建者ID
created_at创建时间
dify_setups(系统设置表)
字段名含义
version版本号(主键)
setup_at安装/初始化时间
api_requests(API请求日志表)
字段名含义
id主键,UUID
tenant_id所属租户ID
api_token_idAPI Token ID
path请求路径
request请求内容
response响应内容
ip请求IP
created_at创建时间
celery_taskmeta(Celery任务表)
字段名含义
id主键,自增
task_id任务ID(唯一)
status任务状态
result任务结果(序列化)
date_done完成时间
traceback异常堆栈
name任务名
args参数(序列化)
kwargs关键字参数(序列化)
worker执行worker
retries重试次数
queue队列名
celery_tasksetmeta(Celery任务集表)
字段名含义
id主键,自增
taskset_id任务集ID(唯一)
result任务集结果(序列化)
date_done完成时间
api_based_extensions(API扩展表)
字段名含义
id主键,UUID
tenant_id所属租户ID
name扩展名称
api_endpointAPI地址
api_keyAPI密钥
created_at创建时间
api_based_extension_points(API扩展点表)

该表在模型中未直接定义为表,而是以枚举形式存在,常见的扩展点有:
APP_EXTERNAL_DATA_TOOL_QUERY
PING
APP_MODERATION_INPUT
APP_MODERATION_OUTPUT

还有些枚举类当做表了。整理了一天多,还是耐心发表一下,说明:这个仅是半成品,仅做参考使用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值