@@ -232,6 +232,7 @@ class ChatProvider extends ChangeNotifier {
232232 /// 创建新会话
233233 Future <void > createNewSession ({String ? parentId, String ? title}) async {
234234 final projectId = projectProvider.currentProjectId;
235+ final directory = projectProvider.currentProject? .path;
235236 _setState (ChatState .loading);
236237
237238 // 生成基于时间的标题
@@ -245,6 +246,7 @@ class ChatProvider extends ChangeNotifier {
245246 parentId: parentId,
246247 title: defaultTitle,
247248 ),
249+ directory: directory,
248250 ),
249251 );
250252
@@ -300,13 +302,14 @@ class ChatProvider extends ChangeNotifier {
300302
301303 /// 加载消息列表
302304 Future <void > loadMessages (String sessionId) async {
303- if (_currentProjectId == null ) return ; // 确保有项目ID
304-
305+ // 同步项目ID(根据 ProjectProvider),新接口对 projectId 非必需
306+ _currentProjectId = projectProvider.currentProjectId;
307+
305308 _setState (ChatState .loading);
306309
307310 final result = await getChatMessages (
308311 GetChatMessagesParams (
309- projectId: _currentProjectId ! ,
312+ projectId: projectProvider.currentProjectId ,
310313 sessionId: sessionId,
311314 ),
312315 );
@@ -323,6 +326,9 @@ class ChatProvider extends ChangeNotifier {
323326
324327 _setState (ChatState .sending);
325328
329+ // 同步项目ID(根据 ProjectProvider)
330+ _currentProjectId = projectProvider.currentProjectId;
331+
326332 // 生成消息 ID
327333 final messageId = 'msg_${DateTime .now ().millisecondsSinceEpoch }' ;
328334
@@ -368,7 +374,7 @@ class ChatProvider extends ChangeNotifier {
368374 _messageSubscription =
369375 sendChatMessage (
370376 SendChatMessageParams (
371- projectId: _currentProjectId ! ,
377+ projectId: projectProvider.currentProjectId ,
372378 sessionId: _currentSession! .id,
373379 input: input,
374380 ),
@@ -447,11 +453,12 @@ class ChatProvider extends ChangeNotifier {
447453
448454 /// 删除会话
449455 Future <void > deleteSession (String sessionId) async {
450- if (_currentProjectId == null ) return ; // 确保有项目ID
451-
456+ // 同步项目ID(根据 ProjectProvider)
457+ _currentProjectId = projectProvider.currentProjectId;
458+
452459 final result = await deleteChatSession (
453460 DeleteChatSessionParams (
454- projectId: _currentProjectId ! ,
461+ projectId: projectProvider.currentProjectId ,
455462 sessionId: sessionId,
456463 ),
457464 );
0 commit comments