配置

系统设置

通过清单(manifest)和共享的 K/V 存储配置租户与用户设置。

ObjectStack 包含一个用于运行时和插件设置的设置服务。 当应用工件需要设置能力时,ObjectOS 会通过 Setup 暴露这些设置。

设置模型

设置由代码声明,并以值的形式存储:

层级用途
Settings Manifest定义字段、标签、默认值、校验、可见性以及动作
sys_setting存储租户/用户的 K/V 值
Resolver读取生效的值
Console UI渲染标准的设置页面

对于普通配置,插件不应创建一次性的设置表。 它们应当声明设置清单,并让 ObjectOS 一致地渲染和存储这些值。

解析顺序

每项设置都声明一个作用域(global、tenant 或 user)。 解析器按从最高到最低的优先级遍历这个层叠结构,第一个已设置的值生效:

Environment override (locked)
Global setting
Tenant setting
User setting
Manifest default

环境覆盖是锁定的。如果某个值是通过环境变量设置的,Setup 会将其 显示为由主机托管,并拒绝运行时编辑。链路中更上层的任何锁定值也会锁定 生效的值,因此更低层的作用域无法将其遮盖。

常见设置领域

面向客户的设置通常包括:

领域示例
EmailSMTP 主机、提供商 API key、发件地址、测试邮件
Branding产品名称、Logo URL、强调色、默认主题
Feature flags租户级功能开关
Storage本地文件系统或对象存储凭据
AI providers模型提供商、API key、预算上限
SSOOIDC 提供商设置以及测试连接

品牌

位于 Setup → Configuration → Branding。这些设置控制工作区的显示身份 —— 它的名称、Logo 和颜色。

设置说明
Workspace name必填。整个 UI 中显示的名称(默认 ObjectStack)
Support email展示给用户、用于寻求帮助的地址(例如 support@example.com)
Default themeMatch system、light 或 dark
Accent colour带取色器的十六进制颜色(默认 #6366f1)
Logo URL工作区 Logo 的 URL

功能开关

位于 Setup → Configuration → Feature Flags [Beta]。为这个工作区开关实验性 和 Beta 功能 —— 分为 Productivity(AI Assistant、Kanban swimlanes)和 Collaboration(Realtime cursors、Inline comments)两组。每一项都是租户级的 UI 开关。

Beta 功能可能会在不另行通知的情况下变更。 用环境变量固定某个开关(例如 OS_FEATURE_FLAGS_AI_ENABLED=true),就能为整个部署锁定它。由于环境覆盖是 锁定的,OS_FEATURE_FLAGS_* 变量优先于 UI 开关。

机密信息

密码和凭据字段应由设置服务加密,或以环境托管的值提供。当配置了机密提供商时, 设置服务会将密文存储在 sys_secret 中,并在 sys_setting 中只保留一个句柄。 不要将机密信息存储在工件、compose 文件或 Git 中。

测试动作

设置清单可以声明标准的动作按钮,例如:

  • 发送测试邮件;
  • 测试 SSO discovery;
  • 验证对象存储凭据;
  • 校验 webhook 目标。

在客户配置流程中使用这些动作,而不是要求运维人员先去翻查日志。

若干设置领域有专门的配置指南: