diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 8d66599e..6009d221 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -11,6 +11,8 @@
+
+
diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt
index 4af72069..fc9750d2 100644
--- a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt
+++ b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/ReplyDispatcher.kt
@@ -1,11 +1,11 @@
package work.slhaf.partner.module.communication
import kotlinx.coroutines.*
+import work.slhaf.partner.api.InteractionEvent.EventStatus
+import work.slhaf.partner.api.ReplyEvent
import work.slhaf.partner.framework.agent.exception.AgentRuntimeException
import work.slhaf.partner.framework.agent.exception.ExceptionReporterHandler
import work.slhaf.partner.framework.agent.interaction.AgentRuntime
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent.EventStatus
-import work.slhaf.partner.framework.agent.interaction.data.ReplyEvent
import work.slhaf.partner.framework.agent.model.StreamChatMessageConsumer
import kotlin.time.Duration.Companion.milliseconds
diff --git a/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java b/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java
index 237fd88d..bd5bb5f2 100644
--- a/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java
+++ b/Partner-Core/src/main/java/work/slhaf/partner/runtime/gateway/WebSocketGateway.java
@@ -9,9 +9,9 @@ import org.java_websocket.framing.Framedata;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import org.jetbrains.annotations.NotNull;
+import work.slhaf.partner.api.InputData;
+import work.slhaf.partner.api.InteractionEvent;
import work.slhaf.partner.framework.agent.interaction.AgentGateway;
-import work.slhaf.partner.framework.agent.interaction.data.InputData;
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent;
import work.slhaf.partner.runtime.PartnerRunningFlowContext;
import java.net.InetSocketAddress;
diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java
index aa2a7cb1..a484ba29 100644
--- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java
+++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/gateway/OnebotGateway.java
@@ -7,10 +7,10 @@ import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import org.jetbrains.annotations.NotNull;
+import work.slhaf.partner.api.InputData;
+import work.slhaf.partner.api.InteractionEvent;
import work.slhaf.partner.external.onebot.v11.*;
import work.slhaf.partner.framework.agent.interaction.AgentGateway;
-import work.slhaf.partner.framework.agent.interaction.data.InputData;
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent;
import work.slhaf.partner.runtime.PartnerRunningFlowContext;
import java.net.InetSocketAddress;
diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt
index 65348b30..b1c5a958 100644
--- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt
+++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11EventCodec.kt
@@ -2,7 +2,7 @@ package work.slhaf.partner.external.onebot.v11
import com.alibaba.fastjson2.JSONArray
import com.alibaba.fastjson2.JSONObject
-import work.slhaf.partner.framework.agent.interaction.data.InputData
+import work.slhaf.partner.api.InputData
object OneBotV11EventCodec {
diff --git a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt
index bf9798e3..51616ad0 100644
--- a/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt
+++ b/Partner-External-Modules/Partner-Onebot-Adapter/src/main/java/work/slhaf/partner/external/onebot/v11/OneBotV11ResponseDispatcher.kt
@@ -1,9 +1,9 @@
package work.slhaf.partner.external.onebot.v11
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent
-import work.slhaf.partner.framework.agent.interaction.data.ModuleEvent
-import work.slhaf.partner.framework.agent.interaction.data.ReplyEvent
-import work.slhaf.partner.framework.agent.interaction.data.SystemEvent
+import work.slhaf.partner.api.InteractionEvent
+import work.slhaf.partner.api.ModuleEvent
+import work.slhaf.partner.api.ReplyEvent
+import work.slhaf.partner.api.SystemEvent
import java.util.concurrent.ConcurrentHashMap
/**
diff --git a/Partner-Framework/pom.xml b/Partner-Framework/pom.xml
index b08d9aac..d7eed5ec 100644
--- a/Partner-Framework/pom.xml
+++ b/Partner-Framework/pom.xml
@@ -83,6 +83,11 @@
openai-java
4.26.0
+
+ work.slhaf.partner
+ partner-interaction-api
+ 0.5.0
+
diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java
index bc681bf7..77439032 100644
--- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java
+++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentGateway.java
@@ -1,6 +1,6 @@
package work.slhaf.partner.framework.agent.interaction;
-import work.slhaf.partner.framework.agent.interaction.data.InputData;
+import work.slhaf.partner.api.InputData;
import work.slhaf.partner.framework.agent.interaction.flow.RunningFlowContext;
public interface AgentGateway extends ResponseChannel, AutoCloseable {
diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt
index 627246cf..17558b67 100644
--- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt
+++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/AgentRuntime.kt
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject
import com.alibaba.fastjson2.annotation.JSONField
import kotlinx.coroutines.*
import kotlinx.coroutines.channels.Channel
+import work.slhaf.partner.api.InteractionEvent
import work.slhaf.partner.framework.agent.config.Config
import work.slhaf.partner.framework.agent.config.ConfigDoc
import work.slhaf.partner.framework.agent.config.ConfigRegistration
@@ -12,7 +13,6 @@ import work.slhaf.partner.framework.agent.exception.ExceptionReporterHandler
import work.slhaf.partner.framework.agent.factory.component.abstracts.AbstractAgentModule
import work.slhaf.partner.framework.agent.factory.context.AgentContext
import work.slhaf.partner.framework.agent.factory.context.ModuleContextData
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent
import work.slhaf.partner.framework.agent.interaction.flow.RunningFlowContext
import work.slhaf.partner.framework.agent.support.Result
import java.nio.file.Path
diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt
index e4623724..b8362849 100644
--- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt
+++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/ResponseChannel.kt
@@ -2,7 +2,7 @@ package work.slhaf.partner.framework.agent.interaction
import com.alibaba.fastjson2.JSONObject
import org.slf4j.LoggerFactory
-import work.slhaf.partner.framework.agent.interaction.data.InteractionEvent
+import work.slhaf.partner.api.InteractionEvent
interface ResponseChannel {
diff --git a/Partner-Interaction-Api/pom.xml b/Partner-Interaction-Api/pom.xml
new file mode 100644
index 00000000..3ac7f1c6
--- /dev/null
+++ b/Partner-Interaction-Api/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ work.slhaf.partner
+ partner
+ 0.5.0
+
+
+ partner-interaction-api
+
+
+ 21
+ 21
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt
similarity index 81%
rename from Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt
rename to Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt
index 155eeb61..117cda35 100644
--- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InputData.kt
+++ b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InputData.kt
@@ -1,4 +1,4 @@
-package work.slhaf.partner.framework.agent.interaction.data
+package work.slhaf.partner.api
open class InputData(
val source: String,
diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt
similarity index 96%
rename from Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt
rename to Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt
index 9b69a34d..6f49f8f1 100644
--- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/interaction/data/InteractionEvent.kt
+++ b/Partner-Interaction-Api/src/main/java/work/slhaf/partner/api/InteractionEvent.kt
@@ -1,4 +1,4 @@
-package work.slhaf.partner.framework.agent.interaction.data
+package work.slhaf.partner.api
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
diff --git a/pom.xml b/pom.xml
index b86e8b16..6a0fa7c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,8 +9,9 @@
pom
- Partner-Core
+ Partner-Interaction-Api
Partner-Framework
+ Partner-Core
Partner-External-Modules
PartnerCtl