DOCS · SDK

业务侧 SDK

SDK 是开发便利层,不是接入前提。它只解决三件事:生成工具源 OpenAPI、校验中枢签名、实现授权探针。真正的业务权限仍在你的系统里裁决。

PHP

PHP 8+ 可用注解声明工具;PHP 7.3+ 可用 builder 声明工具。两种方式都遵循同一套 spec 与签名契约。

任意语言

没有官方 SDK 的语言可直接发布 OpenAPI + x-ai-* 扩展,并实现 HMAC 验签与授权探针。

Node.js

@bailing-ai/connect,提供 buildOpenApiSpecverifyToolCallverifyCallbackauthzProbeResponse

Python

bailing-connect,提供 build_openapi_specverify_tool_callverify_callbackauthz_probe_response

安装

GETPHP SDK 包(自托管实例提供)
curl -O {中枢地址}/connect/bailing-connect-php.tgz
curl -O {中枢地址}/connect/bailing-connect-php7.tgz
NPM@bailing-ai/connect
npm install @bailing-ai/connect
PIPbailing-connect
pip install bailing-connect

Node 最小工具源

JStools.json
import { buildOpenApiSpec, param, tool } from '@bailing-ai/connect';

export default buildOpenApiSpec({
  title: 'CRM 工具源',
  version: '1.0.0',
  authzProbe: { method: 'POST', path: '/.well-known/bailing/authz-probe' },
  tools: [
    tool({
      name: 'member_query',
      method: 'GET',
      path: '/api/members/{id}',
      description: '查询会员基础资料',
      scope: 'member.read',
      requiresSubject: true,
      params: [param('id', { in: 'path', required: true })]
    })
  ]
});

Python 最小工具源

PYtools.json
from bailing_connect import build_openapi_spec, param, tool

spec = build_openapi_spec(
    title="CRM 工具源",
    version="1.0.0",
    authz_probe={"method": "POST", "path": "/.well-known/bailing/authz-probe"},
    tools=[
        tool(
            name="member_query",
            method="GET",
            path="/api/members/{id}",
            description="查询会员基础资料",
            scope="member.read",
            requiresSubject=True,
            params=[param("id", **{"in": "path", "required": True})],
        )
    ],
)

验签纪律

SDK 验签只能证明“这次请求来自中枢且未被篡改”。工具接口必须继续使用 X-Bailing-On-Behalf-Of 回到业务权限表做授权裁决。不要把验签成功等同于授权成功。

能力PHPNodePython
工具源 spec注解 / builderbuildOpenApiSpecbuild_openapi_spec
工具调用验签Verify::gateverifyToolCallverify_tool_call
callback 验签Verify::callbackverifyCallbackverify_callback
授权探针SpecServer::authzProbeauthzProbeResponseauthz_probe_response