ForcePilot/backend/package/yuxi/channel/extensions/line/plugin.json

229 lines
6.8 KiB
JSON
Raw Normal View History

{
"id": "line",
"name": "LINE",
"version": "1.0.0",
"description": "LINE 渠道插件,支持 Messaging API 收发消息、Rich Menu、Flex Message、Quick Replies 等高级功能。",
"author": "Yuxi Team",
"license": "MIT",
"entry_point": "yuxi.channel.extensions.line",
"capabilities": {
"chat_types": ["direct", "group", "room"],
"message_types": ["text", "image", "video", "audio", "file", "location", "sticker", "template", "flex"],
"interactions": ["button", "quick_reply", "carousel", "image_carousel", "confirm"],
"reactions": false,
"typing_indicator": false,
"threads": false,
"edit": false,
"unsend": false,
"reply": true,
"media": true,
"native_commands": false,
"polls": false,
"group_management": false,
"streaming": true,
"streaming_mode": "block",
"block_streaming": true,
"block_streaming_chunk_min_chars": 800,
"block_streaming_chunk_max_chars": 1200,
"block_streaming_chunk_break_preference": "paragraph",
"block_streaming_coalesce_min_chars": 400,
"block_streaming_coalesce_max_chars": 800,
"block_streaming_coalesce_idle_ms": 500,
"tts": null
},
"config_schema": {
"type": "object",
"properties": {
"channel_access_token": {
"type": "string",
"title": "Channel Access Token",
"description": "LINE Channel Access Token长期或短期令牌",
"format": "password"
},
"channel_secret": {
"type": "string",
"title": "Channel Secret",
"description": "LINE Channel Secret用于验证 webhook 签名",
"format": "password"
},
"channel_id": {
"type": "string",
"title": "Channel ID",
"description": "LINE Channel ID"
},
"liff_id": {
"type": "string",
"title": "LIFF App ID",
"description": "LINE Front-end Framework App ID可选"
},
"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"
},
"allow_from": {
"type": "array",
"title": "Allow From",
"description": "允许访问的用户 ID 列表",
"items": {
"type": "string"
}
},
"group_allowlist": {
"type": "array",
"title": "Group Allowlist",
"description": "允许访问的群组/聊天室 ID 列表",
"items": {
"type": "string"
}
},
"auto_reply_enabled": {
"type": "boolean",
"title": "Auto Reply Enabled",
"description": "是否启用自动回复",
"default": true
},
"greeting_message": {
"type": "string",
"title": "Greeting Message",
"description": "用户添加好友时的欢迎消息",
"default": "Hello! Thanks for adding me as a friend. How can I help you today?"
},
"rich_menu_enabled": {
"type": "boolean",
"title": "Rich Menu Enabled",
"description": "是否启用 Rich Menu 功能",
"default": false
},
"rich_menu_config": {
"type": "object",
"title": "Rich Menu Config",
"description": "Rich Menu 配置对象"
},
"flex_message_enabled": {
"type": "boolean",
"title": "Flex Message Enabled",
"description": "是否启用 Flex Message 功能",
"default": true
},
"quick_reply_enabled": {
"type": "boolean",
"title": "Quick Reply Enabled",
"description": "是否启用 Quick Reply 功能",
"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": 2000,
"minimum": 100,
"maximum": 5000
},
"rate_limit_per_minute": {
"type": "integer",
"title": "Rate Limit Per Minute",
"description": "每分钟最大请求数",
"default": 1000,
"minimum": 100,
"maximum": 5000
},
"api_timeout_seconds": {
"type": "integer",
"title": "API Timeout Seconds",
"description": "API 请求超时时间(秒)",
"default": 30,
"minimum": 5,
"maximum": 120
},
"loading_animation_enabled": {
"type": "boolean",
"title": "Loading Animation Enabled",
"description": "是否启用加载动画",
"default": true
},
"emoji_conversion_enabled": {
"type": "boolean",
"title": "Emoji Conversion Enabled",
"description": "是否启用 Unicode Emoji 自动转换",
"default": true
}
},
"required": ["channel_access_token", "channel_secret"]
},
"webhook": {
"enabled": true,
"path": "/webhooks/line",
"methods": ["POST"],
"auth_type": "signature",
"signature_header": "X-Line-Signature",
"signature_algorithm": "HMAC-SHA256"
},
"dependencies": [],
"min_api_version": "1.0.0",
"documentation_url": "https://developers.line.biz/en/docs/messaging-api/",
"icon": "line",
"color": "#06C755",
"tags": ["line", "messaging-api", "japan", "asia", "mobile"],
"features": {
"rich_text": false,
"markdown_support": false,
"html_support": false,
"emoji_support": true,
"file_sharing": true,
"voice_messages": true,
"video_messages": true,
"location_sharing": true,
"contact_cards": true,
"message_search": false,
"threaded_replies": false,
"message_editing": false,
"message_deletion": true,
"typing_indicators": true,
"read_receipts": false,
"delivery_receipts": true,
"bot_commands": false,
"slash_commands": false,
"interactive_cards": true,
"buttons": true,
"quick_replies": true,
"menus": true,
"forms": false,
"polls": false,
"scheduling": false,
"reminders": false,
"notifications": true,
"mentions": true,
"hashtags": false,
"custom_status": false,
"presence_indicators": false,
"user_profiles": true,
"group_profiles": false,
"channel_directory": false,
"guest_access": false,
"single_sign_on": false,
"two_factor_auth": false,
"end_to_end_encryption": true,
"data_residency": true,
"gdpr_compliant": true,
"hipaa_compliant": false,
"soc2_compliant": true,
"iso27001_compliant": true
}
}