| # SSHOUT集成模块 |
| """ |
| SSHOUT聊天室集成支持 |
| 支持两种连接模式: |
| - SSH模式: 基于SSH连接的传统模式 |
| - API模式: 基于SSHOUT API二进制协议的高级模式 |
| """ |
| |
| from .integration import SSHOUTIntegration, SSHOUTConnection, SSHOUTMessage |
| from .api_client import SSHOUTApiClient, SSHOUTApiIntegration, SSHOUTMessage as ApiSSHOUTMessage |
| |
| __all__ = [ |
| 'SSHOUTIntegration', |
| 'SSHOUTConnection', |
| 'SSHOUTMessage', |
| 'SSHOUTApiClient', |
| 'SSHOUTApiIntegration', |
| 'ApiSSHOUTMessage', |
| 'create_sshout_integration' |
| ] |
| |
| def create_sshout_integration(agent_core, config_name: str = None): |
| """ |
| 创建SSHOUT集成实例 |
| 根据配置自动选择SSH模式或API模式 |
| """ |
| from ..utils.config import get_config_manager |
| |
| config_manager = get_config_manager(config_name) |
| sshout_config = config_manager.get_sshout_config() |
| |
| # 从配置获取连接模式,默认为API模式 |
| connection_mode = sshout_config.get('connection_mode', 'api') |
| |
| if connection_mode == 'api': |
| return SSHOUTApiIntegration(agent_core, config_name) |
| elif connection_mode == 'ssh': |
| return SSHOUTIntegration(agent_core, config_name) |
| else: |
| raise ValueError(f"不支持的SSHOUT连接模式: {connection_mode}") |