11package com .xiaozhi .communication .common ;
22
3- import com .xiaozhi .dialogue . iot .IotDescriptor ;
3+ import com .xiaozhi .communication . domain .IotDescriptor ;
44import com .xiaozhi .dialogue .llm .tool .ToolsSessionHolder ;
55import com .xiaozhi .entity .SysDevice ;
66import com .xiaozhi .entity .SysRole ;
7+ import com .xiaozhi .enums .ListenMode ;
8+ import lombok .Data ;
79import org .springframework .ai .chat .memory .ChatMemory ;
810import org .springframework .ai .chat .messages .Message ;
911import org .springframework .ai .tool .ToolCallback ;
1517import java .util .Map ;
1618import java .util .concurrent .ConcurrentHashMap ;
1719
20+ @ Data
1821public abstract class ChatSession {
1922 /**
2023 * 当前会话的sessionId
@@ -52,7 +55,7 @@ public abstract class ChatSession {
5255 /**
5356 * 设备状态(auto, realTime)
5457 */
55- protected String mode ;
58+ protected ListenMode mode ;
5659 /**
5760 * 会话的音频数据流
5861 */
@@ -109,37 +112,6 @@ public String getAssistantAudioPath() {
109112 return dialogueId == null ? "" : (String ) getAttribute ("assistantAudioPath_" + dialogueId );
110113 }
111114
112- public String getSessionId () {
113- return sessionId ;
114- }
115-
116- public void setSessionId (String sessionId ) {
117- this .sessionId = sessionId ;
118- }
119-
120- public SysDevice getSysDevice () {
121- return sysDevice ;
122- }
123-
124- public void setSysDevice (SysDevice sysDevice ) {
125- this .sysDevice = sysDevice ;
126- }
127-
128- public List <SysRole > getSysRoleList () {
129- return sysRoleList ;
130- }
131-
132- public void setSysRoleList (List <SysRole > sysRoleList ) {
133- this .sysRoleList = sysRoleList ;
134- }
135-
136- public Map <String , IotDescriptor > getIotDescriptors () {
137- return iotDescriptors ;
138- }
139-
140- public void setIotDescriptors (Map <String , IotDescriptor > iotDescriptors ) {
141- this .iotDescriptors = iotDescriptors ;
142- }
143115
144116 public ToolsSessionHolder getFunctionSessionHolder () {
145117 return toolsSessionHolder ;
@@ -153,70 +125,6 @@ public List<ToolCallback> getToolCallbacks() {
153125 return toolsSessionHolder .getAllFunction ();
154126 }
155127
156- public boolean isCloseAfterChat () {
157- return closeAfterChat ;
158- }
159-
160- public void setCloseAfterChat (boolean closeAfterChat ) {
161- this .closeAfterChat = closeAfterChat ;
162- }
163-
164- public boolean isMusicPlaying () {
165- return musicPlaying ;
166- }
167-
168- public void setMusicPlaying (boolean musicPlaying ) {
169- this .musicPlaying = musicPlaying ;
170- }
171-
172- public boolean isPlaying () {
173- return playing ;
174- }
175-
176- public void setPlaying (boolean playing ) {
177- this .playing = playing ;
178- }
179-
180- public String getMode () {
181- return mode ;
182- }
183-
184- public void setMode (String mode ) {
185- this .mode = mode ;
186- }
187-
188- public Sinks .Many <byte []> getAudioSinks () {
189- return audioSinks ;
190- }
191-
192- public void setAudioSinks (Sinks .Many <byte []> audioSinks ) {
193- this .audioSinks = audioSinks ;
194- }
195-
196- public boolean isStreamingState () {
197- return streamingState ;
198- }
199-
200- public void setStreamingState (boolean streamingState ) {
201- this .streamingState = streamingState ;
202- }
203-
204- public Instant getLastActivityTime () {
205- return lastActivityTime ;
206- }
207-
208- public void setLastActivityTime (Instant lastActivityTime ) {
209- this .lastActivityTime = lastActivityTime ;
210- }
211-
212- public ChatMemory getChatMemory () {
213- return chatMemory ;
214- }
215-
216- public void setChatMemory (ChatMemory chatMemory ) {
217- this .chatMemory = chatMemory ;
218- }
219-
220128 public void clearMemory () {
221129 chatMemory .clear (sessionId );
222130 }
0 commit comments