ambleloft

开发者:编辑器与集合模板

为固定业务数据注册模板,让 Agent 在聊天中展示编辑器或集合。本页面向 skill 和插件开发者;普通用户使用内置补充表单无需执行这些步骤。

实践指南

完成后:注册编辑器或集合模板,核对选择、提交和实例更新。

前置条件:按本页具体步骤准备所需文件与工具;学习路线中的上一页不自动构成依赖。

本页内容

01准备业务模板

本节使用可选的 locale-demo 开发示例说明集合模板。已有模板的 skill 或插件可以直接使用自己的注册结果;无需再安装此示例。模型通过 ui_list 获取真实 key,通过 ui_capabilities 核对能力。

可选:创建示例模板

02静态验证模板

在 locale-demo 目录执行。校验不等于宿主渲染或业务执行验收。模板包含 collection,宿主还支持 editor。

代码示例
npx --no-install amble-extension validate-ui skills/expense/templates/requests.json

03在当前聊天展示数据

请 Agent 调用 ui_list 获取本次模板的真实 key,再用下方 arguments 调用 ui_present,将 key 替换为实际值。返回完整 flow,包括 id、revision、data、status 和其他字段;不要裁剪为只有 id/revision。

代码示例
{
  "key": "REPLACE_WITH_UI_LIST_KEY",
  "data": {
    "rows": [
      {
        "id": "request-1",
        "subject": "检查交付说明",
        "description": "演示数据",
        "status": "open",
        "owner": "项目团队",
        "notes": "待用户选择"
      }
    ],
    "state": "ready"
  }
}

04可见结果与更新

用户应看到集合卡片,选择并点击动作后才向聊天投递。用实际 submissionId 调用 ui_read_submission,核对 instanceId、input、data、rowKeys。ui_update 使用原 id、expectedRevision 和新 data,返回新 ID;旧实例 superseded 并只读。data.state 仅是展示状态,businessStatus=false,不代表每行任务的业务结果。

05从审查结果发起受管修复

ai-rules 这类普通 Skill 可为 chat action 声明 managedRepair: true。先核对 ui_capabilities.managedRepair 为 1,再在 ui_present / ui_update 的 data.baseline 中提供报告、规则和源码文件的真实 SHA-256,scope 为 enumerated-files。宿主绑定所属聊天与本地项目,发送前再次核对,并将同项目的受管修复串行执行。这里只覆盖列出的文件,不锁外部编辑器、Shell 或普通模型任务,也不支持远端受管修复。

界面状态实际含义
等待执行等待项目占用释放、聊天空闲或用户明确继续。
本轮已结束 · 待复查模型轮次结束;仍需核对改动、运行检查并生成新的审查报告。
需要重新审查执行结果未知或已中断,旧请求不自动重放;新报告通过 baseline.reviewOf 关联原 submissionId。

06失败恢复与下一步

revision 冲突时停止更新,核对最近一次成功返回的完整 flow 回执并让用户审阅。模型工具没有读取任意当前实例的 ui_get;无法确认有效 id/revision 时,通过 ui_list 重新选择模板,再经用户审阅调用 ui_present。不要猜测 revision 或自动覆盖。来源或聊天失效时停止使用旧提交。forms/UI 错误通过 MCP text/isError 返回,缺少 code 时为 TOOL_ERROR,不强加 operation Result 字段。缺少工具时明确不可用。需要持久收集缺失信息时使用补充输入。

了解持久补充输入

检查结果与排错

注册编辑器或集合模板,核对选择、提交和实例更新。

按本页的验证步骤核对实际结果。涉及业务服务时,分别检查界面提交、工具回执与服务端记录。

打开错误代码与排错 →
SDK / CLI 0.1.0-alpha.9 · 接口基线 兼容性与预览说明 · 案例源码