{ "id": "com.yuxi.channels.wechat_ilink", "name": "微信iLink", "version": "1.0.0", "channel_type": "wechat_ilink", "entry_module": "yuxi.channels.plugins.wechat_ilink.entry", "provides": ["wechat_ilink"], "lifecycle": ["init", "start", "stop", "pause", "resume", "unload"], "compatibility": { "min_host_version": "1.0.0", "ilink_api_version": "2.0.0" }, "failure_policy": "degrade", "depends": [], "critical": false, "requires_dm_pairing": true, "requires_outbound_delivery": true, "credential_strategy": { "type": "dynamic", "acquire_method": "qr_login", "required_fields": ["bot_token", "ilink_bot_id", "ilink_user_id", "baseurl"], "optional_fields": [], "supports_rotation": false, "supports_revocation": false }, "max_message_length": 4000, "supports_credential_cloning": false, "capabilities": { "rich_message": false, "streaming": false, "typing_indicator": false, "message_edit": false, "message_recall": false, "supports_reaction": false, "supports_pin": false, "supports_card_update": false, "supports_card_update_streaming": false, "supports_image_inbound": true, "supports_video_inbound": true, "supports_image_outbound": true, "supports_video_outbound": true, "mention": false, "command": false, "directory": false, "doctor": true, "whitelist": true, "wizard": true, "tools": false, "status": false, "probeable": true, "identity_resolver": false, "lifecycle": true, "supports_qr_login": true, "agent_collaboration": false }, "resource_quota": { "max_cpu": "15.0", "max_memory": "128MB", "max_connections": 10, "max_calls_per_sec": 20 }, "accessible_ports": [ "ConfigPort", "LoggerPort", "PersistencePort", "CachePort", "TracerPort", "ConversationPort" ], "injectable_pipelines": ["inbound", "outbound"], "config_schema": [ {"key": "bot_token", "type": "string", "required": true, "default": null, "hot_reloadable": false, "constraints": {"sensitive": true}}, {"key": "ilink_bot_id", "type": "string", "required": true, "default": null, "hot_reloadable": false, "constraints": {}}, {"key": "ilink_user_id", "type": "string", "required": true, "default": null, "hot_reloadable": false, "constraints": {}}, {"key": "baseurl", "type": "string", "required": false, "default": "https://ilinkai.weixin.qq.com", "hot_reloadable": false, "constraints": {"pattern": "^https?://"}}, {"key": "channel_version", "type": "string", "required": false, "default": "2.0.0", "hot_reloadable": true, "constraints": {}}, {"key": "cdn_url", "type": "string", "required": false, "default": "https://novac2c.cdn.weixin.qq.com/c2c", "hot_reloadable": true, "constraints": {"pattern": "^https?://"}}, {"key": "long_poll_timeout_ms", "type": "integer", "required": false, "default": 35000, "hot_reloadable": true, "constraints": {"min": 10000, "max": 60000}}, {"key": "qr_poll_interval_ms", "type": "integer", "required": false, "default": 2000, "hot_reloadable": true, "constraints": {"min": 1000, "max": 5000}}, {"key": "qr_timeout_ms", "type": "integer", "required": false, "default": 120000, "hot_reloadable": true, "constraints": {"min": 30000, "max": 300000}}, {"key": "max_message_length", "type": "integer", "required": false, "default": 4000, "hot_reloadable": true, "constraints": {"min": 500, "max": 10000}}, {"key": "enable_media", "type": "boolean", "required": false, "default": true, "hot_reloadable": true, "constraints": {}}, {"key": "enable_voice", "type": "boolean", "required": false, "default": false, "hot_reloadable": true, "constraints": {}} ], "env_vars": [ {"name": "ILINK_BASE_URL", "description": "iLink API 基础地址", "required": false, "default": "https://ilinkai.weixin.qq.com", "sensitive": false}, {"name": "ILINK_CDN_URL", "description": "iLink CDN 地址", "required": false, "default": "https://novac2c.cdn.weixin.qq.com/c2c", "sensitive": false}, {"name": "ILINK_CHANNEL_VERSION", "description": "iLink 渠道协议版本", "required": false, "default": "2.0.0", "sensitive": false}, {"name": "ILINK_QR_TIMEOUT_MS", "description": "扫码登录超时时间(毫秒)", "required": false, "default": "120000", "sensitive": false}, {"name": "ILINK_LONGPOLL_TIMEOUT_MS", "description": "长轮询超时时间(毫秒)", "required": false, "default": "35000", "sensitive": false}, {"name": "ILINK_QR_POLL_INTERVAL_MS", "description": "扫码状态轮询间隔(毫秒)", "required": false, "default": "2000", "sensitive": false} ] }