DATAFOCUS · OT FLASH · R56

OT Flash Agent 与 MCP 接入手册

协议 授权 工具合同与完整调用流程

使用 OT Flash r56 的公共 Remote MCP 构建可追溯的数据与知识应用。本册给出 OAuth、协议报文、所有已声明工具的参数参考、证据规则、条件能力及恢复流程,并提供可运行客户端和合成数据示例。

Agent 开发者 集成工程师及管理员

配套样例保留中文显示字段名。界面语言和说明正文的翻译不会改变实际表名、列名、枚举值、工具名或协议字段。

章节 1

Agent 接入范围与完成标准

选择授权入口,依据服务端回执完成查询、取证或受控写入。

OT Flash r56 通过 Remote MCP 向外部 Agent 提供本体范围内的数据与知识能力,并提供独立业务工作台入口。Agent 应以实际 tools/list、inputSchema、OAuth scope 和当前资源权限决定可执行工作,不能根据静态手册推断一个部署已经启用所有可选功能。

图 A1 外部 Agent 通过 OAuth 和 MCP 使用原查询、知识与业务能力。接口关系示意图。
入口用途边界
/mcp本体 数据表 文档知识 原生 Search 及条件开放的分析与建模当前用户权限与本次授权资源的交集
/mcp/business业务系统发现 查询 动作计划 状态与执行独立业务系统授权及发布契约
本体智能体嵌入页在人类界面中使用本体对话依赖真实登录态,不是免登录 MCP Token 交换入口

能力分类

  • 基础读取:本体与资源、图谱定位、知识检索与完整原文、授权表详情和 Doris SQL。
  • 独立委托:dfc_search 需要 search:operate,并继续使用原用户和模型权限。
  • 条件开放:分析、持久报告、制品草稿与应用、本体模型查询和委托 Agent 任务。
  • 不可用能力:Flash 的 dfc_etl 仅报告 capabilities,不提供 Heavy ETL 执行。AutoML 以及内部 FocusCode 工作空间入口不属于本册公共 Flash API。

完成标准

读事实必须取得实际可用的查询或完整原文回执;生成候选必须说明尚未应用;发布必须有真实 APPLIED 回执;取消必须区分请求与确认。用回答文字、HTTP 200、工具已接收或模型“已完成”描述,都不能单独证明业务操作成功。

配套 reference/mcp-tool-catalog.json 是 r56 的离线声明参考,包含条件开启的定义并非任何用户的实时 tools/list。完整目录包括 28 个本体核心工具、4 个控制器条件扩展及 8 个业务侧工具,不代表默认全部开放。

章节 2

快速连接与能力发现

用实例正式域名开始,以最小权限发现实际可用工具。

  1. 向管理员取得正式 HTTPS 根地址和需要访问的本体或业务系统。不要使用文档中的示例域名调用真实业务。
  2. 将 MCP 服务器地址配置为 https://flash.example.com/mcp,业务工作台使用同域的 /mcp/business。
  3. 按客户端支持触发 OAuth 登录与授权,核对资源和 scope;不要提交用户名密码到 MCP。
  4. 使用对应时代的协议发现或初始化,再读取 tools/list 与资源说明。
  5. 先做一个小范围只读请求,核对结构化结果和错误,再执行用户目标。

客户端配置片段

json
{
  "mcpServers": {
    "ot-flash": {
      "url": "https://flash.example.com/mcp"
    }
  }
}

该片段说明服务器地址的配置意图,具体配置文件结构和 OAuth 支持取决于客户端。不要在公开文件中填写真实 access_token、refresh_token、Cookie 或管理员密码。

现代协议发现

http
POST /mcp HTTP/1.1
Host: flash.example.com
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: server/discover

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

接入前检查

  • 资源根地址、OAuth issuer 和反向代理对外地址一致。
  • 客户端支持相应协议时代,而不是向新协议入口固定发送 initialize。
  • 当前授权绑定需要的本体或业务系统。
  • Token 有效,且新的可选 scope 已经获得明确授权。
章节 3

OAuth 发现 注册与授权

使用授权码和 PKCE,不向 Agent 暴露产品登录凭据。

图 A2 OAuth 授权码与 PKCE 流程。时序示意图。
端点方法作用
/.well-known/oauth-protected-resourceGET本体 MCP 资源发现
/.well-known/oauth-protected-resource/mcpGET本体资源路径兼容发现
/.well-known/oauth-protected-resource/mcp/businessGET业务 MCP 资源发现
/.well-known/oauth-authorization-serverGET授权服务器元数据
/oauth/registerPOST JSON动态注册 public client
/oauth/authorizeGET 或 POST form登录 选择资源并确认授权
/oauth/tokenPOST form授权码兑换和轮换刷新
/oauth/revokePOST formToken 吊销
/oauth/grantsGET已登录用户查看授权连接
/oauth/grants/revokePOST form按原页面流程撤销连接

授权顺序

  1. 读取受保护资源元数据与授权服务器元数据。无 Token 请求返回的 401 及 WWW-Authenticate 会指向资源发现地址。
  2. 注册或使用客户端身份。r56 的动态注册 public client 使用 token_endpoint_auth_method=none;不能用客户端密钥替代 PKCE。
  3. 生成随机 state 与 code_verifier,计算 S256 code_challenge。
  4. 打开元数据指示的 authorize 地址,传 response_type=code、client_id、精确 redirect_uri、scope、resource、state、code_challenge 和 code_challenge_method=S256。
  5. 用户在 DataFocus 登录并选择本体或业务系统。客户端不能预先选入用户无权访问的资源。
  6. 接收回调,验证 state 和 issuer;使用原 code_verifier 兑换授权码。
  7. 仅把 access_token 用于 MCP Bearer 认证。刷新使用原 OAuth 流程,安全保存轮换后的 refresh_token。

注册示例

json
{
  "client_name": "OT Flash Knowledge Client",
  "redirect_uris": ["http://127.0.0.1:8765/callback"],
  "application_type": "native",
  "token_endpoint_auth_method": "none",
  "grant_types": ["authorization_code", "refresh_token"],
  "response_types": ["code"]
}

Web 客户端回调使用 HTTPS;native 客户端可使用受支持的回环地址。授权与换 Token 都按登记的回调精确匹配。一个 Grant 面向一个 protected resource,不把本体 scope 与业务工作台 scope 混在同一连接。

Token 生命周期

r56 服务端缺省 access token 为 3600 秒、refresh token 为 2592000 秒、授权码为 300 秒,部署可以覆盖这些值。客户端必须使用 token 响应的 expires_in 和实际错误判断,不将缺省值写死。刷新后更新 Token;撤销角色、资源权或 Grant 会使后续调用被拒绝。

章节 4

Scope 资源边界与实时权限

授权范围委托现有权限,不授予角色提升,也不跨 Grant 共享业务状态。

Scope典型能力重要约束
ontology.metadata:read本体 资源 表结构本体及表必须在授权和当前可读范围内
ontology.graph:read图谱搜索和邻居返回定位信息,不是事实证据
ontology.knowledge:read知识定位和完整原文保留知识库和文档原权限
ontology.table:query本体表 SQL 及发布模型查询表查询还需要 metadata scope;实际来源和列权继续生效
search:operate原生关键词模型与会话独立明确委托,按原模型和用户表列权限执行
etl:operateFlash ETL capabilities不开放 Heavy ETL
authoring.contract:read条件开放的建模契约还需功能开关和相关资源
authoring.artifact:read候选与计划等当前授权读取绑定原主体 Grant 和资源
authoring.artifact:draft候选提交 预览等不授权执行或发布
authoring.artifact:apply受控计划与应用仍需原业务角色 策略与审批
execution.script:draft特定脚本草稿不授权实际脚本执行
datasource.http:read / draft / test / import条件开放的 HTTP 数据源制品能力每项独立开关和原权限
图 A3 用户权限、Grant、所选资源和功能配置共同决定可用能力。示意图。

读取组合要求

dfc_table detail 要求 ontology.metadata:read;query 另要求 ontology.table:query。dfc_ontology_query 要求 graph 与 knowledge 两个读取 scope。dfc_knowledge_search/detail 要求 knowledge。published_model/published_query 走 table:query;candidate_query 还需 authoring.artifact:read。分析工具还检查允许的证据 scope;持久报告要求 metadata 与 table query。

默认授权不要硬编码

r56 的本体默认 scope 集合包含 table query;Search 和 ETL 是显式委托。最终仍以发现元数据、授权页、实际 Token scope 和 tools/list 为准。旧文档中“本体默认一定没有 SQL”或“只有六个工具”的说法不能作为当前实现依据。

状态隔离

