{ "id": "com.yuxi.channels.wechat_woc", "name": "微信 WechatOnCloud", "version": "1.0.0", "channel_type": "wechat_woc", "icon": "smartphone", "entry_module": "yuxi.channels.plugins.wechat_woc.entry", "provides": ["wechat_woc"], "lifecycle": ["init", "start", "stop", "pause", "resume", "unload", "reconfigure", "fail"], "compatibility": { "min_host_version": "1.0.0", "woc_bridge_version": "1.2.0" }, "failure_policy": "degrade", "depends": [], "critical": false, "requires_dm_pairing": true, "requires_outbound_delivery": true, "credential_strategy": { "type": "static", "acquire_method": "manual", "required_fields": ["bridge_url", "bridge_token"], "optional_fields": [], "supports_rotation": false, "supports_revocation": false }, "max_message_length": 2000, "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": false, "supports_video_outbound": false, "mention": false, "command": false, "directory": true, "doctor": true, "whitelist": true, "wizard": true, "tools": false, "status": true, "probeable": true, "identity_resolver": false, "lifecycle": true, "supports_qr_login": true, "agent_collaboration": false }, "capability_requirements": [ ["supports_image_inbound", ["bridge_url", "bridge_token"]], ["supports_video_inbound", ["bridge_url", "bridge_token"]], ["directory", ["bridge_url", "bridge_token"]], ["doctor", ["bridge_url", "bridge_token"]], ["whitelist", ["bridge_url", "bridge_token"]], ["wizard", ["bridge_url", "bridge_token"]], ["status", []], ["probeable", []], ["lifecycle", []], ["supports_qr_login", ["bridge_url", "bridge_token"]] ], "resource_quota": { "max_cpu": "15.0", "max_memory": "128MB", "max_connections": 10, "max_calls_per_sec": 10 }, "accessible_ports": [ "ConfigPort", "LoggerPort", "PersistencePort", "CachePort" ], "injectable_pipelines": ["inbound", "outbound"], "config_schema": [ {"key": "bridge_url", "type": "string", "required": true, "default": null, "hot_reloadable": true, "sensitive": true, "scope": "account", "constraints": {"pattern": "^https?://"}}, {"key": "bridge_token", "type": "string", "required": true, "default": null, "hot_reloadable": true, "sensitive": true, "scope": "account", "constraints": {}}, {"key": "poll_interval_ms", "type": "integer", "required": false, "default": 2000, "hot_reloadable": true, "scope": "channel", "constraints": {"min": 1000, "max": 10000}}, {"key": "max_batch_size", "type": "integer", "required": false, "default": 50, "hot_reloadable": true, "scope": "channel", "constraints": {"min": 10, "max": 200}}, {"key": "max_message_length", "type": "integer", "required": false, "default": 2000, "hot_reloadable": true, "scope": "channel", "constraints": {"min": 500, "max": 5000}} ], "env_vars": [ {"name": "WOC_BRIDGE_URL", "description": "bridge 服务默认地址(可被 config_schema 覆盖)", "required": false, "default": "http://localhost:8088", "sensitive": false}, {"name": "WOC_POLL_INTERVAL_MS", "description": "短轮询间隔(毫秒)", "required": false, "default": "2000", "sensitive": false}, {"name": "WOC_MAX_BATCH_SIZE", "description": "单次拉取消息上限", "required": false, "default": "50", "sensitive": false}, {"name": "WOC_MAX_CALLS_PER_SEC", "description": "每秒调用上限", "required": false, "default": "10", "sensitive": false}, {"name": "WOC_HTTP_TIMEOUT_MS", "description": "HTTP 客户端超时(毫秒)", "required": false, "default": "30000", "sensitive": false} ] }