diff --git a/CoreAgent.Infrastructure/CoreAgent.Infrastructure.csproj b/CoreAgent.Infrastructure/CoreAgent.Infrastructure.csproj
index 1b1ac1a..c736f9a 100644
--- a/CoreAgent.Infrastructure/CoreAgent.Infrastructure.csproj
+++ b/CoreAgent.Infrastructure/CoreAgent.Infrastructure.csproj
@@ -25,6 +25,8 @@
+
+
diff --git a/CoreAgent.Infrastructure/Services/Network/NetworkProtocolLogObserver.cs b/CoreAgent.Infrastructure/Services/Network/NetworkProtocolLogObserver.cs
new file mode 100644
index 0000000..2bb5c2b
--- /dev/null
+++ b/CoreAgent.Infrastructure/Services/Network/NetworkProtocolLogObserver.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using CoreAgent.ProtocolClient.Models;
+using CoreAgent.ProtocolClient.ProtocolEngineCore;
+using CoreAgent.WebSocketTransport.Interfaces;
+using Microsoft.Extensions.Logging;
+
+namespace CoreAgent.Infrastructure.Services.Network
+{
+ public class NetworkProtocolLogObserver : IProtocolLogObserver
+ {
+ private readonly ILogger _logger;
+ private readonly IMessageChannelManager _ChannelManager;
+ public NetworkProtocolLogObserver(ILogger logger, IMessageChannelManager channelManager)
+ {
+ this._logger = logger;
+ this._ChannelManager = channelManager;
+ }
+ public void OnProtocolLogsReceived(IEnumerable logDetails)
+ {
+ _ChannelManager.SendChannel.TryWrite(logDetails);
+ }
+ }
+}
diff --git a/CoreAgent.Infrastructure/Services/Network/ProtocolClientConfigFactory.cs b/CoreAgent.Infrastructure/Services/Network/ProtocolClientConfigFactory.cs
new file mode 100644
index 0000000..dcd8070
--- /dev/null
+++ b/CoreAgent.Infrastructure/Services/Network/ProtocolClientConfigFactory.cs
@@ -0,0 +1,59 @@
+using CoreAgent.ProtocolClient.Models;
+using Microsoft.Extensions.Logging;
+
+namespace CoreAgent.Infrastructure.Services.Network
+{
+ ///
+ /// 协议客户端配置工厂
+ /// 负责从其他实体组装ProtocolClientConfig
+ ///
+ public class ProtocolClientConfigFactory
+ {
+ private readonly ILogger _logger;
+ private readonly List _configs;
+
+ public ProtocolClientConfigFactory(ILogger logger)
+ {
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
+ _configs = new List();
+ }
+
+ ///
+ /// 从多个实体创建协议客户端配置数组
+ ///
+ /// 实体列表
+ /// 协议客户端配置数组
+ public ProtocolClientConfig[] CreateFromEntities(IEnumerable