会话、报告、候选和动作计划都有自己的所有者与范围。access token 刷新不会把原 Grant 的工作交给另一个 Grant。不要把另一连接返回的 sessionId、reportId、planId、审批令牌或来源 Token 合并到当前连接。

章节 5

HTTP 与现代 MCP 报文

正确发送逐请求元数据和匹配的路由头,分别处理 HTTP 与工具结果。

项目r56 行为
传输无状态 Streamable HTTP,POST JSON-RPC
支持标识2026-07-28 以及 2025-11-25 2025-06-18 2025-03-26
现代方法server/discover tools/list tools/call resources/list resources/read,按实际能力开放
会话头不分配 Mcp-Session-Id
GET 与 DELETE/mcp 和 /mcp/business 返回 405
服务端 SSE 通知这两个公共 MCP 入口不提供
目录缓存现代发现及列表返回 ttlMs=60000 与 cacheScope=private
普通结果现代结果包含 resultType=complete 与服务身份元数据

必须匹配的内容

  • MCP-Protocol-Version 与 params._meta 中 io.modelcontextprotocol/protocolVersion 一致。
  • Mcp-Method 与 JSON-RPC method 一致。
  • tools/call 的 Mcp-Name 与 params.name 一致;resources/read 的名称头与 URI 一致。
  • 每个现代请求都携带 io.modelcontextprotocol/clientCapabilities 对象;同时提供标准 clientInfo 便于客户端识别。

调用示例

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "dfc_ontologies",
    "arguments": {"page": 1, "pageSize": 20},
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

对应 HTTP 头为 Mcp-Method: tools/call 和 Mcp-Name: dfc_ontologies。所有例子中的 ACCESS_TOKEN 都是占位符。不要将 Bearer Token 放进 URL、JSON 参数或缓存键。

结果读取

先处理 HTTP 状态,再检查 JSON-RPC error;有 result 时继续检查 isError。成功工具结果通常提供 structuredContent,同时有包含相同业务 JSON 的 text 内容;优先读取结构化通道,避免把 text 和 structuredContent 当作两份独立事实重复汇总。HTTP 200 可能携带工具失败。

公共资源与 UI

内置说明资源不依赖 MCP Apps。业务工作台入口不因此获得本体说明资源。支持可视化的客户端应通过实际能力与工具 _meta 发现对应 UI,不猜测未返回的资源 URI。

章节 6

旧协议客户端兼容

在仍使用初始化握手的客户端中保持一致的协议时代。

json
{
  "jsonrpc": "2.0", "id": 1, "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
  }
}
  1. 发送 initialize,读取服务端协商的协议版本与 capabilities。
  2. 按客户端协议发送必要的初始化完成通知;通知没有普通工具结果。
  3. 使用 tools/list 读取当前授权工具,再发送 tools/call。
  4. 保持当前请求时代的头和报文一致,不向 2026-07-28 报文发送旧 initialize 或 ping 流程。

旧协议仍使用相同 Bearer/OAuth、权限和工具合同。它不意味着服务器一定提供旧式 SSE 长连接或 Mcp-Session-Id;r56 的公共服务保持无状态。

协议错误

情况典型结果处理
现代头与报文不一致HTTP 400 JSON-RPC -32020修正头 元数据及工具名
不支持的版本-32022 并提供支持版本列表选择实际支持的协议
未知方法JSON-RPC -32601,现代请求可能 HTTP 404检查协议时代与方法
缺少参数或非法参数JSON-RPC 参数错误或工具 isError按实际 inputSchema 修正
章节 7

选择正确工具与证据通道

根据未解决的业务问题路由,不用固定调用链重复取证。

图 A4 按任务选择表 SQL、知识证据、Search、分析或业务动作。路由示意图。
任务首选工具完成所需证据
发现授权主题与资源dfc_ontologies dfc_ontology_resources实际资源 ID 类型及当前可见范围
表格统计与 TopNdfc_table query成功执行回执及完整 evidenceRows
查制度 合同或报告dfc_ontology_query 或 knowledge search/detail完整 授权 可用于事实的原文
定位图谱对象dfc_ontology_graph search/neighbors定位到实际来源,再取得对应事实
原关键词交互dfc_manual 然后 dfc_search原模型与业务帧中的实际结果
融合分析与报告dfc_analysis_* 或 dfc_report_*各结构化分支与文档证据的真实状态
修改展示或本体模型dfc_authoring_* 与 artifact 工具候选 计划 审批和实际应用分别核对
执行业务命令/mcp/business 的 dfb_*已发布契约与原 ActionPlan 回执

避免不必要的调用

已有当前、完整、授权的表结构时,不要求每次查询重新 detail;已有可信定位与证据时,不重复同一检索。需要某个缺失维度时做有界补查。失败明确不可重试时先解决缺口,不用“再试一次”替代判断。

Flash 的排除项

dfc_etl capabilities 可返回 available=false 及 ETL_NOT_INCLUDED_IN_OT_FLASH。内置 ETL 函数静态说明用于跨产品参考,不证明 Flash 安装了 ETL,也不允许 Agent 自动转到 Heavy 或其他租户执行。

章节 8

本体资源与 ID 类型

先取得实际资源坐标,防止把存储名、文档 ID 和知识库 ID 混为一谈。

  1. 调用 dfc_ontologies,按 page 和 pageSize 浏览本次授权且当前仍可读的本体。
  2. 用真实 ontologyId 调用 dfc_ontology_resources;按需要选择 tables、answers、pinboards、documents 和 knowledgeBindings。
  3. 对每种资源分别处理分页。pageSize 最大 100;不要以第一页推断整个资源范围。
  4. 保存资源声明的类型及原始 ID,后续调用原样使用。
json
{"name":"dfc_ontology_resources","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "resourceTypes":["tables","documents","knowledgeBindings"],
  "page":1,"pageSize":100
}}
坐标来源不能替代
ontologyId授权本体列表或当前有效上下文另一本体的 ID
表资源 idtables 列表或可信上下文physicalName 或显示表名
tblDisplayName colDisplayName当前表与列元数据猜测的物理 SQL 标识符
knowledgeIdknowledgeBindings 或实际知识检索回执文档资源 id
assetId documentId chunkId evidenceId同一个实际定位回执从不同定位结果拼接的字段
rid revisionId releaseId已发布模型或服务端候选上下文自行生成的 ID 或 latest

精度约定

所有 64 位资源标识优先用十进制字符串,JavaScript 不经 Number 转换。部分业务 Schema 兼容 string 或 integer,不等于可以舍弃整数精度。opaque locator、UUID、哈希及一次性令牌也按原样保存。

章节 9

Doris 表查询与结构合同

在授权表上执行只读 SQL,并保留输出语义、精确数值和完整性。

读取结构

json
{"name":"dfc_table","arguments":{
  "action":"detail","ontologyId":"<ONTOLOGY_ID>","id":"<TABLE_RESOURCE_ID>"
}}

detail 使用真实表资源 ID。核对 schemaComplete、tblDisplayName、columns 中的 colDisplayName 和权威 sqlDataType,以及返回的 queryContract。dataType 仅是兼容映射,物理存储名不是提交 SQL 的表名。

执行查询

json
{
  "name": "dfc_table",
  "arguments": {
    "action": "query",
    "ontologyId": "<ONTOLOGY_ID>",
    "sql": "SELECT \"区域\", SUM(\"销售金额\") AS \"销售金额合计\" FROM \"电商销售数据\" WHERE \"订单状态\" = '已完成' GROUP BY \"区域\" ORDER BY \"销售金额合计\" DESC",
    "maxRows": 100
  }
}

SQL 约束

  • 使用显示表名和显示列名,以双引号引用标识符。请求是一条本体范围内的只读 Doris 查询。
  • 显式列出输出,禁止 SELECT * 和 table.*;它们不能通过物理列绕过注册列权限。
  • 关联使用明确 JOIN ... ON;NATURAL JOIN 和 JOIN USING 会拒绝。
  • 可以使用合法的多维聚合、CTE、窗口、CASE、COUNT(DISTINCT ...) 等只读表达式;语义验证未覆盖某表达式,不等于统一禁止执行。
  • 先在 SQL 中完成聚合、排序和排名,再施加结果上限。maxRows 默认为 100,最大 200。

日期与时区

类型或目标形式注意
DATECAST('2026-09-01' AS DATE) 与 CURRENT_DATE不能直接拿文本字面量假定日期类型
DATETIMECAST('2026-09-01 00:00:00' AS DATETIME) 与 CURRENT_TIMESTAMP核对来源时区和会话时区
相对时间DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)日期与时间戳使用对应当前函数
时间分组YEAR(column) 或 DATE_TRUNC(column, 'month')每个输出使用唯一别名;以 queryContract 为准

SQLite 的 DATE('now', ...) 不是此入口的 Doris 日期合同。不要把文档示例的 SQLite 离线核对方式放入线上 SQL。

