183 lines
5.3 KiB
JSON
183 lines
5.3 KiB
JSON
{
|
|
"id": "googlechat",
|
|
"name": "Google Chat",
|
|
"version": "1.0.0",
|
|
"description": "Google Chat 渠道插件,支持通过 Google Chat API 收发消息、卡片交互和线程对话。",
|
|
"author": "Yuxi Team",
|
|
"license": "MIT",
|
|
"entry_point": "yuxi.channel.extensions.googlechat",
|
|
"capabilities": {
|
|
"chat_types": ["direct", "group", "thread"],
|
|
"message_types": ["text", "image", "file", "video"],
|
|
"interactions": [],
|
|
"reactions": true,
|
|
"typing_indicator": true,
|
|
"threads": true,
|
|
"edit": true,
|
|
"unsend": true,
|
|
"reply": true,
|
|
"media": true,
|
|
"native_commands": false,
|
|
"polls": false,
|
|
"group_management": false,
|
|
"streaming": false,
|
|
"streaming_mode": null,
|
|
"block_streaming": true,
|
|
"block_streaming_chunk_min_chars": 4000,
|
|
"block_streaming_chunk_max_chars": 4000,
|
|
"block_streaming_coalesce_min_chars": 1500,
|
|
"block_streaming_coalesce_max_chars": 4000,
|
|
"adaptive_cards": true,
|
|
"sse_support": false
|
|
},
|
|
"config_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"service_account_json": {
|
|
"type": "string",
|
|
"title": "Service Account JSON",
|
|
"description": "Google Cloud Service Account 凭证 JSON 字符串或文件路径",
|
|
"format": "textarea"
|
|
},
|
|
"space_allowlist": {
|
|
"type": "array",
|
|
"title": "Space Allowlist",
|
|
"description": "允许访问的 Google Chat Space ID 列表",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dm_policy": {
|
|
"type": "string",
|
|
"title": "DM Policy",
|
|
"description": "私信访问控制策略",
|
|
"enum": ["open", "pairing", "closed"],
|
|
"default": "pairing"
|
|
},
|
|
"group_policy": {
|
|
"type": "string",
|
|
"title": "Group Policy",
|
|
"description": "群组访问控制策略",
|
|
"enum": ["open", "allowlist", "closed"],
|
|
"default": "allowlist"
|
|
},
|
|
"webhook_secret": {
|
|
"type": "string",
|
|
"title": "Webhook Secret",
|
|
"description": "Google Chat webhook 验证密钥",
|
|
"format": "password"
|
|
},
|
|
"bot_name": {
|
|
"type": "string",
|
|
"title": "Bot Name",
|
|
"description": "机器人在 Google Chat 中显示的名称",
|
|
"default": "Yuxi Bot"
|
|
},
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"title": "Avatar URL",
|
|
"description": "机器人头像 URL",
|
|
"format": "uri"
|
|
},
|
|
"auto_join_spaces": {
|
|
"type": "boolean",
|
|
"title": "Auto Join Spaces",
|
|
"description": "是否自动加入邀请的 Space",
|
|
"default": true
|
|
},
|
|
"card_response_enabled": {
|
|
"type": "boolean",
|
|
"title": "Card Response Enabled",
|
|
"description": "是否启用卡片消息响应",
|
|
"default": true
|
|
},
|
|
"threading_enabled": {
|
|
"type": "boolean",
|
|
"title": "Threading Enabled",
|
|
"description": "是否启用线程对话支持",
|
|
"default": true
|
|
},
|
|
"mention_required_in_groups": {
|
|
"type": "boolean",
|
|
"title": "Mention Required in Groups",
|
|
"description": "群组中是否需要 @提及 机器人才响应",
|
|
"default": true
|
|
},
|
|
"max_message_length": {
|
|
"type": "integer",
|
|
"title": "Max Message Length",
|
|
"description": "单条消息最大字符数",
|
|
"default": 4096,
|
|
"minimum": 100,
|
|
"maximum": 4096
|
|
},
|
|
"rate_limit_per_minute": {
|
|
"type": "integer",
|
|
"title": "Rate Limit Per Minute",
|
|
"description": "每分钟最大请求数",
|
|
"default": 60,
|
|
"minimum": 10,
|
|
"maximum": 300
|
|
}
|
|
},
|
|
"required": ["service_account_json"]
|
|
},
|
|
"webhook": {
|
|
"enabled": true,
|
|
"path": "/webhooks/googlechat",
|
|
"methods": ["POST"],
|
|
"auth_type": "hmac",
|
|
"secret_header": "X-Goog-Signature"
|
|
},
|
|
"dependencies": ["httpx", "google-auth"],
|
|
"min_api_version": "1.0.0",
|
|
"documentation_url": "https://developers.google.com/chat",
|
|
"icon": "googlechat",
|
|
"color": "#00832d",
|
|
"tags": ["google", "chat", "workspace", "enterprise"],
|
|
"features": {
|
|
"rich_text": false,
|
|
"markdown_support": true,
|
|
"html_support": true,
|
|
"emoji_support": true,
|
|
"file_sharing": true,
|
|
"voice_messages": false,
|
|
"video_messages": false,
|
|
"location_sharing": false,
|
|
"contact_cards": false,
|
|
"message_search": true,
|
|
"threaded_replies": true,
|
|
"message_editing": true,
|
|
"message_deletion": true,
|
|
"typing_indicators": true,
|
|
"read_receipts": false,
|
|
"delivery_receipts": true,
|
|
"bot_commands": true,
|
|
"slash_commands": true,
|
|
"interactive_cards": true,
|
|
"buttons": true,
|
|
"quick_replies": false,
|
|
"menus": false,
|
|
"forms": true,
|
|
"polls": false,
|
|
"scheduling": false,
|
|
"reminders": false,
|
|
"notifications": true,
|
|
"mentions": true,
|
|
"hashtags": false,
|
|
"custom_status": false,
|
|
"presence_indicators": false,
|
|
"user_profiles": true,
|
|
"group_profiles": true,
|
|
"channel_directory": false,
|
|
"guest_access": true,
|
|
"single_sign_on": true,
|
|
"two_factor_auth": true,
|
|
"end_to_end_encryption": false,
|
|
"data_residency": true,
|
|
"gdpr_compliant": true,
|
|
"hipaa_compliant": false,
|
|
"soc2_compliant": true,
|
|
"iso27001_compliant": true
|
|
}
|
|
} |