1972 lines
55 KiB
JSON
1972 lines
55 KiB
JSON
{
|
|
"id": "feishu",
|
|
"name": "Feishu/Lark",
|
|
"description": "OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng).",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"channels": [
|
|
"feishu"
|
|
],
|
|
"contracts": {
|
|
"tools": [
|
|
"feishu_app_scopes",
|
|
"feishu_bitable_create_app",
|
|
"feishu_bitable_create_field",
|
|
"feishu_bitable_create_record",
|
|
"feishu_bitable_get_meta",
|
|
"feishu_bitable_get_record",
|
|
"feishu_bitable_list_fields",
|
|
"feishu_bitable_list_records",
|
|
"feishu_bitable_update_record",
|
|
"feishu_chat",
|
|
"feishu_doc",
|
|
"feishu_drive",
|
|
"feishu_perm",
|
|
"feishu_wiki"
|
|
]
|
|
},
|
|
"toolMetadata": {
|
|
"feishu_app_scopes": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_create_app": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_create_field": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_create_record": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_get_meta": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_get_record": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_list_fields": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_list_records": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_bitable_update_record": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_chat": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_doc": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_drive": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_perm": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"feishu_wiki": {
|
|
"configSignals": [
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
},
|
|
{
|
|
"rootPath": "channels.feishu",
|
|
"overlayMapPath": "accounts",
|
|
"required": [
|
|
"appId",
|
|
"appSecret"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"channelEnvVars": {
|
|
"feishu": [
|
|
"FEISHU_APP_ID",
|
|
"FEISHU_APP_SECRET",
|
|
"FEISHU_VERIFICATION_TOKEN",
|
|
"FEISHU_ENCRYPT_KEY"
|
|
]
|
|
},
|
|
"skills": [
|
|
"./skills"
|
|
],
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"$defs": {
|
|
"secretRef": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"enum": [
|
|
"env",
|
|
"file",
|
|
"exec"
|
|
]
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
]
|
|
},
|
|
"secretInput": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
{
|
|
"$ref": "#/$defs/secretRef"
|
|
}
|
|
]
|
|
},
|
|
"account": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"appId": {
|
|
"type": "string"
|
|
},
|
|
"appSecret": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"encryptKey": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"verificationToken": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"domain": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"feishu",
|
|
"lark"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
}
|
|
]
|
|
},
|
|
"connectionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"websocket",
|
|
"webhook"
|
|
]
|
|
},
|
|
"renderMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"raw",
|
|
"card"
|
|
]
|
|
},
|
|
"streaming": {
|
|
"type": "boolean"
|
|
},
|
|
"blockStreaming": {
|
|
"type": "boolean"
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"typingIndicator": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"defaultAccount": {
|
|
"type": "string"
|
|
},
|
|
"appId": {
|
|
"type": "string"
|
|
},
|
|
"appSecret": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"encryptKey": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"verificationToken": {
|
|
"$ref": "#/$defs/secretInput"
|
|
},
|
|
"domain": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"feishu",
|
|
"lark"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
}
|
|
]
|
|
},
|
|
"connectionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"websocket",
|
|
"webhook"
|
|
]
|
|
},
|
|
"renderMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"raw",
|
|
"card"
|
|
]
|
|
},
|
|
"streaming": {
|
|
"type": "boolean"
|
|
},
|
|
"blockStreaming": {
|
|
"type": "boolean"
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"typingIndicator": {
|
|
"type": "boolean"
|
|
},
|
|
"accounts": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/account"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"channelConfigs": {
|
|
"feishu": {
|
|
"schema": {
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"defaultAccount": {
|
|
"type": "string"
|
|
},
|
|
"appId": {
|
|
"type": "string"
|
|
},
|
|
"appSecret": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"encryptKey": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"verificationToken": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"domain": {
|
|
"default": "feishu",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"feishu",
|
|
"lark"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "uri",
|
|
"pattern": "^https:\\/\\/.*"
|
|
}
|
|
]
|
|
},
|
|
"connectionMode": {
|
|
"default": "websocket",
|
|
"type": "string",
|
|
"enum": [
|
|
"websocket",
|
|
"webhook"
|
|
]
|
|
},
|
|
"webhookPath": {
|
|
"default": "/feishu/events",
|
|
"type": "string"
|
|
},
|
|
"webhookHost": {
|
|
"type": "string"
|
|
},
|
|
"webhookPort": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"capabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"markdown": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"native",
|
|
"escape",
|
|
"strip"
|
|
]
|
|
},
|
|
"tableMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"native",
|
|
"ascii",
|
|
"simple"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"configWrites": {
|
|
"type": "boolean"
|
|
},
|
|
"dmPolicy": {
|
|
"default": "pairing",
|
|
"type": "string",
|
|
"enum": [
|
|
"open",
|
|
"pairing",
|
|
"allowlist"
|
|
]
|
|
},
|
|
"allowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"groupPolicy": {
|
|
"default": "allowlist",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"open",
|
|
"allowlist",
|
|
"disabled"
|
|
]
|
|
},
|
|
{}
|
|
]
|
|
},
|
|
"groupAllowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"groupSenderAllowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"requireMention": {
|
|
"type": "boolean"
|
|
},
|
|
"groups": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"requireMention": {
|
|
"type": "boolean"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"deny": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"skills": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"allowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"systemPrompt": {
|
|
"type": "string"
|
|
},
|
|
"groupSessionScope": {
|
|
"type": "string",
|
|
"enum": [
|
|
"group",
|
|
"group_sender",
|
|
"group_topic",
|
|
"group_topic_sender"
|
|
]
|
|
},
|
|
"topicSessionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"historyLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"dmHistoryLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"dms": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"systemPrompt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"textChunkLimit": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"chunkMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"length",
|
|
"newline"
|
|
]
|
|
},
|
|
"blockStreaming": {
|
|
"type": "boolean"
|
|
},
|
|
"blockStreamingCoalesce": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"minDelayMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"maxDelayMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"mediaMaxMb": {
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"httpTimeoutMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 300000
|
|
},
|
|
"heartbeat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"visibility": {
|
|
"type": "string",
|
|
"enum": [
|
|
"visible",
|
|
"hidden"
|
|
]
|
|
},
|
|
"intervalMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"renderMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"raw",
|
|
"card"
|
|
]
|
|
},
|
|
"streaming": {
|
|
"type": "boolean"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"properties": {
|
|
"doc": {
|
|
"type": "boolean"
|
|
},
|
|
"chat": {
|
|
"type": "boolean"
|
|
},
|
|
"wiki": {
|
|
"type": "boolean"
|
|
},
|
|
"drive": {
|
|
"type": "boolean"
|
|
},
|
|
"perm": {
|
|
"type": "boolean"
|
|
},
|
|
"scopes": {
|
|
"type": "boolean"
|
|
},
|
|
"bitable": {
|
|
"type": "boolean"
|
|
},
|
|
"base": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"actions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reactions": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"reactionNotifications": {
|
|
"default": "own",
|
|
"type": "string",
|
|
"enum": [
|
|
"off",
|
|
"own",
|
|
"all"
|
|
]
|
|
},
|
|
"typingIndicator": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"resolveSenderNames": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"tts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auto": {
|
|
"type": "string",
|
|
"enum": [
|
|
"off",
|
|
"always",
|
|
"inbound",
|
|
"tagged"
|
|
]
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"final",
|
|
"all"
|
|
]
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"persona": {
|
|
"type": "string"
|
|
},
|
|
"personas": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"summaryModel": {
|
|
"type": "string"
|
|
},
|
|
"modelOverrides": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"providers": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"prefsPath": {
|
|
"type": "string"
|
|
},
|
|
"maxTextLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"timeoutMs": {
|
|
"type": "integer",
|
|
"minimum": 1000,
|
|
"maximum": 120000
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"groupSessionScope": {
|
|
"type": "string",
|
|
"enum": [
|
|
"group",
|
|
"group_sender",
|
|
"group_topic",
|
|
"group_topic_sender"
|
|
]
|
|
},
|
|
"topicSessionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"dynamicAgentCreation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"workspaceTemplate": {
|
|
"type": "string"
|
|
},
|
|
"agentDirTemplate": {
|
|
"type": "string"
|
|
},
|
|
"maxAgents": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"accounts": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"appId": {
|
|
"type": "string"
|
|
},
|
|
"appSecret": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"encryptKey": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"verificationToken": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "env"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"const": "exec"
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"provider",
|
|
"id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"domain": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"feishu",
|
|
"lark"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "uri",
|
|
"pattern": "^https:\\/\\/.*"
|
|
}
|
|
]
|
|
},
|
|
"connectionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"websocket",
|
|
"webhook"
|
|
]
|
|
},
|
|
"webhookPath": {
|
|
"type": "string"
|
|
},
|
|
"webhookHost": {
|
|
"type": "string"
|
|
},
|
|
"webhookPort": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"capabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"markdown": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"native",
|
|
"escape",
|
|
"strip"
|
|
]
|
|
},
|
|
"tableMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"native",
|
|
"ascii",
|
|
"simple"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"configWrites": {
|
|
"type": "boolean"
|
|
},
|
|
"dmPolicy": {
|
|
"type": "string",
|
|
"enum": [
|
|
"open",
|
|
"pairing",
|
|
"allowlist"
|
|
]
|
|
},
|
|
"allowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"groupPolicy": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"open",
|
|
"allowlist",
|
|
"disabled"
|
|
]
|
|
},
|
|
{}
|
|
]
|
|
},
|
|
"groupAllowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"groupSenderAllowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"requireMention": {
|
|
"type": "boolean"
|
|
},
|
|
"groups": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"requireMention": {
|
|
"type": "boolean"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allow": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"deny": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"skills": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"allowFrom": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "number"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"systemPrompt": {
|
|
"type": "string"
|
|
},
|
|
"groupSessionScope": {
|
|
"type": "string",
|
|
"enum": [
|
|
"group",
|
|
"group_sender",
|
|
"group_topic",
|
|
"group_topic_sender"
|
|
]
|
|
},
|
|
"topicSessionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"historyLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"dmHistoryLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"dms": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"systemPrompt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"textChunkLimit": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"chunkMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"length",
|
|
"newline"
|
|
]
|
|
},
|
|
"blockStreaming": {
|
|
"type": "boolean"
|
|
},
|
|
"blockStreamingCoalesce": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"minDelayMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"maxDelayMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"mediaMaxMb": {
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"httpTimeoutMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 300000
|
|
},
|
|
"heartbeat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"visibility": {
|
|
"type": "string",
|
|
"enum": [
|
|
"visible",
|
|
"hidden"
|
|
]
|
|
},
|
|
"intervalMs": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"renderMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"raw",
|
|
"card"
|
|
]
|
|
},
|
|
"streaming": {
|
|
"type": "boolean"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"properties": {
|
|
"doc": {
|
|
"type": "boolean"
|
|
},
|
|
"chat": {
|
|
"type": "boolean"
|
|
},
|
|
"wiki": {
|
|
"type": "boolean"
|
|
},
|
|
"drive": {
|
|
"type": "boolean"
|
|
},
|
|
"perm": {
|
|
"type": "boolean"
|
|
},
|
|
"scopes": {
|
|
"type": "boolean"
|
|
},
|
|
"bitable": {
|
|
"type": "boolean"
|
|
},
|
|
"base": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"actions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reactions": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"replyInThread": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
},
|
|
"reactionNotifications": {
|
|
"type": "string",
|
|
"enum": [
|
|
"off",
|
|
"own",
|
|
"all"
|
|
]
|
|
},
|
|
"typingIndicator": {
|
|
"type": "boolean"
|
|
},
|
|
"resolveSenderNames": {
|
|
"type": "boolean"
|
|
},
|
|
"tts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auto": {
|
|
"type": "string",
|
|
"enum": [
|
|
"off",
|
|
"always",
|
|
"inbound",
|
|
"tagged"
|
|
]
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"final",
|
|
"all"
|
|
]
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"persona": {
|
|
"type": "string"
|
|
},
|
|
"personas": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"summaryModel": {
|
|
"type": "string"
|
|
},
|
|
"modelOverrides": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"providers": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"prefsPath": {
|
|
"type": "string"
|
|
},
|
|
"maxTextLength": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"timeoutMs": {
|
|
"type": "integer",
|
|
"minimum": 1000,
|
|
"maximum": 120000
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"groupSessionScope": {
|
|
"type": "string",
|
|
"enum": [
|
|
"group",
|
|
"group_sender",
|
|
"group_topic",
|
|
"group_topic_sender"
|
|
]
|
|
},
|
|
"topicSessionMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"disabled",
|
|
"enabled"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"domain",
|
|
"connectionMode",
|
|
"webhookPath",
|
|
"dmPolicy",
|
|
"groupPolicy",
|
|
"reactionNotifications",
|
|
"typingIndicator",
|
|
"resolveSenderNames"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"label": "Feishu",
|
|
"description": "飞书/Lark enterprise messaging with doc/wiki/drive tools."
|
|
}
|
|
}
|
|
}
|