读取 v8 查询回执

evidenceRows 是 Agent 面向行数据的唯一通道,raw data 不对 Agent 开放。SQL 数字以精确十进制 JSON 字符串编码;通过 resultColumnContracts 判断其数值和业务类型,不因为 JSON 是字符串就解释为 VARCHAR。读取 executionReceipt、完整性和截断信息,保留 evidenceRowsSha256 等来源信息。

有可引用执行回执的查询输出可以按原样引用;只有服务端验证过的语义,才能授权后续确定性二次计算。不能根据字段名猜“累计余额”“期末值”“币种”或自行补单位。零行结果、失败或截断不能被描述为完整统计。

章节 10

多维 Top3 与截断处理

以服务端聚合和窗口函数回答排名,不在不完整结果上二次计算。

配套 examples/top3.sql 使用示例表,先按区域、类别和产品聚合,再在各区域与类别内执行 ROW_NUMBER,并使用产品名作为金额并列时的稳定顺序。请求 maxRows=100 足以容纳示例的 36 行;其他业务数据需要按真实组数评估。

  1. 取得真实结构和当前口径,明确币种、期间、订单状态及并列规则。
  2. 提交服务端聚合与排名 SQL。不要先只查询区域总额,再将它当作类别产品排名。
  3. 检查输出列合同与实际 evidenceRows,确认返回覆盖全部需要的组。
  4. 发现截断时,按服务端支持的边界做有界分区查询,例如按区域分别取得完整 Top3;每次保持同一业务口径。
  5. 如果来源期间发生变化,重新查询并明确新版本,不混用不同数据版本或失效游标。
图 A5 明细筛选、分组汇总、组内排名与最终返回的顺序。示意图。

错误恢复

TABLE_SCHEMA_INCOMPLETE 应修正或取得完整结构;ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID 等失败按返回的 errorCode、retryable、remediation 处理。不要声称“所有多维 GROUP BY 或窗口函数都被禁止”,也不要在没有查询结果时编造排名。

章节 11

知识检索 完整原文与证据资格

把定位、读取和事实引用分开,并保留出处与完整性。

两种常用路径

路径用途要点
dfc_ontology_query在本体绑定知识内检索并可结合图谱路由检查完整 canonical answerContextItems 与证据资格
dfc_knowledge_search → dfc_knowledge_detail chunk显式搜索定位,再读取所选分片搜索预览不作为事实;读取同一定位的完整原文
json
{"name":"dfc_knowledge_search","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","query":"销售金额是否排除退货", "topK":5
}}

{"name":"dfc_knowledge_detail","arguments":{
  "action":"chunk","ontologyId":"<ONTOLOGY_ID>",
  "evidenceId":"<EVIDENCE_ID_FROM_THE_SAME_SEARCH_RESULT>"
}}

可用于事实的条件

  • 检查当前 ACL、内容完整性及服务端的 canonicalFactEligible、citationEligible 或相应执行合同。
  • 完整内容与 contentSha256 绑定。截断、预算省略或低质量内容需按实际字段处理。
  • 文档元数据、page_context、图谱定位、检索摘要和预览均不能替代 canonical 原文。
  • 优先复制 evidenceId;需要 chunkId 与 documentId 时,必须来自同一条定位结果,不拼接或猜造。

图谱路由

search/neighbors 结果是定位信息。仅把服务端完整返回的 routeLocator 对象交给本体 query,包括绑定、版本和证明字段。不要把一个 assetId 或 knowledgeId 自行包装成服务端签发的 locator,也不要回传模型断言的来源证明。

结构化文档恢复

dfc_ontology_query 的 structuredPlan 是专门用于不规则文档表格的受限恢复与确定性校验。仅在返回当前 executionContractSha256、tableIndex、列与完整表格后使用服务端声明的计划。普通已导入业务表应走 dfc_table SQL;不要把 Markdown 表格恢复当作绕过表查询授权的通道。

图 A6 定位结果与可引用原文的证据链。示意图。

检索策略

knowledgeIds 通常省略以覆盖当前启用绑定;传入时仅使用 knowledgeBindings 的真实知识库 ID。不要把文档资源 ID 当作知识库 ID。按未解决问题做新的有界搜索,避免精确重复且没有新增证据的检索。

章节 13

语言与区域约定

保持 UI locale、查询词典、返回语言及原字段名称之间的边界。

优先级为明确请求语言、应用系统语言、实际执行节点 locale。缺省、null、空字符串和空白不会固定回退中文。languageRegistry 中的区域值应保持精确,不能把 en-GB、fr-CA、pt-BR、es-US 或 ar-AE 随意折叠成另一个地区。

语言或地区查询 locale说明
简体中文 繁体中文zh-CN zh-Hant原中文规则与繁体目录不同
美国 英国 澳洲 加拿大英语en-US en-GB en-AU en-CAUI/关键词包可共用,地区元数据保留
德语 意大利语 俄语de-DE it-IT ru-RU按当前会话建议使用
西班牙及拉美西语es-ES es-US产品地区 ID 为 es-US
法国及加拿大法语fr-FR fr-CA地区 ID 不合并
葡萄牙及巴西葡语pt-PT pt-BR目录和地区约定分别保留
荷兰 丹麦 挪威 芬兰 瑞典语nl-NL da-DK nb-NO fi-FI sv-SE挪威语为 Bokmål
日语 韩语ja-JP ko-KR不按英语空格规则自行分词
沙特及阿联酋阿拉伯语ar-SA ar-AE界面说明支持 RTL,协议标识符不反转

使用关键词目录

json
{"name":"dfc_manual","arguments":{
  "action":"keywords","locale":"de-DE","names":["<ACTUAL_KEYWORD_ID>"]
}}

dfc_manual 的静态关键词目录只有明确列出的 locale,省略时使用英语参考;这是参考默认值,不是查询语言解析规则。地区变体未提供静态目录时,通过当前会话 assist 获取实际建议,不伪造别名或回退结果。单次 names 最多 32 项。

不翻译的内容

  • 表、列、枚举值、客户名、公式名及其他真实模型字符串。
  • 工具名、action、scope、Schema 字段、错误码与状态值。
  • 资源 ID、哈希、opaque locator 和服务端签发的引用。

例如德语问题可以查询中文显示列“销售金额”。把它改成一个德语列名,会变成另一条标识符,而不是界面翻译。更换语言后重新初始化或按原协议更新会话,并重新获取建议和歧义候选。

章节 14

融合分析与交互式结果

在条件开放的分析工具中,保留授权、版本、分支与证据状态。

dfc_analysis_* 由 datafocus.mcp.analysis.tools.enabled 控制。结构化部分继续走 Search 权威查询与当前行策略;文档部分重新取得当前 ACL 下的完整原文。它们不是开放 SQL、任意指令或任意过滤器注入入口。

工具用途必要坐标
dfc_analysis_ask提出自然语言分析问题ontologyId question,可选 language sessionId
dfc_analysis_result_get读取返回过的结果ontologyId sessionId resultId
dfc_analysis_refine基于最新完整结果追问或变更原结果 expectedRevision 与稳定幂等键
dfc_analysis_page取得服务端分支的一页原分支与结果版本 pageNo pageSize
dfc_analysis_cancel取消仍在工作的结果原会话与结果
dfc_analysis_close释放非工作状态会话原会话

发起分析

json
{"name":"dfc_analysis_ask","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "question":"按区域分析已完成订单销售金额,并引用退货统计口径",
  "language":"zh-CN"
}}
  1. 读取返回的 sessionId、resultId、状态与 revision;需要时继续读取原结果。
  2. 逐个检查结构化分支的状态、完整性、行策略和来源,不以一个分支完成代表整次分析完整。
  3. 检查文档证据、事实账本、引用资格与局限。模型生成叙述不能独立升级证据资格。
  4. 需要追问时,基于最新完整结果并传 expectedRevision;同一变更重试复用同一幂等键。
  5. 关闭前确认会话不再工作;取消与关闭是不同动作。

受控筛选与分页

filter_patch 使用服务端给出的 branchId、fieldRef、valueRef 和允许操作符;当前类型化筛选只声明 EQ。禁止用原始 SQL、tableId、columnId 或客户端私造过滤树替换 opaque 引用。分页 pageNo 从 1 开始,最大 10000;pageSize 最大 100。

图 A7 分支、版本与分页绑定;来源或版本变化后,应重新查询取得新定位。示意图。

能力提示与行为

工具 annotations 是客户端提示,不是安全授权。部分通用模板使用 readOnlyHint,并不能代替对实际动作的判断;取消、关闭和创建报告会改变相应工作状态。始终按工具语义、用户目标与服务端权限执行。

章节 15

持久可视化报告与 MCP Apps

