工具
工具声明式语法
工具声明式语法
Monkeys 工具是一个 HTTP 服务。服务通过 manifest.json 描述元信息,并通过 OpenAPI 描述可调用接口。Monkeys 读取 manifest 后,会注册工具、凭证、触发器和 OpenAPI 方法。
manifest.json 示例
{
"schema_version": "v1",
"display_name": "Example Tool",
"namespace": "example_tool",
"auth": {
"type": "service_http",
"authorization_type": "bearer",
"verification_tokens": {
"monkeys": "token-123"
}
},
"api": {
"type": "openapi",
"url": "/openapi-json"
},
"contact_email": "dev@infmonkeys.com",
"healthCheck": "/healthz",
"rateLimiter": {
"maxConcurrentRequests": 8
}
}字段说明
| 字段 | 必填 | 说明 |
|---|---|---|
schema_version | 是 | 当前支持 v1。 |
display_name | 是 | 工具在控制台中的展示名称。 |
namespace | 是 | 工具唯一标识,建议使用稳定、可读的英文命名。 |
auth.type | 是 | 支持 none 和 service_http。 |
auth.authorization_type | 否 | service_http 下当前使用 bearer。 |
auth.verification_tokens.monkeys | 否 | Monkeys 调用工具时使用的 bearer token。 |
api.type | 是 | 当前支持 openapi。 |
api.url | 是 | OpenAPI JSON 地址,可以是相对地址或绝对地址。 |
contact_email | 否 | 工具维护者联系方式。 |
healthCheck | 否 | 健康检查路径。 |
triggerEndpoints | 否 | 触发器创建、更新、删除接口。 |
triggers | 否 | 工具提供的触发器定义。 |
credentials | 否 | 工具需要的凭证类型定义。 |
rsaPublicKey | 否 | 凭证加密相关公钥。 |
rateLimiter.maxConcurrentRequests | 否 | 工具并发限制。 |
logEndpoint | 否 | 工具日志查询入口。 |
鉴权方式
无鉴权:
{
"auth": {
"type": "none"
}
}服务级 bearer 鉴权:
{
"auth": {
"type": "service_http",
"authorization_type": "bearer",
"verification_tokens": {
"monkeys": "token-123"
}
}
}OpenAPI 要求
工具接口需要出现在 OpenAPI schema 中。控制台会根据 OpenAPI 方法、参数和响应结构生成调用表单,并在工作流执行时转发请求。
开发完整示例请看 开发自定义工具。