EASH FDE 能力开发手册

面向 FDE / 集成开发工程师:拿到客户第三方系统(Prometheus、蓝鲸 CMDB、ITSM…)的 REST/OpenAPI 文档后,如何改造成 EASH 智能体中台可调用的能力(Tool),并完成测试、声明与编排绑定。

读者与边界
· 本手册讲工程落地,不讲 Pack 业务咨询(见 本体方法论
· 第三方系统不必实现 MCP,开放 REST/OpenAPI + Webhook 即可
· 智能体禁止绕过 ToolGate 直连客户系统;凭证只在 Vault,平台不 SSH 生产
一、你要解决的核心问题

客户系统往往有几十上百个 REST 接口,但智能体只需要其中与办事协议对齐的原子动作(如「查告警」「查变更」「追溯影响面」)。你的工作是把外部 API 封装、归一、登记,而不是把 OpenAPI 原封不动暴露给 LLM。

① 连接器 Connector

现场 base URL、密钥、同步策略。负责入图(Pull/Push)或给 Adapter 提供回源通道。

例:prometheus_urlcmdb api gateway

② Adapter 适配器

一条外部 API映射为平台契约的 input/output。固定 REST 路径模板写在这里。

例:adapters.prometheus.get_alert

③ 可调用工具 Tool

Pack 内 tools/*.yaml:tool_id、Schema、关联 connector + handler。智能体只能调已声明项

例:ops:get_alert

完整 REST 地址怎么拼?
运行时请求 = 连接器 base URL(① 配置)+ Adapter 内路由模板(② 代码)+ 入参(③ Schema 校验)
换客户现场只改 ①,②③ 的 Pack 声明通常不用改。
二、客户已有 MCP 或 Skill,还要 REST 吗?
结论(谈判话术):
· 不强制客户再开发 MCP —— 有 REST/OpenAPI + Webhook 就够(首选
· 客户已经开放 MCP Server能用,经 ToolGate mcp_adapter 接入,但仍须登记为 Pack 能力、走鉴权审计
· 客户说开放了 Skill → 通常不能当作企业集成契约直接接,需弄清 Skill 背后是什么(多半是 REST/MCP/脚本的打包),再经 ToolGate 封装
· 智能体禁止绕过 ToolGate 直连客户 MCP/Skill(无论多火)

2.1 先分清三个词:API、REST、OpenAPI

术语定义现场怎么说
API
Application Programming Interface
应用程序编程接口——一切「程序之间怎么调用」的总称。可以是 HTTP、gRPC、消息队列、SDK 函数等。 口语「开放 API」= 给我们一个能调用的编程入口,不限定具体技术形态。
REST
Representational State Transfer
基于 HTTP 的一种 API 架构风格:用 URL 表示资源,用 GET/POST/PUT/DELETE 表示动作,常见 JSON body。 口语「REST 接口」≈ 能通过 HTTPS 调用的 Web API。CMDB、ITSM、Prometheus 绝大多数属于这类。
OpenAPI 描述 REST API 的文档规范(原 Swagger)。机器可读的接口清单 + 参数说明。 客户给一份 openapi.yaml,FDE 据此开发 Adapter。
REST 和 API 是什么关系?
· API 是大类,REST 是其中最常见的一种(还有 gRPC API、GraphQL API、SOAP Web Service…)
· 日常交流里「API 接口」和「REST 接口」经常混用——在 EASH 运维场景下,你说 REST 我们默认指 HTTPS + JSON 的 Web API
· EASH Connector / Adapter 首期最成熟的路径就是 REST/OpenAPI;gRPC 等需单独评估 Adapter

2.2 MCP、Skill、REST 在 EASH 里各是什么角色?

是什么谁暴露EASH 怎么用是否推荐作第三方接入主路径
REST / OpenAPI 客户系统的标准 Web API Prometheus、蓝鲸、ServiceNow、自研平台 Connector 持密 + rest_adapter Handler 回源 首选——门槛最低、生态最广
MCP
Model Context Protocol
AI Agent 用的工具发现/调用协议(tools/list、tools/call) ① EASH 对外暴露(让 OpenClaw 调我们)
② 客户内部 MCP Server(少见但渐多)
① 我方 mcp_manifest.json 汇总 Pack 能力
② 客户 MCP → ToolGate mcp_adapter 转发
○ 客户已有 MCP 可用;不要求为此新建
Skill
技能 / 技能包
无统一行业标准——各产品对「技能」定义不同:可能是 Prompt 模板 + 工具列表 + 配置文件的打包(OpenClaw Skill、Cursor Skill、厂商「运维技能市场」等) Agent 平台厂商、ISV、客户自研助手 不直接对接 Skill 格式。拆解其背后的 API/MCP,经 ToolGate 登记为 ops:xxx 能力 △ 当作产品包装,不是企业 CMDB/监控的集成契约

2.3 三层协议关系(别接反了)

flowchart TB
  subgraph L1["对内 · Agent 调能力(主契约)"]
    HAR[Harness / AgentBrain]
    TG[ToolGate gRPC Execute]
    YAML[Pack tools/*.yaml 声明]
    YAML --> TG
    HAR --> TG
  end

  subgraph L2["对外 · 别的 Agent 调 EASH(可选)"]
    OC[OpenClaw / WorkBuddy]
    MCP_OUT[EASH MCP Server]
    OC --> MCP_OUT
    MCP_OUT --> TG
  end

  subgraph L3["对外 · ToolGate 调客户系统"]
  REST[客户 REST / OpenAPI]
  WH[Webhook Push]
  MCP_IN[客户 MCP Server]
  TG -->|rest_adapter 推荐| REST
  TG -->|mcp_adapter 可选| MCP_IN
  CONN[Connector 入图] --> REST
  CONN --> WH
  end

  SKILL[客户 Skill 包
非标准集成层] SKILL -.->|FDE 拆解背后 API/MCP| TG

要点:MCP 可以是入口,也可以是出口,但企业办事能力在 EASH 内部统一登记在 tools/*.yaml,经 ToolGate 治理——不是让 LLM 随意挂载外部 Skill 清单。

2.4 现场决策:客户说「我们已经开放 MCP / Skill 了」

客户说法FDE 先问什么EASH 做法
「有 REST / OpenAPI」 Base URL、鉴权、测试环境、OpenAPI 文档 标准路径:Connector + Adapter + tools 声明
「有 MCP Server」 MCP 地址、tools 列表、与客户 REST 是否重复、谁维护版本 评估 mcp_adapter 转发;仍要在 Pack 声明对应 ops:xxx,映射 Schema 与 Scope
「有 Skill 包」 Skill 属于哪个平台?背后调什么 API?有无凭证与审计? 把 Skill 当文档/参考,抽取办事动作 → 用 REST 或 MCP 接 ToolGate;不把 Skill 文件直接给生产 Agent
「只有数据库/文件,没有 API」 能否由客户中间层暴露只读 API? Connector Pull 或客户建一层 REST;EASH 不直连库表
和「裸挂 Skill/MCP」方案差在哪?(为何还要 ToolGate)
· 归一:Skill 返回各系统原始字段;EASH 要求 ci_idseverity 等 canonical 字段对齐本体
· 办事协议:Harness 按编排步骤调用,不是 LLM 每次即兴挑 Skill
· 治理:Scope、写操作门禁、审计 trace_id —— 外部 Skill 清单默认没有
· 评测:Pack eval case 阻断发布;裸 Skill 无法企业级验收

2.5 推荐优先级(集成谈判用)

  1. REST/OpenAPI + Webhook — 默认选项,Connector 与 Adapter 最成熟。
  2. 客户已有 MCP — 可用 mcp_adapter,减少重复封装;若 MCP 只是 REST 的薄包装,也可直连 REST。
  3. Skill 包 — 仅作能力清单参考;工程上落到 REST/MCP + ToolGate 声明。
  4. 既无 REST 也无 MCP — 请客户加一层只读 API 或批处理导出,EASH 不做非标直连。

平台 SSOT:docs/platform/10-ToolGate工具接入规范.md §五 · 战略差异:docs/archive/运维智能体产品设计/14-OASHP与常见运维智能体路径的本质差异.md §3.1

三、中台与第三方系统对接架构(图形化)

2.1 总体数据流

flowchart TB
  subgraph VENDOR["客户第三方系统"]
    PROM["Prometheus / Alertmanager"]
    CMDB["蓝鲸 CMDB / ServiceNow"]
    ITSM["ITSM 变更单 API"]
    ELK["Elastic / Loki"]
  end

  subgraph EASH["EASH 智能体中台"]
    CONN["① Connector 插件
Go · 地址/密钥/同步"] VAULT[("Vault 凭证")] ADP["② Adapter Handler
Go · 路由+字段映射"] TG["ToolGate 工具网关
Schema/Scope/审计"] DECL["③ Pack tools/*.yaml
可调用工具"] ORCH["智能体编排 Harness"] AGENT["AgentBrain / LLM"] NEO["Neo4j 知识图谱"] end PROM & CMDB & ITSM & ELK -->|REST/Webhook| CONN CONN --> VAULT CONN -->|Pull/Push 入图| NEO DECL --> TG ADP --> TG CONN --> ADP ORCH --> AGENT AGENT -->|gRPC Execute| TG TG --> ADP ADP -->|按需回源| PROM & ITSM & ELK TG -->|graph_query| NEO

2.2 单次工具调用时序(路径 B · API 回源)

sequenceDiagram
  participant H as Harness 编排步骤
  participant A as AgentBrain
  participant TG as ToolGate
  participant AD as Adapter handler
  participant V as Vault
  participant EXT as 客户 REST API

  H->>A: 执行步骤 N(绑定 get_alert)
  A->>TG: Execute(tool_id, input, principal)
  TG->>TG: JSON Schema 校验 input
  TG->>TG: Principal + Scope 鉴权
  TG->>AD: 路由 adapters.prometheus.get_alert
  AD->>V: 取 prometheus/alertmanager 凭证
  AD->>EXT: GET /api/v2/alerts?filter=...
  EXT-->>AD: 原始 JSON
  AD->>AD: 映射为 canonical output
  TG->>TG: 校验 output Schema + 审计
  TG-->>A: ToolResponse
  A-->>H: 结构化结果入上下文
          

2.3 三条信息获取路径

路径何时用Adapter 类型典型能力
A · 图谱数据已由 Connector 入图graph_querytrace_impact、trace_ci_to_service
B · API 回源需实时查外部系统rest_adapter / tsdb_adapter / log_adapterget_alert、list_changes、query_metrics
C · 远程巡检经客户堡垒机/自动化平台rpa_adapterexec_readonly_on_host(阶段 2+)
四、分工:谁开发什么
交付物主要开发者产物位置说明
Connector 插件EASH 平台研发 / 认证伙伴services/graphsync/... Go 插件或 sidecarPull/Push 入图;注册 connector_idprometheus-v1
Adapter HandlerEASH 预置 或 FDE 扩展services/toolgate/adapters/ Go 包每个「办事动作」一个 handler;不是 Shell 脚本
连接器实例配置FDE / 实施管理后台「业务系统连接」+ connectors/*.yaml填现场 URL、环境变量、Webhook 密钥
可调用工具Pack 作者 / FDEpacks/ops/tools/*.yaml声明 tool_id、Schema、adapter 绑定
字段映射 / 归一FDE + 顾问Pack mappings + 归一词典外部字段 → 本体属性(如 labels.pod → ci_id)
评测用例FDE + QAPack eval/阻断发布门禁
常见现场路径(B · 平台已有 Adapter): FDE 配连接器 → 在 Pack 写/改 tools/*.yaml → 跑评测 → 编排绑定。不必写 Go
新系统路径(C · 新 Connector + 新 Adapter): 研发或高级 FDE 按 07/10 开发 Go 插件与 handler → 再声明 Tool。
五、开发语言与技术栈
组件语言形态FDE 是否要写代码
accessgw / toolgate / graphsyncGo微服务、gRPC/REST新 Adapter 时写 Go;否则只配 YAML
ontocore / agentsvc / harnessPythonFastAPI、Temporal Worker一般不改;写评测脚本可选 Python
可调用工具YAMLtools/*.yamlconnectors/*.yaml必会
SchemaJSON Schema Draft-07嵌在 tools YAML必会
本地联调脚本Python / curl / httpx个人笔记本临时脚本仅开发调试,禁止作为生产工具后端
不要用 Shell/Python 脚本替代 Adapter 上生产。 脚本可用于:① 验证客户 API 通不通;② 客户侧自动化平台(路径 C)由对方执行。EASH ToolGate 的生产适配层统一为 Go Handler,便于审计、超时、限流与热加载。
六、端到端开发流程(从拿到 API 文档开始)
  1. 对齐办事动作 — 从工作坊 / 教辅-06 确认需要哪几条能力(如 get_alert),不要试图封装全部 OpenAPI。
  2. 研读客户 API — 锁定具体 Method、Path、鉴权方式、分页与限流;在测试环境用 curl/Postman 打通。
  3. 判断复用还是新建 — 平台是否已有 connector_id + handler?有则跳到步骤 6。
  4. 配置连接器实例 — 管理后台填写 base URL、密钥;Pack connectors/*.yaml 声明启用插件。
  5. 开发 Adapter(若需要) — Go 实现 handler:拼 URL、调 REST、把响应映射为 canonical output。
  6. 编写 tools/*.yaml — tool_id、type、schema、adapter.connector + adapter.handler。
  7. 对齐本体与映射 — 入参/出参字段名对齐本体属性;必要时补 mappings / 归一词典。
  8. 测试 — Schema 校验 → ToolGate 单测 → 评测用例 → 编排预览(见 §九)。
  9. Pack 安装 / 声明入库 — 管理台「可调用工具」可见;状态「可用」。
  10. 智能体编排绑定 — 诊断协议每步绑定已声明能力 → 评测 → 发布 → 工作台可用。
flowchart LR
  API["客户 API 文档"] --> PICK["选取办事动作"]
  PICK --> Q{"已有 Adapter?"}
  Q -->|是| YAML["写 tools/*.yaml"]
  Q -->|否| GO["Go 开发 handler"]
  GO --> REG["注册到 ToolGate"]
  REG --> YAML
  YAML --> MAP["对齐映射/本体"]
  MAP --> TEST["评测 + 联调"]
  TEST --> DECL["Pack 声明/发布"]
  DECL --> ORCH["编排绑定"]
          
七、① 连接器:连上第三方系统

Connector 负责连接信息与入图同步,不等于一条可调用工具。一个 Connector 实例可支撑多个 Tool。

6.1 Pack 内连接器声明(模板)

# packs/ops/connectors/prometheus.yaml connector_id: prometheus-v1 displayName: Prometheus + Alertmanager type: monitoring version: 1.0.0 capabilities: - alert_webhook # Push 告警入平台 - metrics_query # 供 Adapter 回源 config: prometheus_url: ${PROMETHEUS_URL} alertmanager_url: ${ALERTMANAGER_URL} webhook_secret: ${ALERT_WEBHOOK_SECRET}

6.2 现场配置(FDE 在管理后台填写)

系统配置项示例值
Prometheusprometheus_urlalertmanager_urlhttps://prometheus.hfec.prod:9090
蓝鲸 CMDBapi_urlapp_codeapp_secrethttps://cmdb.xxx/api/c/compapi/v2
ServiceNowinstance_url、OAuth / Basichttps://xxx.service-now.com

Connector 插件接口为 Go,见 docs/platform/07-连接器框架与生态规范.md §2.1 Connector.Pull()

八、② Adapter Handler 开发规范

Handler 是 ToolGate 内的一个 Go 函数,完成:读连接器配置 → 拼 REST 请求 → 解析响应 → 返回符合 output Schema 的 JSON。

7.1 注册约定

字段格式示例
handler 路径adapters.{系统}.{动作}adapters.prometheus.get_alert
connector 引用Pack 已注册 connector_idprometheus-v1
REST 路径写在 handler 内,可用 {base} 占位GET {alertmanager_url}/api/v2/alerts

7.2 Go Handler 骨架(示意)

// services/toolgate/adapters/prometheus/get_alert.go package prometheus func GetAlert(ctx context.Context, req *toolgate.Request) (*toolgate.Response, error) { cfg, err := req.ConnectorConfig("prometheus-v1") // cfg.AlertmanagerURL 来自连接器实例,非工具 YAML url := fmt.Sprintf("%s/api/v2/alerts?filter=alert_id=\"%s\"", cfg.AlertmanagerURL, req.Input["alert_id"]) raw, err := req.HTTPClient.Get(ctx, url, cfg.Auth) // 映射客户 JSON → canonical output(对齐 tools YAML output schema) out := map[string]any{ "alert_id": raw.Labels["alert_id"], "severity": normalizeSeverity(raw.Labels["severity"]), "observed_on_ci_id": resolveCI(raw.Labels["pod"]), "status": raw.Status, } return &toolgate.Response{Output: out}, nil }

7.3 从客户 API 到 canonical 字段(必做映射)

客户原始字段转换能力 output(本体对齐)
Alertmanager labels.severity="critical"枚举归一severity: P1
labels.pod=pay-gw-03查归一词典observed_on_ci_id: CI-PAY-GW-03
ITSM number=CHG001234直接change_id: CHG001234

LLM 只看到 canonical 字段,不直接接触客户 API 原始结构。

九、③ 可调用工具(tools/*.yaml)

声明文件是智能体能力的契约 SSOT。Pack 安装时 ToolGate register_tools() 热加载。

# packs/ops/tools/get_alert.yaml tool_id: ops:get_alert pack_ns: ops type: rest_adapter description: 按告警 ID 查询告警详情及 observed_on CI write: false autonomy_level_required: 0 scope: required_dimensions: [environment] adapter: connector: prometheus-v1 handler: adapters.prometheus.get_alert schema: input: type: object required: [alert_id] properties: alert_id: type: string pattern: ^ALERT-[0-9]+$ additionalProperties: false output: type: object required: [alert_id, severity, observed_on_ci_id, status] properties: alert_id: { type: string } severity: { enum: [P1, P2, P3, P4] } status: { enum: [firing, resolved] } observed_on_ci_id: { type: string }

管理台「创建工具」表单是上述 YAML 的可视化录入,字段一一对应。原型入口:产品原型 → 领域包 → ④ 可调用工具。

十、字段与规范速查

9.1 tools/*.yaml 必填字段

字段类型规则
tool_idstring全局唯一,{pack_ns}:{name},如 ops:get_alert
typeenumgraph_query | rest_adapter | tsdb_adapter | log_adapter | rpa_adapter | internal
writebool默认 falsetrueautonomy_level_required ≥ L2 + HITL
schema.input/outputJSON SchemaDraft-07+;additionalProperties: false
adapter.connectorstring已注册连接器插件 ID
adapter.handlerstringToolGate 内已注册 handler 路径
scopeobject声明 required_dimensions,ToolGate 强制过滤
sensitivityenumpublic | internal | confidential | restricted
timeout_ms / rate_limitnumber建议显式声明,防止 LLM 反复调用打爆客户 API

9.2 入参命名原则

  • 优先用本体属性名ci_idalert_idservice_id
  • 不用客户系统内部 ID 名作为主参数(如 bk_inst_id)— 由 Adapter 或归一词典解析
  • 枚举值与教辅-03 本体导出对齐(如 severity 只用 P1–P4)
十一、完整示例:Prometheus vs 蓝鲸 CMDB
步骤内容
客户 APIGET {alertmanager}/api/v2/alerts,过滤 alert_id
连接器prometheus-v1,配置 alertmanager_url
Handleradapters.prometheus.get_alert(平台预置)
声明ops:get_alert,input: alert_id
编排告警根因协议 Step 1 绑定 get_alert
步骤内容
客户 APIPOST /cc/search_inst/(蓝鲸 compapi),body 含 bk_obj_id
连接器cmdb-v1,配置 api_url + 应用凭证
Handleradapters.cmdb.search_inst — 需 FDE/研发实现或扩展
声明ops:search_ci,input: ci_idhostname
注意CMDB 数据通常先入图;实时查单用 rest_adapter,批量拓扑用 Connector Pull
步骤内容
数据源Neo4j 知识图谱(Connector 已将 CMDB/监控映射入图)
连接器neo4j-v1(平台内置)
Handleradapters.graph.trace_impact — Cypher 模板,无外部 REST
声明ops:trace_impact,type: graph_query
编排影响面协议绑定;输出节点列表供 LLM 生成人话说明
十二、测试与验证

11.1 分层测试

层级做什么命令 / 入口通过标准
L0 SchemaYAML 语法 + JSON Schema 校验make validate-pack / CI无校验错误
L1 客户 API直连客户测试环境curl / httpx / Postman200 + 预期 JSON 结构
L2 ToolGate 单测只调 ToolGate,不经过 LLMPOST /admin/v1/tools/execute 或 gRPC Executeoutput 通过 Schema;审计有 trace_id
L3 评测用例Pack eval case 跑固定输入原型「评测中心」/ CI eval jobEV-* 用例全绿
L4 编排预览整条诊断协议 dry-run原型「智能体编排 → 预览运行」各步骤工具返回符合预期
L5 工作台验收值班员视角端到端workbench-web 对话触发办事进度与编排步骤一致

11.2 ToolGate 联调请求示例

POST /admin/v1/tools/execute Authorization: Bearer <admin_token> Content-Type: application/json { "tool_id": "ops:get_alert", "input": { "alert_id": "ALERT-2024062301" }, "principal": { "sub": "fde-tester", "scope": { "environment": ["prod"] } }, "trace_id": "test-trace-001" }

11.3 评测用例(阻断发布)

每个新能力至少 1 条 eval case:固定 input → 断言 output 关键字段。映射未完成时标「待对齐」,评测失败则不能发布智能体(原型评测中心已模拟此门禁)。

  • Scope 越权:用无 prod 权限的 principal 调用,应 403
  • 写工具默认 403(首期 ops-pack 全只读)
  • 凭证不出现在日志与 LLM 上下文
十三、如何声明成为「可用能力」
  1. tools/xxx.yaml 提交到 Pack 仓库 packs/ops/tools/
  2. 管理台安装/更新 Pack → ToolGate 热加载注册
  3. 在「④ 可调用工具」确认列表中出现,状态 可用(映射/连接器齐全)
  4. 「⑤ 智能体编排」步骤「绑定可调用工具」下拉自动出现该 tool_id
  5. 跑评测 → 发布 Pack 版本 → 工作台按租户可见
声明 ≠ 绑定。声明是 Pack 级「能力池」;绑定是某个智能体诊断协议的第 N 步用哪一项。同一 get_alert 可被多个智能体复用。
十四、能力在中台中如何被使用
flowchart LR
  WB["工作台用户提问"]
  HAR["Harness 按编排执行"]
  AB["AgentBrain 推理"]
  TG["ToolGate.Execute"]
  AD["Adapter → 客户 API / 图谱"]
  WB --> HAR --> AB --> TG --> AD
  AD --> AB
  AB --> WB
          
环节行为
用户中文提问,不感知 tool_id / YAML
Harness按已发布编排逐步执行;每步若绑定可调用工具则调 ToolGate
AgentBrain将工具返回的 JSON 摘要注入上下文,生成中文结论
ToolGate鉴权、限流、Schema、审计 — 唯一出口
对外 MCP可选:由 mcp_manifest.json 汇总 tools,供 OpenClaw 等调用 — 与对内 gRPC 同源
五点五、AI接口适配助手(对话式 · 减轻 FDE 工作量)
定位:平台已接入大模型,可把「写 Adapter / 声明 YAML」从纯手写变为 AI 生成草稿 + 对话迭代 + 沙箱试跑
边界:AI 写草稿,FDE 签字,评测守门 —— 不绕过 ToolGate,不零人工上生产。

5.5.1 支持的输入(无完整文档也可以)

输入方式示例说明
OpenAPI / Swagger 文件openapi.yaml最理想,机器可解析
粘贴接口说明「GET /api/v2/alerts,参数 filter=…」客户常只有 Word/邮件描述
粘贴调用代码JS/Python/curl 片段从客户现有脚本提取

5.5.2 对话式流程(不是一次生成结束)

flowchart LR
  IN[粘贴材料 / 上传文件]
  CTX[注入本体 + Connector 上下文]
  GEN[AI 生成 YAML 草稿]
  TEST[沙箱试跑]
  FAIL{通过?}
  FIX[AI 分析错误并修改]
  SAVE[写入可调用工具]
  IN --> CTX --> GEN --> TEST --> FAIL
  FAIL -->|否| FIX --> TEST
  FAIL -->|是| SAVE
          

试跑失败时助手会说明原因(如 Schema pattern 不匹配、字段未归一),可点 自动修复并重试 或在对话中输入「继续修复」,直到 ToolGate Execute 通过。

5.5.3 与手工开发的关系

场景建议
ops-pack 预置能力(get_alert 等)无需助手,直接确认声明
客户非标接口 / 新 REST 动作优先用助手生成草稿,FDE 审核
全新 Connector 插件(Go Pull)助手可生成 Tool 声明;Connector 插件仍须研发
客户只给 MCP tools/list助手解析 MCP 工具元数据 → 生成 tools/*.yaml(二期)

原型入口:产品原型 → 领域包 → ③½ AI接口适配助手 · 需求文档:AI接口适配助手-产品需求.md

十六、FDE 交付清单(提 PR / 上线前自检)
  • 若使用 AI接口适配助手:试跑已通过且 FDE 已审核草稿
  • 办事动作与教辅-06 / 工作坊对齐,未盲目封装无关 API
  • 连接器实例 URL/凭证已在「业务系统连接」配置且连通
  • tools/*.yaml 通过 JSON Schema 校验,additionalProperties: false
  • adapter.connector + adapter.handler 已在平台注册
  • 入参/出参字段与本体属性、归一词典一致
  • ToolGate Execute 联调通过,审计可见 trace_id
  • 评测用例已添加且通过;待对齐项已标 warn
  • 智能体编排已绑定;预览运行与评测中心一致
  • 无绕过 ToolGate 的脚本/直连配置
  • 写操作(若有)已设 write: true + 自治级别 + HITL

平台 SSOT:docs/platform/10-ToolGate工具接入规范.md · docs/platform/07-连接器框架与生态规范.md · 样例 Pack:packs/ops/tools/packs/ops/connectors/