创建可恢复报告,并按当前权限读取其结果与交互界面。

dfc_report_* 由 datafocus.mcp.analysis.report-tools.enabled 控制,并要求 metadata 与 table query scope。它与进程内 Search 会话不同,报告使用持久 reportId;持久不表示不再检查权限。

json
{"name":"dfc_report_create","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","goal":"比较区域与类别销售表现并核对口径",
  "title":"零售经营分析","language":"zh-CN",
  "idempotencyKey":"retail-report-20261019-01"
}}
{"name":"dfc_report_status","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","reportId":"<REPORT_ID>"
}}

工作流

  1. 创建时使用稳定的 idempotencyKey,长度 8 至 128 个受支持字符。
  2. 保存 reportId,轮询 status,并检查完成、失败、部分完成或取消等实际状态。
  3. 读取结果时核对结构化分支、可视化、事实来源、文档引用和完整性。
  4. 取消未完成报告用原 reportId;不要创建另一份报告代替取消。
  5. 网络超时后先读取原报告状态;原幂等键重放应保持同一业务意图。

MCP Apps

支持 UI 扩展的客户端,通过工具 _meta 与实际资源发现读取报告页面。r56 对应的持久报告页面为 ui://datafocus/analysis-report/v16/index.html,交互分析使用相应的服务端资源引用;客户端不应硬编码取代工具返回值。没有 UI 扩展时仍可读取结构化结果。

来源绑定

报告读取重新检查 Grant、本体、请求 Origin 绑定及当前表权限。浏览器跨来源集成需使用批准的实际来源;客户端不通过伪造 Origin 绕过绑定。旧 reportId 不是长期公开链接,也不是跨用户访问凭据。

章节 16

制品草稿 预览 计划与应用

把生成内容交给原服务端规范化、验证和审批,不让模型直接改生产资源。

制品工具需要 authoring 功能开启、实际 artifact type、相关 scope 与原管理员写权限。缺省类型配置为 CONTROL_PANEL_SPEC 和 VIEW_SPEC;其他表单、HTTP 来源或脚本类型还受独立配置控制。Flash 没有 AutoML,因此不把相关类型列为本版本可用制品。

图 A8 上下文、候选、预览、计划、批准与应用的受控顺序。示意图。
  1. dfc_authoring_capabilities 读取当前 Grant 可用的合同与动作。
  2. dfc_artifact_context 取得有界上下文、contractVersion、contextHash、baseArtifactHash 和 baseArtifactVersion。
  3. 在客户端根据真实合同生成候选,不执行其中的代码。
  4. dfc_artifact_submit 提交原上下文与候选,保持 instruction 相同,并使用稳定 clientRequestId。
  5. 读取 proposalId、candidateHash、校验和预览;有实际错误时修订候选,不伪造服务端通过状态。
  6. 需要重新预览时,使用 dfc_artifact_preview 和相同候选哈希。
  7. dfc_artifact_plan 创建不可变计划,使用真实候选、目标版本和幂等键。
  8. 按原交互审批或已获授权的策略处理批准,再 dfc_artifact_apply;只有 APPLIED 回执代表实际应用。

最小上下文请求

json
{"name":"dfc_artifact_context","arguments":{
  "artifactType":"CONTROL_PANEL_SPEC",
  "ontologyId":"<ONTOLOGY_ID>",
  "instruction":"为当前授权销售指标建立区域比较面板"
}}

VIEW_SPEC 使用当前授权 projectId;编辑已有制品时使用实际 artifactId。variables、previewInput、viewport 等字段按返回合同提供,不猜造候选内部结构。

并发与重试

计划绑定目标版本、候选哈希及幂等键。目标变化后,旧计划不能继续应用;重新读取上下文并按实际冲突处理。transport timeout 不证明失败,先用 dfc_artifact_status 查询原 proposalId 或 planId。READY 不是 APPLIED。

批准与自动策略

通用制品计划需要原人工审批。符合本体自动发布政策的计划按 approvalMode 处理,不要求用户另签一份代理发明的批准。approvalToken 是服务端签发材料,不能由 Agent 写一个字符串替代;实际 inputSchema 与计划回执决定必填字段。

章节 17

本体候选创建与发布合同

使用独立版本的本体声明与发布配置,不把普通展示制品合同套到模型发布。

创建候选

本体容器必须已经存在并在 Grant 内。使用 dfc_ontology_table_schema 检查当前结构化来源字段与 v4 Binding 指纹;字段可只提供 sourceField 自动发现类型。显式 DECIMAL 声明需要当前精度与小数位,其他类型不携带这两个字段。

json
{"name":"dfc_ontology_table_schema","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","sourceAssetRef":"table:<ACTUAL_TABLE_ID>",
  "fields":[{"sourceField":"区域"},{"sourceField":"销售金额"}]
}}

候选与发布配置

合同用途关键边界
ontology-workspace-create-mcp-submit-v1以本地声明创建候选真实授权来源 服务端编译,不接受完成证明
ontology-workspace-create-mcp-submit-v2混合本地和精确已发布引用提供精确 releaseSelections 及闭包依赖
ontology-publication-mcp-submit-v1 至 v3把已有候选绑定到发布计划请求显式坐标,目标 来源 审批和校验由服务端恢复
ontology-publication-mcp-submit-v4 至 v6单独启用的自动发布相关配置只有 capabilities 与实际 schema 声明时使用
ontology-initial-activation-retirement-submit-v1受控初始激活退休操作独立计划 新的人工批准与精确范围

发布顺序

  1. 取得当前候选 workspaceId、workspaceRevision、candidateHash 及实际来源。
  2. 依照服务端能力选择合同版本;提交 releases 与 selection 等坐标,不附带自称“已批准”“已通过”的字段。
  3. 保留 submit 返回的 proposalId 和原 idempotencyKey。submit 与 MODEL_PLAN 是同一请求的不同阶段。
  4. 调用 dfc_artifact_plan,使用原候选、目标版本和同一幂等键。
  5. PLANNING_INCOMPLETE 只表示尚未形成有效计划;VALIDATION_UNSATISFIED 表示当前校验仍有缺口,按 nextAction 处理。
  6. 计划成功后根据 HUMAN_REQUIRED 或 POLICY_AUTO 继续,使用原审批和发布能力。
  7. 以 APPLIED 回执和随后真实的已发布模型读取、授权查询确认结果。

超时与恢复

PLAN 超时后读取原 proposalId。MODEL_PLAN_SUBMITTED 是未完成请求;MODEL_PLAN_COMPLETED 表示应以原坐标和原键恢复原回执,不是让客户端另造一条新请求。终态校验缺口不能靠换键或重复提交变成发布通过。

人类业务权限

Agent 提供的 instruction 和声明属于 Agent 输入,不是人类政策签署。MODEL_AUTHOR、MODEL_PUBLISH、自动发布委托、业务确认、公钥信任、预算和来源 ACL 继续由原机制决定。不得以客户端字段替代这些事实。

章节 18

发布模型 候选查询与引用闭包

按精确版本使用已发布业务知识,并保留未发布候选的临时性。

dfc_ontology_graph 的 published_model、published_query 与 candidate_query 是条件开放的结构化配置,不是普通 search/neighbors 的同义词。它们按 table query 及必要的建模读取权限授权,不能以图谱可见性替代表权限。

读取已发布模型

  1. 当工具 action 枚举实际包含 published_model 时,提交真实 committed releaseId。
  2. v1 返回授权查询模板;v2 增加精确 PERSISTED 引用和 releaseSelections;v3 增加依赖引用、精确 domainRef 及紧凑绑定模板。
  3. 从实际返回值选择对象、属性、Binding、scope 和版本,不生成 RIDs 或使用 latest。
  4. 提交 published_query 的固定类型化查询;结果仍需通过当前来源与字段授权。

候选查询

candidate_query 使用实际 workspaceId、revision、candidateHash 和候选声明。混合已发布引用时使用对应 v2 类型化 LOCAL/PERSISTED 坐标及精确选择。候选结果始终是未发布、临时的,不当作企业已确认知识。

局部维护与闭包

只选择候选根所需的传递依赖,并保证每个已发布引用都有精确 releaseSelections。复制发布正文、只提交一组 ID 或扩大到所有历史资源,都不能替代当前依赖与来源检查。

图 A9 候选根、精确已发布依赖与来源授权。引用闭包示意图。

这些 action 的 query 是版本化类型对象,不接受 SQL、物理表 ID 或来源表名替代其业务引用。元数据模板和图谱结果本身不具有事实引用资格。

章节 19

委托本体智能体任务

使用持久任务与原 Grant 恢复工作,不将 Agent 指令当作人类批准。

