应用界面

没人手写的界面,人人信得过的视图。

拿一个客服工作台来说:客服在网格里处理待办工单,主管拖着按状态分组的看板,所有人都会看截止日历。在 ObjectOS 里这是一份视图定义——按用户渲染、随记录实时变化,还能在视图设计器里调整,不碰一个文件。

ObjectOS product surface connecting business data, applications, and AI agents
AI 编写元数据 对象、权限、流程、工具
审阅 diff 业务权限、数据访问、审批
运行时 执行策略 UI、API、审计、MCP、动作
0
列表、表单、详情页——没有手写前端
按用户
行、字段与动作按权限过滤
实时
记录一变,打开的界面跟着变

界面即元数据

视图是可审阅定义的一部分。

这就是那个工作台:带列的网格、按状态分组的看板、截止日历,还有一个存好的"待办工单"列表——一份定义。Agent 加一个字段时,受影响的界面就在同一份小 diff 里,而不是另开一张前端工单。

import { defineView } from '@objectstack/spec';

const data = { provider: 'object' as const, object: 'support_case' };

export const CaseViews = defineView({
  list: {
    label: 'All Cases',
    type: 'grid',
    data,
    columns: [
      { field: 'subject' },
      { field: 'customer' },
      { field: 'priority' },
      { field: 'status' },
      { field: 'due_date' },
    ],
    appearance: {
      allowedVisualizations: ['grid', 'kanban', 'calendar'],
    },
    kanban: { groupByField: 'status', columns: ['subject', 'customer', 'priority'] },
    calendar: { startDateField: 'due_date', titleField: 'subject', colorField: 'status' },
  },
  listViews: {
    open: {
      label: 'Open Cases',
      type: 'grid',
      data,
      columns: [{ field: 'subject' }, { field: 'customer' }, { field: 'priority' }],
      filter: [{ field: 'status', operator: 'equals', value: 'open' }],
    },
  },
});

从元数据渲染

把工作台一个面一个面看过去

类型化字段自带控件与格式,生成的界面外观行为天然一致——不需要先做一个设计系统项目。

视图与列表

同一批工单渲染成网格、看板或日历——带排序、"待办工单"这样的保存筛选和批量操作——声明出来的,不是搭出来的。

表单与详情页

工单表单跟着字段类型和校验走:优先级渲染成带颜色的选择列表,必填就是必填。界面永远不会和规则脱节。

仪表盘

工单量和 SLA 计数器就摆在它们所汇总的队列旁边,共享同一份定义与权限。

导航与应用

客服团队得到一个聚焦的工作区——它的对象、视图、仪表盘组成一个应用——而不是一个巨大的后台。

多语言界面

标签、格式与翻译按 locale 解析,一份定义服务所有地区。

视图设计器

看着界面调界面

视图在开源控制台的实时预览设计器中打开——预览用的就是真实渲染器加载草稿,所见即所发布。

边改边看的实时预览

改一列,网格立刻变——设计器用真实数据渲染列表、看板、日历和表单视图,改动过程全程可见。

列与筛选检查器

在检查器里增删、隐藏、重排列;可视化地搭嵌套与/或筛选——"待办、紧急、未指派"不用写一行查询。

积木式详情页

详情页由块组成——分节、字段、按钮——每块带可见性规则,在画布上拖到位。

响应式是默认项

页面设计器预览手机、平板、桌面三档断点,带组件树和撤销/重做——布局决策始终看得见。

权限感知是构造出来的

一份界面定义,每个用户各见其面

界面不是手工做的千人千面——它由权限模型塑形。这正是生成式 UI 值得信任的原因。

能看到的行

客服的网格只有本团队的工单,审计员的网格是全部——同一份界面定义,行级规则在查询内部生效。

能读到的字段

被脱敏、被隐藏的字段在表格、表单、导出和详情页里保持脱敏——由运行时执行,不靠前端自觉。

能执行的动作

"升级"按钮只在用户权限与记录状态都允许时出现——服务端把关,不只是藏起来。

实时协作

记录变更、评论和动态流式推送到打开的界面,团队面对的是同一幅实时图景。

决策面

改什么、谁来审、跑什么

业务需求AI 编写运行时供给
给客服团队一个工作台视图、表单和一份应用定义渲染的界面、导航、保存筛选
主管要看板,客服要网格一份视图、两种可视化同一份定义,两种都渲染
经理看得比客服多对象上的行级与字段级规则同一个界面,按用户成形
运营调列不用发版什么都不用写——设计器编辑的就是同一份元数据实时预览、检查器、草稿

评审清单

界面评审应确认

  • 界面声明在元数据里,而不是被 fork 成定制代码。
  • 每个列表和仪表盘都遵守行级规则。
  • 脱敏字段在导出和详情页里保持脱敏。
  • 动作有权限把关,而不只是被隐藏。
  • 新字段通过同一份被审阅的 diff 到达界面。

FAQ

这一页应该回答的问题

还能自己写定制界面吗?

能。生成的界面覆盖重复度最高的 CRUD 主体,同一套 API 与权限模型支撑你添加的任何定制前端——定制界面绕不过治理。

视图设计器在开源版里吗?

在。带实时预览的视图设计器、列与筛选检查器、积木式页面画布和响应式页面设计器都随开源控制台发布——连同元数据渲染的视图、表单、仪表盘、导航、多语言与实时更新。

下一步

继续完善你的评估材料。