跳到主要内容

数据库模式领域地图

本文是 Open ACE 数据库的领域地图。逐列参考以 schema/schema-postgres.sql 为权威,该文件包含全部 104 张表 + 1 个物化视图;本文与该文件不一致时,以 SQL 文件为准。Open ACE 同时支持 SQLite(单机)与 PostgreSQL(生产);模式变更统一通过 migrations/versions/ 中的 Alembic 迁移完成(见 SCHEMA_MIGRATION_GUIDE.md)。

领域地图 — 全部 104 张表​

schema/schema-postgres.sql 中定义的每一张表,按领域分组,每表一行职责。最常用的 46 张表的逐列细节见下文常用表详表;其余表请直接查阅 SQL 文件。

用户与认证(8 张)​

表职责
users核心账号表:角色(platform_admin/tenant_admin/manager/user/readonly)、租户归属、软删除、按用户的令牌/请求配额、令牌失效水位
sessionsAPI 认证会话:令牌、用户、过期时间、激活标志
web_user_auth_sessionsWeb UI 会话令牌,拥有独立的过期生命周期
user_permissions管理员授予的按用户权限覆盖
role_permissions角色 → 权限模板行,支撑 RBAC 校验
login_attempts登录失败计数,用于账号锁定
user_tool_accounts发现的工具账号/系统账号到平台用户的映射(映射来源、状态、核验)
tool_account_mapping_rules用户定义的模式规则,用于自动映射发现的工具账号

消息与会话(3 张)​

表职责
daily_messages跨工具/主机的全量消息分析事实表;不是 Workspace 运行时数据源(见会话数据契约)
agent_sessions权威的 Workspace 会话汇总表,每会话一行
session_messages权威的会话内消息转录表(带来源标记,按 external_message_id 幂等)

三张会话表受 ../contracts/WORKSPACE_SESSION_DATA_CONTRACT.md 约束,该契约定义了三表之间的数据边界以及 request_count 的唯一产品语义。

统计计量(8 张)​

表职责
daily_stats按工具/主机/发送人预聚合的日统计
hourly_stats按工具/主机的逐小时用量
daily_usage租户维度的日用量(含缓存令牌);自治开发用量的同步目标
usage_summary面板使用的按工具/主机全期汇总
user_daily_stats按用户预聚合的日用量
session_daily_usage长运行 WebUI 会话的按会话按日增量用量(Issue #3338)
request_performance原始请求性能事件(TTFT、耗时;Issue #3080)
response_time_stats按日/工具/主机预聚合的响应时间分位数

多租户(4 张)​

表职责
tenants租户注册表:状态、套餐、计费周期、超限策略、软删除
tenant_settings与租户 1:1 的设置:过滤、审计/保留开关、SSO、品牌、allowed_tools
tenant_quotas与租户 1:1 的限额(令牌/请求配额、用户数上限、人均会话数)
tenant_usage按租户的日用量计数

SSO(4 张)​

表职责
sso_providersSSO 提供商配置(oauth2/oidc/saml),密钥加密存储,按租户隔离
sso_identities提供商身份 → 本地用户的关联
sso_sessionsSSO 会话令牌及提供商 access/refresh 令牌
sso_auth_states短时 OAuth 登录流程状态(PKCE verifier、nonce),带 TTL 清理

自治开发(8 张)​

表职责
agent_runs运行时间线锚点,与 agent_sessions 1:1(run_id == session_id)
agent_run_events追加式运行事件流(run_id 刻意设计为普通索引而非外键)
agent_approvals以 request_id 为键的持久化权限请求/响应对
autonomous_workflows自治开发工作流状态:需求、仓库/PR 绑定、CI 修复、重试、锁
workflow_events按工作流的事件日志(可关联里程碑)
workflow_milestones按工作流的里程碑/阶段跟踪:开发轮次、评审会话、GitHub issue/PR 编号
policy_rules带匹配器的版本化策略规则定义
policy_decisions按请求的策略评估审计记录

合规保留(5 张)​

表职责
retention_policies按租户、按数据类型的保留规则(天数、动作、归档目标)
retention_executions每次保留执行:状态、加锁、扫描/影响行数
retention_evidence每次执行的证据:前后行数、归档位置与校验和
legal_holds阻止保留删除的法律保全标记
recycle_bin等待过期或恢复的软删除记录

通知集成(5 张)​

表职责
webhook_settings出站 Webhook 单例配置(加密密钥、私网 URL 策略)
webhook_deliveries按告警的 Webhook 投递尝试,带重试/冷却状态
dingtalk_settings钉钉集成单例配置(加密签名密钥)
feishu_settings飞书集成单例配置(核验状态)
tenant_sensitive_keywords租户维度的自定义敏感词(Issue #2789)

调度运维(9 张)​

表职责
scheduler_runs按任务的调度执行历史,含锁策略与围栏令牌(Issue #2187/#2333)
scheduler_leaders每个调度任务的分布式选主状态
consistency_violations检测到的数据漂移:期望/实际值与修复状态
deregister_failures机器注销时失败的会话终止批次,供后台补偿重放(Issue #2596)
parse_failure_records工具输出解析失败及重试跟踪(Issue #2589)
config_import_state配置入库时每个配置键的导入状态
schema_metadata模式初始化/版本标记,作为数据库层兼容性守卫(Issue #2330)
tenant_migrations租户迁移批次:受影响的用户/会话/项目及进度(Issue #2163)
mapping_migration_status工具账号映射回填的进度簿记

计量账务(10 张)​

表职责
tenant_plans套餐目录:配额默认值、定价、功能开关
tenant_period_history每次配额重置时归档的租户周期用量
usage_report_receipts远端用量上报的幂等回执(Issue #1891)
usage_report_rate_limits用量上报接入的滑动窗口限流
aggregation_history租户用量聚合运行记录,含质量报告与错误状态
aggregation_locks聚合作业的数据库级分布式锁
backfill_logs历史回填作业日志(行数、日期范围、状态)
alerts_history已发送告警的投递历史(收件人、渠道、状态)
archive_files归档数据文件:校验和、记录数、过期时间
tenant_keywords_version租户敏感词版本计数器,用于多进程缓存一致性

安全(7 张)​

表职责
proxy_token_jtis代理令牌 JTI 注册表:一次性/防重放(Issue #1758)
external_identity_nonces外部身份 HMAC 探测的防重放 nonce(issuer + nonce + 过期时间;Issue #3459)
encryption_keys加密密钥元数据(指纹、状态、轮换);明文只存环境变量,绝不入库
permission_checkpoints异步权限设置扫描的可恢复检查点
permission_tasks共享项目异步权限设置任务及进度(Issue #2746)
tool_account_conflicts工具账号映射冲突事件(Issue #2761)
test_execution_evidence按命令的结构化测试判定(框架结果、覆盖率)
command_execution_evidence自治开发运行中按命令的权威执行记录

远程运行时(7 张)​

表职责
remote_machines已注册的远程机器:能力、心跳、令牌撤销超时
remote_runtime_commands远端 agent 的 HTTP 轮询命令队列(请求/响应)
remote_runtime_outputs远程会话的持久化 SSE 回放缓冲
machine_assignments用户 → 机器的权限分配
agent_tokens哈希存储的 agent 令牌,带轮换、延迟撤销与版本(Issue #2499/#2530)
registration_tokens一次性机器注册令牌(哈希 + 消费标记)
api_key_store按租户加密存储的 AI 提供商 API 密钥及 CLI 路由配置

其余领域(25 张)​

治理与审计:

表职责
audit_logs平台审计流水(操作者、动作、严重级、租户归属)
compliance_reports按周期生成的合规报告载荷
insights_reportsAI 生成的用量洞察报告
anomaly_status去重后的异常检测状态及处理进度
content_filter_rules全局内容过滤规则
security_settings安全配置键值存储
retention_history旧版保留报告快照(时间戳 + 报告数据)

工作区与项目:

表职责
projects已注册的项目工作区,租户隔离,含权限设置状态
user_projects按用户的项目汇总(会话、令牌、请求、时长)
project_categories项目分类字典
prompt_templates可复用提示词模板;名称唯一以保证幂等播种(Issue #2577)

告警与配额:

表职责
alerts面向用户的告警收件箱,带操作链接
quota_usage按用户、按周期(及按工具)的配额消耗
quota_alerts配额阈值告警,带确认跟踪
notification_preferences按用户的通知渠道(邮件/推送/Webhook、严重级下限)

协作与同步:

表职责
teams团队及其设置
team_members团队成员及角色
shared_sessions会话分享链接,带权限与访问计数
knowledge_base团队知识库条目
annotations会话/消息批注,支持回复串嵌套
sync_events多源同步事件日志

平台设置:

表职责
ai_agent_settingsAI agent 配置键值存储
model_gateway_configLiteLLM 兼容模型网关单例配置
smtp_settingsSMTP 发信配置,密码加密存储
email_notification_logs邮件投递尝试及重试状态

常用表详表​

以下表格是代码与文档中最常引用的表,逐列细节做了精简(共 46 张)。其余表(104 张中的另外 57 张)只由 schema/schema-postgres.sql 文档化——请直接查阅该文件。

用户与认证​

users​

核心用户表,支持基于角色的访问控制。

列类型说明
idinteger PK自增
usernamevarcharUNIQUE, NOT NULL
password_hashvarcharbcrypt(12 轮)
emailvarchar
is_adminbooleanDEFAULT false
is_activebooleanDEFAULT true
rolevarcharCHECK IN ('platform_admin','tenant_admin','manager','user','readonly')
daily_token_quotabigint以 M 为单位存储(Issue #3018)
monthly_token_quotabigint以 M 为单位存储(Issue #3018)
daily_request_quotabigint按实际次数存储(Issue #3018)
monthly_request_quotabigint按实际次数存储(Issue #3018)
tenant_idintegerFK → tenants(id) ON DELETE SET NULL
must_change_passwordbooleanDEFAULT false
system_accounttext多用户模式下的 OS 用户名
deleted_attimestamp软删除
avatar_urlvarchar(500)头像 URL
auto_mapping_enabledboolean工具账号自动映射开关
tenant_versioninteger租户迁移跟踪(Issue #2163)
tokens_valid_aftertimestamp拒绝早于该时间戳签发的令牌(Issue #3379)

索引:idx_users_active、idx_users_deleted、idx_users_email、idx_users_role、idx_users_tenant

sessions​

基于令牌访问的认证会话。

列类型说明
idinteger PK
tokenvarcharUNIQUE, NOT NULL
user_idintegerFK → users(id) ON DELETE CASCADE
created_attimestamp
expires_attimestampNOT NULL
is_activebooleanDEFAULT true

索引:idx_sessions_active、idx_sessions_expires、idx_sessions_token、idx_sessions_user_id

web_user_auth_sessions​

Web UI 认证会话。

列类型说明
idinteger PK
user_idintegerFK → users(id)
session_tokentextUNIQUE
created_attimestamp
expires_attimestamp

user_tool_accounts​

将系统账号映射到平台用户的 AI 工具账号表。

列类型说明
idinteger PK
user_idintegerFK → users(id) ON DELETE CASCADE
tool_accountvarchar(255)UNIQUE
tool_typevarchar(50)
descriptionvarchar(255)
mapping_sourcevarchar映射创建方式(Issue #2761)
mapping_statusvarchar映射生命周期状态
verification_statusvarchar账号映射核验(Issue #3273)
verified_attimestamp核验时间
tenant_idinteger租户维度

user_daily_stats​

按用户预聚合的日用量,优化查询。

列类型说明
idinteger PK
user_idintegerFK → users(id) ON DELETE CASCADE
datedate
requestsintegerDEFAULT 0
tokensintegerDEFAULT 0
input_tokensintegerDEFAULT 0
output_tokensintegerDEFAULT 0
cache_tokensintegerDEFAULT 0

唯一约束:(user_id, date)

消息与会话​

三张表的读写边界是契约性的——见 ../contracts/WORKSPACE_SESSION_DATA_CONTRACT.md。

daily_messages​

核心消息事实表——全量 AI 交互的分析存储。

列类型说明
idinteger PK
datevarcharNOT NULL
tool_namevarcharNOT NULL
host_namevarcharDEFAULT 'localhost'
message_idvarcharNOT NULL
parent_idvarchar
rolevarcharNOT NULL(user/assistant/system)
contenttext
full_entrytext
tokens_usedintegerDEFAULT 0
input_tokensintegerDEFAULT 0
output_tokensintegerDEFAULT 0
modelvarchar
timestamptimestamp
sender_idvarchar
sender_namevarchar
message_sourcevarchar
conversation_idvarchar
agent_session_idvarchar关联 agent_sessions
user_idinteger
project_pathtext
tenant_idinteger租户维度
feishu_conversation_idvarchar飞书群聊
group_subject / is_group_chatvarchar / boolean群聊上下文

唯一约束:(date, tool_name, message_id, host_name)。18 个索引覆盖各类查询模式。

agent_sessions​

权威的 Workspace 会话汇总表(每会话一行)。

列类型说明
idinteger PK
session_idtextUNIQUE
tenant_idintegerDEFAULT 1;租户维度会话查找与写入边界
tenant_versioninteger租户迁移跟踪
session_typetextDEFAULT 'chat'
titletext
tool_nametextNOT NULL
host_nametextDEFAULT 'localhost'
user_idinteger
statustextDEFAULT 'active'
total_tokensintegerDEFAULT 0
total_input_tokens / total_output_tokensintegerDEFAULT 0
total_cache_read_tokens / total_cache_write_tokensinteger缓存令牌合计
message_countintegerDEFAULT 0
request_countinteger去重后的 assistant 响应数(见会话数据契约)
modeltext
project_idinteger
project_pathvarchar(500)
context / settings / tagstext会话上下文、设置、标签
created_at / updated_at / completed_at / expires_at / paused_attimestamp生命周期时间戳
workspace_typetextDEFAULT 'local'
remote_machine_idtext关联的远程机器
cli_session_idtextCLI 侧会话标识
daily_usage_syncedboolean向 daily_usage 幂等同步的标志(Issue #2585)

session_messages​

agent 会话内的权威转录表。

列类型说明
idinteger PK
session_idtextFK → agent_sessions(session_id)
tenant_idintegerDEFAULT 1;租户维度消息查找
roletextNOT NULL
contenttext
tokens_usedintegerDEFAULT 0
modeltext
timestamptimestamp
metadatatext
milestone_idvarchar自治开发里程碑关联
sourcevarchar写入路径来源标记
source_timestamptimestamp原始事件时间
external_message_idvarchar提供商消息 id;与 (session_id, role) 共同构成幂等键
content_blockstext结构化内容回放

会话索引包括 idx_agent_sessions_tenant_user、idx_agent_sessions_tenant_updated、idx_session_messages_tenant_session、idx_session_messages_tenant_session_timestamp。

统计​

daily_stats​

按工具/主机/发送人聚合的日统计。

列类型说明
datevarchar(10)NOT NULL
tool_namevarchar(50)NOT NULL
host_namevarchar(100)DEFAULT 'localhost'
sender_namevarchar(100)
total_tokensbigintNOT NULL
total_input_tokensbigintNOT NULL
total_output_tokensbigintNOT NULL
message_countintegerNOT NULL
project_idinteger
project_pathvarchar(500)
user_idinteger
tenant_idinteger租户维度

唯一约束:(date, tool_name, host_name, sender_name)

hourly_stats​

按小时的用量分解。

列类型说明
datevarchar(10)NOT NULL
hourintegerNOT NULL
tool_namevarchar(50)NOT NULL
host_namevarchar(100)DEFAULT 'localhost'
total_tokensbigintNOT NULL
total_input_tokensbigintNOT NULL
total_output_tokensbigintNOT NULL
message_countintegerNOT NULL
tenant_idinteger租户维度

唯一约束:(date, hour, tool_name, host_name)

daily_usage​

带缓存令牌跟踪的日用量。

列类型说明
idinteger PK
tenant_idintegerDEFAULT 1;租户维度用量聚合键
datedateNOT NULL
tool_namevarcharNOT NULL
host_namevarcharDEFAULT 'localhost'
tokens_usedintegerDEFAULT 0
input_tokensintegerDEFAULT 0
output_tokensintegerDEFAULT 0
cache_tokensintegerDEFAULT 0
request_countintegerDEFAULT 0
models_usedtext

唯一约束:(tenant_id, date, tool_name, host_name)

索引:idx_usage_date、idx_usage_date_tool_host(tenant_id, date, tool_name, host_name)、idx_usage_tenant_date

usage_summary​

面向面板的按工具/主机全期汇总。

列类型说明
tool_namevarchar(50)NOT NULL
host_namevarchar(100)
days_countintegerNOT NULL
total_tokensbigintNOT NULL
avg_tokensbigintNOT NULL
total_requestsintegerNOT NULL
total_input_tokensbigintNOT NULL
total_output_tokensbigintNOT NULL
first_datevarchar(10)
last_datevarchar(10)

唯一约束:(tool_name, host_name)

session_stats(物化视图)​

从 daily_messages 中 agent_session_id IS NOT NULL 的行聚合而来,提供会话级令牌数、消息数与时间范围。这是模式中唯一的物化视图。

多租户​

tenants​

列类型说明
idinteger PK
nametextNOT NULL
slugtextUNIQUE
statustextCHECK IN ('active','suspended','trial','inactive')
plantextCHECK IN ('free','standard','premium','enterprise')
contact_email / contact_phone / contact_nametext联系信息
quota / settingstextJSON 配置
user_countintegerDEFAULT 0
total_tokens_usedintegerDEFAULT 0
total_requests_madeintegerDEFAULT 0
billing_day / billing_cycle_type / billing_cycle_start / billing_cycle_end各异计费周期
current_cycle_tokensbigint当前周期令牌数
over_limit_strategy / over_limit_price_per_tokentext/numeric超限处理策略
usage_alert_threshold / usage_critical_threshold / alert_silence_hoursnumeric用量告警阈值
trial_ends_at / subscription_ends_attimestamp生命周期
deleted_attimestamp软删除

tenant_settings(与 tenants 1:1)​

列类型说明
tenant_idintegerUNIQUE FK → tenants(id) ON DELETE CASCADE
content_filter_enabledbooleanDEFAULT true
audit_log_enabledbooleanDEFAULT true
audit_log_retention_daysintegerDEFAULT 90
data_retention_daysintegerDEFAULT 365
sso_enabledbooleanDEFAULT false
sso_providertext默认提供商名
custom_branding / branding_name / branding_logo_url各异品牌定制
auto_provision_userstext自动开通策略
block_sensitive_keyword / sensitive_keyword_match_modeboolean/text敏感词策略
allowed_tools / roi_assumptionstextJSON 配置(Issue #2788)

tenant_quotas(与 tenants 1:1)​

列类型说明
tenant_idintegerUNIQUE FK → tenants(id) ON DELETE CASCADE
daily_token_limitbigintDEFAULT 1,000,000(按实际令牌数,Issue #1259)
monthly_token_limitbigintDEFAULT 30,000,000(按实际令牌数,Issue #1259)
daily_request_limitbigintDEFAULT 10,000(Issue #3018)
monthly_request_limitbigintDEFAULT 300,000(Issue #3018)
max_usersintegerDEFAULT 100
max_sessions_per_userintegerDEFAULT 5

tenant_usage​

列类型说明
idinteger PK
tenant_idintegerFK → tenants(id) ON DELETE CASCADE
datedateNOT NULL
tokens_usedintegerDEFAULT 0
requests_madeintegerDEFAULT 0
active_usersintegerDEFAULT 0
new_usersintegerDEFAULT 0

唯一约束:(tenant_id, date)

SSO​

sso_providers​

列类型说明
idinteger PK
nametextUNIQUE
provider_typetextNOT NULL(oauth2/oidc/saml)
configtextNOT NULL(JSON;存储加密的 client_secret_encrypted 而非明文 client_secret)
tenant_idintegerFK → tenants(id)
is_activebooleanDEFAULT true

sso_identities​

列类型说明
idinteger PK
user_idintegerFK → users(id)
provider_nametextNOT NULL
provider_user_idtextNOT NULL
provider_datatext提供商原始声明

唯一约束:(provider_name, provider_user_id)

sso_sessions​

列类型说明
idinteger PK
session_tokentextUNIQUE
user_idintegerFK → users(id)
provider_nametextNOT NULL
access_tokentext
refresh_tokentext
expires_attimestamp

治理与合规​

audit_logs​

列类型说明
idinteger PK
timestamptimestampDEFAULT CURRENT_TIMESTAMP
user_idinteger
tenant_idinteger尽可能从操作者解析,用于租户维度的审计查询
usernametext
actiontextNOT NULL
severitytextDEFAULT 'info'
resource_typetext
resource_idtext
detailstext
ip_addresstext
user_agenttext
session_idtext
successbooleanDEFAULT true
error_messagetext

索引:idx_audit_timestamp、idx_audit_user_id、idx_audit_tenant_id、idx_audit_action、idx_audit_severity

content_filter_rules​

列类型说明
idinteger PK
patterntextNOT NULL
typetextDEFAULT 'keyword'
severitytextDEFAULT 'medium'
actiontextDEFAULT 'warn'
is_enabledbooleanDEFAULT true
descriptiontext

security_settings​

安全配置键值存储。

列类型说明
idinteger PK
setting_keyvarchar(100)UNIQUE
setting_valuetext
descriptiontext

anomaly_status​

异常状态跟踪。

列类型说明
idinteger PK自增
anomaly_idtext稳定的异常标识(Issue #2749)
anomaly_typevarchar异常类型
affected_users_hashvarchar受影响用户哈希
tenant_idinteger租户维度
statusvarchar处理状态
processed_byinteger处理者 ID
processed_attimestamp处理时间
created_attimestamp创建时间

insights_reports​

AI 生成的用量洞察报告。

列类型说明
idinteger PK自增
user_idinteger用户 ID
start_datevarchar开始日期
end_datevarchar结束日期
overall_scoreinteger总分
overall_assessmenttext总体评估
strengthstext优势(JSON)
areas_for_improvementtext待改进项(JSON)
suggestionstext建议(JSON)
usage_summarytext用量摘要(JSON)
modelvarchar所用模型
raw_responsetextAI 原始响应
created_attimestamp创建时间

安全与权限​

login_attempts​

用于账号锁定的登录失败跟踪。

列类型说明
usernamevarcharNOT NULL,查找键
attempt_countintegerDEFAULT 0
locked_untiltimestamp锁定截止时间

user_permissions​

用户级权限覆盖。

列类型说明
idinteger PK自增
user_idintegerNOT NULL
permissiontextNOT NULL
granted_byinteger授权者
granted_attimestampDEFAULT CURRENT_TIMESTAMP

索引:idx_user_permissions_user、idx_user_permissions_permission

role_permissions​

角色权限模板。

列类型说明
idinteger PK自增
roletextNOT NULL
permissiontextNOT NULL

索引:idx_role_permissions_role、idx_role_permissions_permission

告警与配额​

alerts​

列类型说明
idinteger PK
alert_idtextUNIQUE
alert_typetextNOT NULL
severitytextNOT NULL
titletextNOT NULL
messagetext
user_idinteger
usernametext
tool_nametext
metadatatext
readbooleanDEFAULT false
action_url / action_texttext内联操作链接

quota_usage​

列类型说明
idinteger PK
user_idintegerFK → users(id) ON DELETE CASCADE
datedateNOT NULL
periodtextDEFAULT 'daily'
tool_nametext按工具的配额维度
tokens_usedintegerDEFAULT 0
requests_usedintegerDEFAULT 0

唯一约束:(user_id, date, period, tool_name)

quota_alerts​

列类型说明
idinteger PK
user_idintegerFK → users(id) ON DELETE CASCADE
alert_typetextNOT NULL
quota_typetextNOT NULL
periodtext配额周期
thresholdrealNOT NULL
current_usageintegerNOT NULL
quota_limitintegerNOT NULL
percentagerealNOT NULL
messagetext
acknowledgedbooleanDEFAULT false
acknowledged_at / acknowledged_bytimestamp/integer确认跟踪

notification_preferences​

列类型说明
user_idintegerPK
email_enabledbooleanDEFAULT true
push_enabledbooleanDEFAULT true
webhook_urltext个人 Webhook
alert_typestext订阅的告警类型
min_severitytextDEFAULT 'warning'
notification_emailtext专用通知邮箱
email_verifiedboolean邮箱核验
dingtalk_webhook_secrettext加密的钉钉密钥

工作区与项目​

projects​

列类型说明
idinteger PK
tenant_idintegerDEFAULT 1;用于租户维度的项目查找与唯一性
pathvarchar(500)按生效的 (tenant_id, path) 唯一
namevarchar(200)
descriptiontext
created_byinteger
is_activebooleanDEFAULT true
is_sharedbooleanDEFAULT false
permission_statustext共享项目权限设置状态(Issue #2746)
permission_task_idtext关联的 permission_tasks 任务

索引:idx_projects_created_by、idx_projects_is_active、idx_projects_path(tenant_id, path)、idx_projects_tenant_created_by

user_projects​

列类型说明
idinteger PK
user_idintegerNOT NULL
project_idintegerNOT NULL
first_access_at / last_access_attimestamp访问窗口
total_sessionsintegerDEFAULT 0
total_tokensbigintDEFAULT 0
total_requestsintegerDEFAULT 0
total_duration_secondsintegerDEFAULT 0

唯一约束:(user_id, project_id)

prompt_templates​

列类型说明
idinteger PK
nametextNOT NULL,UNIQUE(Issue #2577)
descriptiontext
categorytextDEFAULT 'general'
contenttextNOT NULL
variablestext
tagstext
author_idinteger
author_nametext
is_publicbooleanDEFAULT false
is_featuredbooleanDEFAULT false
use_countintegerDEFAULT 0

远程工作区​

remote_machines​

远程工作区机器注册表。

列类型说明
idinteger PK自增
machine_idtext机器唯一标识
machine_nametext机器名称
hostnametext主机名
os_typetext操作系统类型
os_versiontext操作系统版本
ip_addresstextIP 地址
statustext状态
agent_versiontextagent 版本
capabilitiestext能力(JSON)
cli_pathtextCLI 路径
work_dirtext工作目录
tenant_idinteger租户 ID
created_byinteger创建者 ID
created_at / updated_attimestamp时间戳
last_heartbeattimestamp最近心跳时间
legacy_modeboolean旧协议标志
token_revoke_timeoutinteger延迟撤销窗口(Issue #2499)

remote_runtime_commands​

远端 agent 的持久化 HTTP 轮询命令队列。

列类型说明
idinteger PK
command_idvarchar(64)UNIQUE;命令-响应调用的 request_id
machine_idtext目标远程机器
session_idtext可选的远程会话
command_typetext命令名
payloadtextJSON 命令载荷
statusvarchar(32)pending、delivered 或 responded
response_payloadtext同步命令的 JSON 响应载荷
created_attimestamp创建时间
delivered_attimestampagent 拉取认领时间
responded_attimestamp响应到达时间
expires_attimestamp保留截止时间

索引:idx_remote_runtime_commands_machine_status、idx_remote_runtime_commands_expires

remote_runtime_outputs​

远程会话输出的持久化 SSE 回放缓冲。

列类型说明
idinteger PK
session_idtext远程会话 ID
event_indexinteger会话内单调递增的输出序号
streamtextstdout、stderr、system、permission、request_state
payloadtextJSON 输出载荷
created_attimestamp创建时间
expires_attimestamp保留截止时间

唯一约束:(session_id, event_index)

索引:idx_remote_runtime_outputs_session_index、idx_remote_runtime_outputs_expires

machine_assignments​

用户与远程机器的分配关系。

列类型说明
idinteger PK自增
machine_idtext机器 ID
user_idinteger用户 ID
permissiontext权限级别
granted_byinteger授权者 ID
granted_attimestamp授权时间

api_key_store​

加密的 API 密钥存储。

列类型说明
idinteger PK自增
tenant_idinteger租户 ID
providertextAI 服务提供商
key_nametext密钥名称
encrypted_keytext加密后的密钥
key_hashtext密钥哈希
base_urltextAPI 基础 URL
is_activebooleanDEFAULT true
scope / priority / weighttext/integer路由属性
resolved_ips / resolved_attext/timestamp固定出口 IP(Issue #1894)
created_byinteger创建者 ID
created_at / updated_attimestamp时间戳
cli_toolstextCLI 工具配置
cli_settingstextCLI 设置

协作​

teams​

列类型说明
idinteger PK
team_idtextUNIQUE
nametextNOT NULL
descriptiontext
owner_idinteger
settingstext团队设置(JSON)

team_members​

列类型说明
idinteger PK
team_idtextNOT NULL
user_idintegerNOT NULL
usernametext反规范化的成员名
roletextDEFAULT 'member'
joined_attimestamp

唯一约束:(team_id, user_id)

shared_sessions​

列类型说明
idinteger PK
share_idtextUNIQUE
session_idtextNOT NULL
shared_byinteger
shared_by_nametext反规范化的分享者名
permissiontextDEFAULT 'view'
share_type / target_id / target_nametext分享目标(用户/团队/链接)
allow_commentsbooleanDEFAULT true
allow_copybooleanDEFAULT true
expires_attimestamp
access_countintegerDEFAULT 0
last_accessedtimestamp

knowledge_base​

列类型说明
idinteger PK
entry_idtextUNIQUE
team_idtext
titletextNOT NULL
contenttext
categorytextDEFAULT 'general'
tagstext
author_idinteger
author_nametext
is_publishedbooleanDEFAULT false
view_countintegerDEFAULT 0

annotations​

列类型说明
idinteger PK
annotation_idtextUNIQUE
session_idtextNOT NULL
message_idtext
user_idinteger
usernametext反规范化的作者名
contenttext
annotation_typetextDEFAULT 'comment'
parent_idtext父批注(回复串嵌套)

同步与保留快照​

sync_events​

列类型说明
idinteger PK
event_idtextUNIQUE
event_typetextNOT NULL
sourcetext
session_idtext
user_idinteger
tool_nametext
datatext
metadatatext

retention_history​

列类型说明
idinteger PK
timestamptimestampDEFAULT CURRENT_TIMESTAMP
report_datatextNOT NULL

外键汇总​

子表列父表删除时
userstenant_idtenantsSET NULL
sessionsuser_idusersCASCADE
web_user_auth_sessionsuser_idusers—
user_tool_accountsuser_idusersCASCADE
user_daily_statsuser_idusersCASCADE
session_messagessession_idagent_sessions—
quota_usageuser_idusersCASCADE
quota_alertsuser_idusersCASCADE
sso_identitiesuser_idusers—
sso_sessionsuser_idusers—
sso_providerstenant_idtenants—
tenant_quotastenant_idtenantsCASCADE
tenant_settingstenant_idtenantsCASCADE
tenant_usagetenant_idtenantsCASCADE
anomaly_statusprocessed_byusers—
insights_reportsuser_idusers—

跨数据库兼容​

命名约定见 DATABASE_CONVENTIONS.md。app/repositories/database.py 中的 adapt_sql() 函数自动处理占位符转换(? → %s)。

相关文档​