dfc_ontology_agent 仅在实际 Pi Runtime 和相关权限可用时显示。QUERY 使用读取能力;AUTHORING 还要求建模角色与对应 authoring scope。它不开放另一套无约束执行引擎。

json
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"start",
  "ontologyId":"<ONTOLOGY_ID>","mode":"QUERY",
  "instruction":"列出当前可查询的表,并说明各表用途",
  "idempotencyKey":"retail-discovery-01"
}}
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"status",
  "ontologyId":"<ONTOLOGY_ID>","runId":"<RUN_ID>"
}}

严格参数集

start 使用 contractVersion、action、ontologyId、mode、instruction、idempotencyKey;status/cancel 使用 contractVersion、action、ontologyId、runId。服务端按 action 检查精确字段集合。instruction 最多 16000 字符;键为 1 至 128 个受支持字符且首字符为字母或数字。

恢复与取消

  1. 保留原 runId、Grant、mode 和幂等键。
  2. 同一键与相同 instruction 恢复同一 run,不重新提交另一个任务;相同键换指令会拒绝。
  3. status 查询原任务状态。完成后仍需核对其表查询、证据或发布回执。
  4. 取消使用原 runId;以实际任务状态确认结果。

run 完成不是模型发布回执。发布任务仍通过原 artifact 状态及来源检查确认;QUERY 没有隐含的写入或发布权。

章节 20

业务工作台 MCP

基于已发布业务契约查询记录,并通过原 ActionPlan 执行命令。

/mcp/business 使用独立 protected resource 和业务系统选择,不能复用本体 Grant 代替业务授权。业务系统需要已发布、可供 Agent 调用、满足原安全策略,且当前用户有实际运行时角色和能力。

Scope工具边界
business-system:discoverdfb_systems dfb_system_describe只发现本次授权且当前可调用系统
business-system:readdfb_query dfb_record dfb_work_items dfb_action_status当前用户可读记录与本人计划
business-system:plandfb_action_plan仅创建不可变计划,不执行
business-system:executedfb_action_execute独立明确授权,按风险及审批执行
  1. dfb_systems 发现授权系统。
  2. dfb_system_describe 读取当前发布契约、releaseId 及所有哈希、查询和命令。
  3. dfb_query 使用已发布 queryKey,按需要指定 objectKey、state、page 和 pageSize。它不是任意 SQL。
  4. dfb_record 与 dfb_work_items 读取当前允许的记录和待办。
  5. 执行前用 dfb_action_plan 提供实际 releaseId、releaseHash、canonicalIrHash、agentManifestHash、commandType、planIdempotencyKey 与合同 payload。
  6. 核对 riskClass、requiresApproval 和 status;涉及目标记录时保留 expectedRecordVersion。
  7. dfb_action_execute 仅执行当前连接拥有且已就绪的计划,人工要求的审批令牌由 DataFocus 发出。
  8. 失败或超时后 dfb_action_status 恢复原计划;重试保持原幂等语义。
图 A10 已发布契约、计划、审批与动作执行。示意图。

连接与版本绑定

计划与当前 Grant 的稳定隔离 ID 绑定。Access Token 刷新后仍可处理同一连接的计划,另一 OAuth 连接不能接管它。执行时重新检查发布版本、IR/manifest 哈希、目标记录版本、计划过期、幂等和审批。OAuth allowlist 不能绕过业务治理。

章节 21

业务知识输入与待确认问题

在对应生产处理器开放时登记业务输入,并保留人类确认边界。

以下四个工具由公共 MCP 控制器按已安装处理器和当前 scope 条件加入。它们不在基础目录中始终出现。声明 Schema 的存在不代表实例已配齐处理器、预算或权限,必须先检查 tools/list。

工具用途不产生的授权或效果
dfc_ontology_knowledge_input_propose为已有工作空间登记原业务输入不生成确认问题 不审批 不发布
dfc_ontology_knowledge_input_preview从原输入临时预览问题草稿不持久化 不确认 不形成生产回执
dfc_ontology_knowledge_question_submit保存 authored 且未确认的问题不自动合并答案 不获得责任权限或发布权
dfc_ontology_business_scope_initialize显式初始化一个业务系统消费者范围不发布 不激活 不授予来源访问权

输入与预览

  1. 从实际准备工作中取得 workspaceId、workspaceRevision、localRef 与 preparationDigest。
  2. propose 使用原 input 合同和稳定 idempotencyKey 登记业务输入;同键只能对应同一输入。
  3. preview 使用原输入的幂等键和 ontologyId;它每次返回服务端 revision 及 60 秒窗口,不是幂等生产完成回执。
  4. 需要存储问题时,question_submit 使用新的命令键、原 originalInputKey、明确的 questionRevision、validFrom、validUntil 和 expectedRevision;创建时 expectedRevision 为 null。

人类确认入口

question_submit 返回的 knowledgeConfirmationPage 只是原登录页的相对定位,预填某个问题。它不带 Bearer、不会自动打开页面、不会确认知识。QUESTION_STORED_UNCONFIRMED 明确表示尚未确认,不能在回答中写成“知识已发布”。

消费者范围初始化

business scope initialize 必须同时具备本体发布权,以及精确业务系统的创建者或 SourceManager 管理权。它使用 domainRid、domainRevisionId 和 businessSystemId 的真实坐标,不能由客户端填写任意 consumerScope 或已完成证明。返回 INITIALIZED 与 COMPLETED 仍明确 published=false、activationAuthorized=false。

这些请求还经过严格 JSON、字段集合、字节与深度校验。输入请求上限为 1 MiB;部分具体操作有更小上限。完整输入和输出 Schema 随工具参考交付,不能把一般 MCP 包装器的宽松参数逻辑套到这些严格合同。

章节 22

响应 错误与安全重试

分层解释错误,保持任务坐标与幂等语义。

层次检查内容处理原则
网络与 HTTP连接 TLS 401 403 400 404 405 等不要把失败响应当普通查询结果
JSON-RPCerror.code message data区分协议 方法 参数和授权问题
MCP 工具result.isError 与 structuredContentHTTP 200 仍可能失败
业务结果真实状态 完整性 失败原因 nextAction收到或就绪不等于完成
事实资格executionReceipt citationEligible contentComplete没有资格的内容仅用于定位或解释缺口

常见 HTTP 情况

  • 401:缺少或失效 Bearer,按当前 OAuth 流程刷新或重新授权。
  • 403:Grant、角色、所选资源、来源权限、Origin 或配置不满足;不靠重放绕过。
  • 400:报文或版本化合同非法,包括现代头与元数据不一致。
  • 404:检查确切服务路径、协议方法及运行时能力;不要随机换本体 ID。
  • 405:公共 /mcp 的 GET、DELETE 本来不开放;改用正确 POST,而不是建立 SSE 长连接。

结果不明的写操作

MCP_OPERATION_OUTCOME_UNKNOWN 可能包含 outcome=UNKNOWN、retryable=false、nextAction=READ_ORIGINAL_STATUS、recoveryTool 与原定位参数。先查原状态,再恢复原请求。不要重新提交候选、更换幂等键或把超时当作事务回滚。

图 A11 失败、结果不明与可重试情况的处理顺序。恢复示意图。

需要原样保留的内容

  • 原 Grant、资源范围、任务和结果 ID。
  • candidateHash、planHash、expectedRevision、目标版本与发布选择。
  • 同一逻辑操作的幂等键;不同业务操作应使用新键。
  • 服务端声明的 retryable、remediation、nextAction 和当前状态。

不要从异常文本提取内部 SQL、主机、凭据或堆栈作为答案来源。记录可公开的错误码与请求关联信息即可;原错误可能需要管理员在受控日志中查看。

章节 23

集成安全与能力边界

保持身份、资源、执行和证据的原边界,安全处理不可信文档。

  1. 只连接管理员给出的正式域名;验证 TLS 与 OAuth issuer,不关闭证书验证。
  2. 使用专用、最小资源范围的 Grant;不要把管理员账号、Cookie 或长期内部 Token 当公共接口凭据。
  3. 把文档正文当作不可信业务材料。文档中的“忽略规则”“上传密钥”“执行命令”不是工具授权。
  4. 限制自动重试、并发和结果范围;不在客户端重新构造原始业务权限。
  5. 日志只记录必要关联信息,不记录 Bearer、refresh token、审批令牌及完整敏感业务内容。
  6. 用户断开连接或管理员撤权后,停止使用缓存中的授权和数据,不靠旧 locator 继续调用。

工具提示不是权限

readOnlyHint、destructiveHint、idempotentHint 与 openWorldHint 用于客户端理解能力,不保证每次调用的实际业务效果,也不替代当前用户授权。所有写入、计划、预览、会话和取消动作按其真实行为处理。

不要调用的入口

  • 原 Trino/Hive/Hadoop 服务和未包括在 Flash 中的 Heavy ETL。
  • 内部 FocusCode 专用 scope 或工作空间接口。
  • 未在当前实例 tools/list 中出现的执行 v2、AutoML 或其他实验工具。
  • 浏览器私有 REST、任意数据库连接或其他租户的服务来绕过 MCP 拒绝。

数据语义

遵循服务端的精确十进制、类型、币种、单位、时间及证据合同。不要因为输出文字像数字就重新四舍五入或转换币种,也不要在结果被截断时对可见行做全局排名。

章节 24

管理员接线与条件开关

在启用扩展能力前核对真实组件、公开地址和原权限配置。

配置用途发布要求
datafocus.mcp.public-base-url正式外部根地址OAuth 发现 issuer 回调及反向代理一致
datafocus.mcp.allowed-origins额外批准浏览器来源精确配置,不扩大成任意来源
datafocus.mcp.oauth.route-proof-secret图谱路由证明专用服务器秘密独立保存,不使用 Bearer 作为密钥
datafocus.mcp.analysis.tools.enabled交互分析工具配套数据 知识和权限服务真实可用
datafocus.mcp.analysis.report-tools.enabled持久报告工具配套存储 worker 与恢复链可用
datafocus.mcp.analysis.apps.enabledMCP Apps 展示客户端声明支持并检查返回 _meta
datafocus.mcp.authoring.enabled草稿与建模合同保留原管理员及资源权限
datafocus.mcp.authoring.apply-enabled制品应用能力不可变计划 原审批和当前状态重校验
datafocus.mcp.ontology-published-query-enabled已发布模型与查询真实已提交版本和来源授权
datafocus.mcp.ontology-candidate-query-enabled候选结构化查询候选所有权 精确版本及读取权
datafocus.mcp.authoring.ontology-auto-publication-enabled自动发布委托相关授权有效原策略 公钥信任 预算及发布权

这些名称来自 r56 配置和实现;是否可以开启取决于配套服务与原上线门禁。只改变布尔值不会补齐缺失的处理器、数据库、验证预算或策略。知识输入扩展及 Pi 任务按实际安装组件决定可见性。

边缘代理

保留 Authorization、Content-Type、MCP-Protocol-Version、Mcp-Method、Mcp-Name 及批准的 Origin。按实际服务要求设置请求体、超时与 TLS;不要将公共 /mcp 转发到管理端口或另一个产品。

上线核对

  • 匿名发现与受保护调用的状态符合预期。
  • 普通用户只能发现其授权范围,撤权后后续请求被拒绝。
  • Search 原生会话、SQL、原文与可选报告各自有真实结果。
  • 写入和发布的审批及幂等恢复保持原行为。
  • 日志和公开文档不包含私钥 Token Cookie 密码及内部客户资料。
章节 25

可运行客户端与调用样例

使用配套最小客户端验证报文,不绕过 OAuth 或当前授权。

examples/flash_mcp.py 是仅依赖 Python 标准库的最小协议客户端。它不登录、不代办批准、不自动调用不可见工具,支持现代与旧协议,并按 HTTP、JSON-RPC、工具错误分层退出。Token 通过进程环境输入,不写入脚本或说明文件。

bash
export FLASH_BASE_URL='https://flash.example.com'
read -r -s -p 'Access token: ' FLASH_ACCESS_TOKEN
export FLASH_ACCESS_TOKEN

python3 examples/flash_mcp.py discover
python3 examples/flash_mcp.py tools
python3 examples/flash_mcp.py call dfc_ontologies --arguments '{"page":1,"pageSize":20}'

unset FLASH_ACCESS_TOKEN

读取与查询

bash
python3 examples/flash_mcp.py call dfc_ontology_resources \
  --arguments-file examples/requests/ontology-resources.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/table-detail.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/top3-query.json

先把请求文件中的 ONTOLOGY_ID、TABLE_RESOURCE_ID 等占位符替换为当前授权返回的真实值。客户端遇到占位符会拒绝执行。SQL 示例要求配套 CSV 已按原列名导入;没有对应 schema 时不能直接提交。

其他场景

  • 业务入口:使用 --endpoint business,重新取得面向 /mcp/business 的 Grant。
  • 旧客户端:选择 --protocol 2025-11-25,先 initialize,再按同一协议调用。
  • 内置说明:使用 resources 或 read-resource 读取实际 URI。
  • 离线自检:--self-test 验证现代头与元数据构造,不需要 Token,也不请求产品服务器。

样例的边界

客户端是协议接入起点,不自动生成建模候选、保存问答或执行发布。它输出原 JSON 以便上层 Agent 核对业务状态;不要仅根据进程退出码向用户承诺查询、报告或发布完成。

章节 26

嵌入本体对话界面

将人类对话页嵌入业务前端,并保持登录与浏览器安全边界。

html
<iframe
  title="OT Flash ontology agent"
  src="https://flash.example.com/10001/#/embed/ontology-agent/1001"
  style="width:100%;height:760px;border:0"
  referrerpolicy="strict-origin-when-cross-origin">
</iframe>

10001 为示例租户 ID,1001 为示例本体 ID,使用时换成真实有权坐标。单本体可由 path 或受支持 query 指定;all 模式提供 @ 选择当前用户可访问的本体。skillId 仅透传,不据此声称技能编排已可执行。

认证与域名

当前嵌入页依赖真实 DataFocus 登录态,会检查 /uc/status。跨站 Cookie、SSO、CSP frame-ancestors 和网关配置都会影响嵌入。它不接受把 MCP Bearer 塞入 URL 作为免登录通道;未实现的 outside 外链不能按设计建议自行拼出。

MCP 与 iframe 的区别

方式使用者身份与结果
Remote MCP外部 Agent 或服务集成OAuth Grant 与结构化工具回执
本体对话 iframe人类终端用户原登录态与对话界面
MCP Apps支持扩展的 MCP 客户端受控资源与当前工具结果,不是公开 iframe 登录替代
章节 27

集成验收清单

在真实实例上证明完整业务链,而不是只确认接口返回 200。

  1. 发现:取得实际支持版本、当前工具目录和内置资源。
  2. 授权:普通用户仅看到获准本体与业务系统;没有 scope 的操作拒绝。
  3. 表结构:真实显示名、列、类型和权限完整。
  4. SQL:单维、多维、JOIN、日期、TopN 与截断检查符合实际业务口径。
  5. 知识:定位、完整原文与事实引用资格一致,混合问题同时有数据和文档依据。
  6. Search:模型、init、建议、结果、关闭及缓冲完整性检查通过。
  7. 可选分析与报告:多分支真实状态、翻页、权限变更及取消保持原行为。
  8. 可选建模:候选、计划、原审批、实际应用和版本查询逐阶段核对。
  9. 业务动作:发布哈希、目标版本、审批、幂等与跨 Grant 隔离核对。
  10. 恢复:网络超时后恢复原状态,来源更新后旧定位失效并使用新查询。

结果记录

记录实例版本、用户角色、Grant 范围、配置版本、真实操作与结果。协议客户端离线自检、示例 CSV 的离线预期值、静态 JSON Schema 校验和真正的线上功能验收分别标记。不要把一个阶段通过外推为全部产品通过。

章节 28

规范资源与维护

使用随册完整工具 Schema,并与实例实际发现结果保持同步。

资源内容
reference/mcp-tool-catalog.json32 个本体侧和 8 个业务侧的声明输入 Schema;部分工具含原输出 Schema
reference/locales.json21 个可选项与 24 个兼容 locale 及 UI 术语
reference/search-keywords.json17 个明确 locale 的静态关键词目录
reference/analysis-contract-manifest.json分析 分支 事实 回执及报告相关版本约束
examples/合成 CSV 口径说明 Top3 SQL 预期结果与最小协议客户端

内置说明资源

text
datafocus://manuals/etl-formulas/v1
datafocus://manuals/search-keyword-queries/v1
datafocus://manuals/etl-functions/v1
datafocus://manuals/search-keywords/v1

resources/list 和 resources/read 需要当前用户至少拥有 metadata、search operate 或 etl operate 中的一项对应读取资格。ETL 文档是静态跨产品参考;Flash 可执行能力仍只有其明确报告的范围。

外部协议参考

MCP 协议与授权背景参考官方规范:https://modelcontextprotocol.io/specification/2026-07-28/basic 和 https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization 。本产品的端点、工具和条件行为以 r56 实现及当前实例发现结果为准;不能把通用协议支持等同于服务器提供所有可选特性。

升级维护

升级时重新发现工具与版本,对比输入 Schema、输出合同和配置;旧 Grant 不会自动获得新 scope。保持引用、缓存和回执与源版本绑定,在确认不兼容变化后重新取得上下文,不把旧定位强行用于新业务状态。

