Skip to content

工具声明式语法

This content is not available in your language yet.

在 Monkeys 的设计中,工具(Tools)就是一个(组)可被调用的、满足 OpenAPI Specification 标准的 API。

工具通过 manifest.json 接口描述自身的元信息,比如名称、版本、描述、鉴权方式 、API 接口地址、限流配置等。Monkeys 通过解析 manifest.json 文件,自动构建工具的调用界面,用户可以通过界面配置工具的输入参数,然后调用工具执行任务。

工具还可以在工作流中被串联起来,形成一个流程,实现复杂的任务。

你可以阅读开发自定义工具了解具体实例。

Schema 定义

以下是一个示例的 manifest.json 文件,取至内置的示例工具:

{
"schema_version": "v1",
"display_name": "示例工具",
"namespace": "monkey_tools_example",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "/api/example-tool/openapi-json"
},
"contact_email": "dev@inf-monkeys.com"
}
Key描述默认值是否必填
schema_versionSchema 版本号,当前只支持 v1v1
display_name工具显示名称-
namespace此工具的唯一标志,必须保持唯一。只运行包含数字、字母和下划线。-
auth.type鉴权方式,可选值为 none (不鉴权) 和 service_http (服务级别鉴权)none
auth.authorization_type当鉴权方式为 service_http 时,需要设置 authorization_type,当前仅支持 bearer 认证方式。bearer
auth.verification_tokens当鉴权方式为 service_http 时,需要设置 verification_tokens, 此值为一个对象,通过 monkeys key 指定 bearer token。{"monkeys": "token-123"}
api.typeAPI 类型,当前只支持 openapiopenapi
api.urlSwagger API Spec 地址,可以是相对路径或者绝对路径。-
contact_email开发者联系邮箱。-

鉴权方式

鉴权方式示例。

无鉴权

{
"auth": {
"type": "none"
}
}

服务级别鉴权

{
"auth": {
"type": "service_http",
"authorization_type": "bearer",
"verification_tokens": {
"monkeys": "token-123"
}
}
}