视图扩展
视图扩展(View Extension)是插件向 Xpert 宿主界面提供可交互视图的标准协议。它定义视图出现在哪里、何时可见、能够读取哪些数据、允许执行哪些操作,以及由哪种方式完成渲染。 对于 Assistant 工作台,远程组件(Remote Component)是视图扩展的一种渲染方式。它负责 iframe 中的自定义前端 UI;视图扩展负责宿主插槽、功能激活、权限、数据和操作等完整契约。核心概念
远程组件不是独立的插件类型,也不能脱离视图清单单独注册。完整的工作台 UI 通常由服务端视图提供器和前端远程组件共同组成。
宿主与插槽
hostType 表示宿主类型。平台可以提供 agent、project、knowledgebase、integration 或 sandbox 等宿主。
Assistant 工作台使用 agent 宿主,常用插槽包括:
插件只能向宿主已经声明的插槽提供视图。插槽描述产品位置,不应包含插件业务名称。
功能激活
Assistant 工作台插槽要求视图声明activation.requiredFeatures。功能(Feature)是连接 Agent 能力和人类工作台界面的能力令牌:
视图提供器
插件通过@ViewExtensionProvider(providerKey) 注册视图提供器:
viewKey 是本地清单键。平台公开的完整视图键为:
contract_review 提供器中的 review 视图,对外键为 contract_review__review。
选择渲染方式
视图清单的view.type 决定渲染方式:
优先选择能满足需求的声明式视图。只有在交互和布局明显超出平台表格、列表或表单能力时,才使用远程组件。
视图清单是能力白名单
视图清单不仅描述页面,还声明远程组件能够使用的宿主能力:
远程组件不能把宿主桥接当作任意远程调用通道。每项数据访问或操作都必须先在清单中声明,再由宿主和提供器执行。
打开方式与渲染方式彼此独立
视图可以由宿主枚举插槽后展示,也可以由工具结果中的xpert.extension_view 按需打开。这只是入口不同,不会改变视图的清单、权限、数据提供器或远程组件实现。
工具结果只应携带公开视图键、初始查询和业务参数,不应包含访问令牌、API 地址、Assistant ID、租户 ID 或组织 ID。
安全边界
- 宿主根据已认证的服务端状态解析
hostType、hostId、租户、组织和用户。 - 清单由平台校验并按功能激活和权限过滤。
- 远程组件不接收访问令牌、平台 API 地址或宿主内部身份字段。
- 提供器必须重新校验业务权限,不能只信任 iframe 传入的业务 ID。
- JSON 操作用于有界结构化数据;文件和大对象使用专用能力。