章节 29

工具参数参考 基础与原生 Search

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfc_manual

参数类型要求含义与范围
namesarray可选或条件必填需要查找的明确名称,单次最多 32 个。 maxItems: 32
actionstring可选或条件必填操作名。按当前枚举和动作对应参数使用。 enum: list, read, keywords, functions, etl_requests
localestring可选或条件必填明确静态参考目录 locale,不是查询默认语言。
uristring可选或条件必填当前工具列出的内置资源 URI。 enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1

dfc_search

参数类型要求含义与范围
dataobject可选或条件必填原动作载荷;参照能力发现与动作字段表。
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: capabilities, model_create, model_read, open, request, poll, cancel, close

dfc_etl

参数类型要求含义与范围
dataobject可选或条件必填原动作载荷;参照能力发现与动作字段表。
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: capabilities

dfc_ontologies

参数类型要求含义与范围
pageSizeinteger可选或条件必填每页条数;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可选或条件必填页号,从 1 开始。 minimum: 1

dfc_ontology_resources

参数类型要求含义与范围
resourceTypesarray可选或条件必填需要返回的资源类型集合。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
pageSizeinteger可选或条件必填每页条数;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可选或条件必填页号,从 1 开始。 minimum: 1
章节 30

工具参数参考 表格 图谱与知识

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfc_ontology_graph

参数类型要求含义与范围
relationTypesarray可选或条件必填关系类型过滤。
depthinteger可选或条件必填邻居遍历深度。 minimum: 1; maximum: 3
sourceTypesarray可选或条件必填来源类型过滤。
queryobject可选或条件必填查询文本,或 action 对应的精确版本化查询对象。
limitinteger可选或条件必填返回数量上限。 minimum: 1; maximum: 100
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: search, neighbors, published_model, published_query, candidate_query
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
nodeKeystring可选或条件必填从实际图谱结果复制的节点键。
keywordstring可选或条件必填图谱定位关键词,不是关键词问数语法。
nodeTypesarray可选或条件必填节点类型过滤。

dfc_ontology_query

参数类型要求含义与范围
routeLocatorsarray可选或条件必填完整复制服务端签发的类型化路由定位。 maxItems: 20
topKinteger可选或条件必填召回候选上限,不证明覆盖完整。 minimum: 1; maximum: 20
queryModestring可选或条件必填按工具枚举选择证据查询模式。 enum: vector, hybrid, graph
fanoutPlanobject可选或条件必填受限分支检索计划,按嵌套 Schema。
structuredPlanobject可选或条件必填完整文档表格的服务端合同绑定计划,不是 SQL。
knowledgeIdsarray可选或条件必填实际 knowledgeBindings 中的知识库 ID。
querystring必填查询文本,或 action 对应的精确版本化查询对象。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。

dfc_knowledge_search

参数类型要求含义与范围
topKinteger可选或条件必填召回候选上限,不证明覆盖完整。 minimum: 1; maximum: 20
minScorenumber可选或条件必填最低匹配分数。 minimum: 0; maximum: 1
knowledgeIdsarray可选或条件必填实际 knowledgeBindings 中的知识库 ID。
querystring必填查询文本,或 action 对应的精确版本化查询对象。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
assetIdsarray可选或条件必填当前允许的文档资产 ID。
retrievalStrategystring可选或条件必填实际支持的检索策略。 enum: auto, hybrid_stage2

dfc_knowledge_detail

参数类型要求含义与范围
qdrantIdstring / integer可选或条件必填实际定位返回的索引标识。
pageNointeger可选或条件必填实际页面或分页页号。
evidenceIdstring可选或条件必填同一知识定位返回的证据 ID。
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: chunk, document, page_context
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
documentIdstring / integer可选或条件必填同一定位的文档 ID。
radiusinteger可选或条件必填相邻页面范围。 minimum: 0; maximum: 3
chunkIdstring可选或条件必填同一定位的实际分片 ID。

dfc_table

参数类型要求含义与范围
maxRowsinteger可选或条件必填返回行数上限;不是客户端排名范围。 minimum: 1; maximum: 200
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: detail, query
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
idstring可选或条件必填真实表资源 ID,不是物理名或显示名。
sqlstring可选或条件必填单条本体范围内只读 Doris SQL,显式输出列。
章节 31

工具参数参考 分析与报告

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfc_analysis_ask

参数类型要求含义与范围
questionstring必填自然语言问题或兼容追问。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
languagestring可选或条件必填明确回答或查询 locale;省略按对应工具规则。
sessionIdstring可选或条件必填同一 Grant 下的真实会话定位。

dfc_analysis_refine

参数类型要求含义与范围
branchIdstring可选或条件必填服务端签发的结构化分支定位。
resultIdstring必填原返回的分析结果定位。
questionstring可选或条件必填自然语言问题或兼容追问。
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
changeobject可选或条件必填自然语言变更或类型化 filter_patch。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
languagestring可选或条件必填明确回答或查询 locale;省略按对应工具规则。
sessionIdstring必填同一 Grant 下的真实会话定位。
expectedRevisioninteger必填原结果或业务头版本前提;创建问题时可为 null。 minimum: 1
visualIdstring可选或条件必填与分支绑定的可视化定位。

dfc_analysis_page

参数类型要求含义与范围
branchIdstring必填服务端签发的结构化分支定位。
resultIdstring必填原返回的分析结果定位。
pageNointeger必填实际页面或分页页号。 minimum: 1; maximum: 10000
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
pageSizeinteger必填每页条数;按 Schema 上限。 minimum: 1; maximum: 100
sessionIdstring必填同一 Grant 下的真实会话定位。
expectedRevisioninteger必填原结果或业务头版本前提;创建问题时可为 null。 minimum: 1

dfc_analysis_result_get

参数类型要求含义与范围
resultIdstring必填原返回的分析结果定位。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真实会话定位。

dfc_analysis_cancel

参数类型要求含义与范围
resultIdstring必填原返回的分析结果定位。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真实会话定位。

dfc_analysis_close

参数类型要求含义与范围
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
sessionIdstring必填同一 Grant 下的真实会话定位。

dfc_report_create

参数类型要求含义与范围
goalstring必填报告分析目标。
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
languagestring可选或条件必填明确回答或查询 locale;省略按对应工具规则。
titlestring可选或条件必填可选报告标题。

dfc_report_status

参数类型要求含义与范围
reportIdstring必填当前 Grant 的持久报告定位。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。

dfc_report_cancel

参数类型要求含义与范围
reportIdstring必填当前 Grant 的持久报告定位。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
章节 32

工具参数参考 建模与原任务

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfc_ontology_agent

参数类型要求含义与范围
modestring可选或条件必填QUERY 或 AUTHORING,能力分别受权。 enum: QUERY, AUTHORING
instructionstring可选或条件必填用户需求文本;上下文与提交保持一致。 maxLength: 16000
idempotencyKeystring可选或条件必填同一逻辑操作稳定复用的幂等键。 maxLength: 128
actionstring必填操作名。按当前枚举和动作对应参数使用。 enum: start, status, cancel
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
runIdstring可选或条件必填同一本体和 Grant 的原任务 ID。
contractVersionstring必填必须使用实际支持的精确合同版本。 enum: ontology-agent-task-v1

dfc_authoring_capabilities

此工具的输入根对象没有字段;使用空 arguments 对象。

dfc_artifact_context

参数类型要求含义与范围
artifactTypestring必填实际开启的制品或本体发布类型。 enum: CONTROL_PANEL_SPEC, VIEW_SPEC
scopeTypestring可选或条件必填实际制品合同中的资源范围类型。
ontologyIdstring可选或条件必填本次授权内的真实本体 ID,按字符串保留。
projectIdstring可选或条件必填当前授权项目 ID。
artifactIdstring可选或条件必填编辑已有制品的真实 ID。
instructionstring必填用户需求文本;上下文与提交保持一致。
variablesobject可选或条件必填按返回合同提供的变量对象。
previewInputobject可选或条件必填按合同提供的有界预览输入。
viewportobject可选或条件必填原合同要求的展示视口。

dfc_ontology_table_schema

参数类型要求含义与范围
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
sourceAssetRefstring必填已登记的结构化资产引用,例如 table:123。
fieldsarray必填当前来源的字段与可选显式类型声明。 minItems: 1; maxItems: 64

dfc_artifact_preview

参数类型要求含义与范围
proposalIdstring必填当前 Grant 创建的原候选 ID。
candidateHashstring必填原服务端候选的精确哈希。
previewInputobject必填按合同提供的有界预览输入。

dfc_artifact_status

参数类型要求含义与范围
proposalIdstring可选或条件必填当前 Grant 创建的原候选 ID。
planIdstring可选或条件必填不可变应用计划 ID。

dfc_artifact_plan

参数类型要求含义与范围
proposalIdstring必填当前 Grant 创建的原候选 ID。
candidateHashstring必填原服务端候选的精确哈希。
expectedTargetVersioninteger必填当前真实目标版本前提。 minimum: 0
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。

dfc_artifact_apply

参数类型要求含义与范围
planIdstring必填不可变应用计划 ID。
planHashstring必填原计划返回的哈希。
approvalTokenstring必填原服务端发出的批准材料,禁止自行生成。
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。

dfc_artifact_submit

参数类型要求含义与范围
配置1 / artifactTypestring必填实际开启的制品或本体发布类型。 enum: CONTROL_PANEL_SPEC, VIEW_SPEC
配置1 / scopeTypestring可选或条件必填实际制品合同中的资源范围类型。
配置1 / ontologyIdstring可选或条件必填本次授权内的真实本体 ID,按字符串保留。
配置1 / projectIdstring可选或条件必填当前授权项目 ID。
配置1 / artifactIdstring可选或条件必填编辑已有制品的真实 ID。
配置1 / instructionstring必填用户需求文本;上下文与提交保持一致。
配置1 / variablesobject可选或条件必填按返回合同提供的变量对象。
配置1 / previewInputobject可选或条件必填按合同提供的有界预览输入。
配置1 / viewportobject可选或条件必填原合同要求的展示视口。
配置1 / contractVersionstring必填必须使用实际支持的精确合同版本。
配置1 / contextHashstring必填context 返回的完整上下文哈希。
配置1 / baseArtifactHashstring必填context 返回的基础制品哈希。
配置1 / baseArtifactVersioninteger必填context 返回的基础版本。 minimum: 0
配置1 / candidateobject必填符合当前返回合同的候选对象。
配置1 / clientRequestIdstring必填当前候选请求稳定使用的客户端幂等键。
配置2 / artifactTypestring必填实际开启的制品或本体发布类型。 enum: ONTOLOGY_RELEASE
配置2 / contractVersionstring必填必须使用实际支持的精确合同版本。 enum: ontology-publication-mcp-submit-v1, ontology-publication-mcp-submit-v2, ontology-publication-mcp-submit-v3, ontology-publication-mcp-submit-v4, ontology-publication-mcp-submit-v5, ontology-publication-mcp-submit-v6
配置2 / ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
配置2 / candidateHashstring必填原服务端候选的精确哈希。
配置2 / workspaceIdstring必填实际候选工作空间坐标。
配置2 / workspaceRevisionstring必填精确候选版本,不用 latest。
配置2 / releasesobject必填按本体发布合同提供的精确版本选择。
配置2 / selectionobject必填只提供明确业务选择坐标,不提供权限或完成证明。
配置2 / idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
配置3 / 配置1 / artifactTypestring必填实际开启的制品或本体发布类型。 enum: ONTOLOGY_RELEASE
配置3 / 配置1 / contractVersionstring必填必须使用实际支持的精确合同版本。 enum: ontology-workspace-create-mcp-submit-v1
配置3 / 配置1 / ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
配置3 / 配置1 / workspaceIdstring必填实际候选工作空间坐标。
配置3 / 配置1 / resourcesarray必填服务端编译的原模型声明。 minItems: 1
配置3 / 配置1 / idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
配置3 / 配置2 / artifactTypestring必填实际开启的制品或本体发布类型。 enum: ONTOLOGY_RELEASE
配置3 / 配置2 / contractVersionstring必填必须使用实际支持的精确合同版本。 enum: ontology-workspace-create-mcp-submit-v2
配置3 / 配置2 / ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
配置3 / 配置2 / workspaceIdstring必填实际候选工作空间坐标。
配置3 / 配置2 / resourcesarray必填服务端编译的原模型声明。 minItems: 1
配置3 / 配置2 / idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
配置3 / 配置2 / releaseSelectionsobject必填每个已发布引用的精确 releaseId 及依赖闭包。
配置4 / artifactTypestring必填实际开启的制品或本体发布类型。 enum: ONTOLOGY_RELEASE
配置4 / contractVersionstring必填必须使用实际支持的精确合同版本。 enum: ontology-initial-activation-retirement-submit-v1
配置4 / ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
配置4 / domainRidstring必填真实业务域 RID。
配置4 / consumerScopesarray必填服务端允许的精确消费者范围。 minItems: 1; maxItems: 256
配置4 / idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。
章节 33

工具参数参考 知识输入与范围

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfc_ontology_knowledge_input_propose

参数类型要求含义与范围
requestobject必填原业务输入请求;按完整嵌套 Schema。
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。 minLength: 1; maxLength: 128

此工具另有原生 outputSchema。检查输出的完整性、状态及明确为 false 的授权字段,不自行升级完成含义。

dfc_ontology_knowledge_input_preview

参数类型要求含义与范围
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。 minLength: 1; maxLength: 128
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。

此工具另有原生 outputSchema。检查输出的完整性、状态及明确为 false 的授权字段,不自行升级完成含义。

dfc_ontology_knowledge_question_submit

参数类型要求含义与范围
questionRevision$ref必填本次待确认问题的明确版本。
idempotencyKey$ref必填同一逻辑操作稳定复用的幂等键。
originalInputKey$ref必填对应原知识输入的幂等键。
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。
validUntil$ref必填问题有效窗口终点,UTC 时间。
expectedRevisiononeOf必填原结果或业务头版本前提;创建问题时可为 null。
validFrom$ref必填问题有效窗口起点,UTC 时间。

此工具另有原生 outputSchema。检查输出的完整性、状态及明确为 false 的授权字段,不自行升级完成含义。

dfc_ontology_business_scope_initialize

参数类型要求含义与范围
domainRevisionIdstring必填精确业务域版本。 minLength: 1; maxLength: 128
idempotencyKeystring必填同一逻辑操作稳定复用的幂等键。 minLength: 1; maxLength: 128
businessSystemIdstring必填真实业务系统 ID。 minLength: 1
ontologyIdstring必填本次授权内的真实本体 ID,按字符串保留。 minLength: 1
domainRidstring必填真实业务域 RID。 minLength: 1; maxLength: 128

此工具另有原生 outputSchema。检查输出的完整性、状态及明确为 false 的授权字段,不自行升级完成含义。

章节 34

工具参数参考 业务工作台

完整名称与输入字段,按工具分组查阅。

以下表格是当前 r56 工具输入字段的阅读参考。完整嵌套类型、oneOf、条件必填、模式约束和部分输出 Schema 见 reference/mcp-tool-catalog.json;最终提交前仍需读取当前 Grant 的 tools/list。表中的“可选”不消除动作内部校验要求。

dfb_systems

此工具的输入根对象没有字段;使用空 arguments 对象。

dfb_system_describe

参数类型要求含义与范围
systemIdstring / integer必填本次业务 Grant 允许的系统 ID。

dfb_query

参数类型要求含义与范围
systemIdstring / integer必填本次业务 Grant 允许的系统 ID。
queryKeystring必填describe 返回的已发布查询键。
objectKeystring可选或条件必填已发布对象键。
pageSizeinteger可选或条件必填每页条数;按 Schema 上限。 minimum: 1; maximum: 100
pageinteger可选或条件必填页号,从 1 开始。 minimum: 1
statestring可选或条件必填业务状态过滤或服务端状态。

dfb_record

参数类型要求含义与范围
recordIdstring / integer必填当前允许读取的业务记录 ID。
systemIdstring / integer必填本次业务 Grant 允许的系统 ID。

dfb_work_items

参数类型要求含义与范围
systemIdstring / integer必填本次业务 Grant 允许的系统 ID。

dfb_action_plan

参数类型要求含义与范围
expectedRecordVersioninteger可选或条件必填目标记录的当前乐观锁版本。 minimum: 1
systemIdstring / integer必填本次业务 Grant 允许的系统 ID。
commandTypestring必填已发布契约中的命令类型。
canonicalIrHashstring必填当前发布的规范 IR 哈希。
releaseIdstring / integer必填实际发布契约版本 ID。
payloadobject必填符合 describe 中当前命令合同的载荷。
releaseHashstring必填实际发布契约哈希。
targetRecordIdstring / integer可选或条件必填需要操作的真实目标记录。
agentManifestHashstring必填实际 Agent 能力 manifest 哈希。
planIdempotencyKeystring必填业务计划的稳定幂等键。

dfb_action_status

参数类型要求含义与范围
actionPlanIdstring / integer必填当前业务 Grant 拥有的动作计划 ID。

dfb_action_execute

参数类型要求含义与范围
approvalTokenstring可选或条件必填原服务端发出的批准材料,禁止自行生成。
actionPlanIdstring / integer必填当前业务 Grant 拥有的动作计划 ID。